diff options
author | Marius <mariausol@gmail.com> | 2012-10-19 01:20:13 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2012-10-19 01:20:13 +0300 |
commit | 69d2352af4b60929b37fc49f3bdb263977016244 (patch) | |
tree | db5eb11398e345dfa23b4c4500fb93575d2afb7c /tex/context/base/page-sid.mkiv | |
parent | c18f7cbe51449a611ea1819fedd9a4ff18529b7d (diff) | |
download | context-69d2352af4b60929b37fc49f3bdb263977016244.tar.gz |
stable 2012.05.30 11:26
Diffstat (limited to 'tex/context/base/page-sid.mkiv')
-rw-r--r-- | tex/context/base/page-sid.mkiv | 60 |
1 files changed, 43 insertions, 17 deletions
diff --git a/tex/context/base/page-sid.mkiv b/tex/context/base/page-sid.mkiv index f7a2357bf..f4d42a41c 100644 --- a/tex/context/base/page-sid.mkiv +++ b/tex/context/base/page-sid.mkiv @@ -68,8 +68,29 @@ \newdimen \d_page_sides_bottomskip \newdimen \d_page_sides_downshift -\setnewconstant \c_page_sides_method \plusone % 0=raw 1=safe (.99) 2=tight (-1pt) \setnewconstant \c_page_sides_align \zerocount +\setnewconstant \c_page_sides_method \plusone % 0=raw 1=safe (.99) 2=tight (-1pt) + +% begin of public variables, this will change +% +% we need a setter and resetter .. or maybe a \placesidefloat[settings] to +% keep variables separated + +\let\sidefloatshift \d_page_sides_shift +\let\sidefloatextrashift\d_page_sides_extrashift +\let\sidefloatleftshift \d_page_sided_leftshift +\let\sidefloatrightshift\d_page_sided_rightshift +\let\sidefloatleftskip \d_page_sides_leftskip +\let\sidefloatrightskip \d_page_sides_rightskip +\let\sidefloatmaximum \d_page_sides_maximum +\let\sidefloattopskip \d_page_sides_topskip +\let\sidefloatbottomskip\d_page_sides_bottomskip +\let\sidefloatdownshift \d_page_sides_downshift + +\let\sidefloatsidelines \c_page_sides_n_of_lines + +\let\sidefloatalign \c_page_sides_align +\let\sidefloatmethod \c_page_sides_method \def\page_sides_process_float_backspace {\global\c_page_sides_float_type\plusone \page_sides_handle_float} \def\page_sides_process_float_leftedge {\global\c_page_sides_float_type\plustwo \page_sides_handle_float} @@ -83,12 +104,13 @@ \let\logsidefloat \relax +\newif\ifroomforfloat % shared (will change) \newif\iftracesidefloats % public (might change) % end of public variables \def\page_sides_insert_info - {\page_floats_report_total} + {\doinsertfloatinfo} \def\page_sides_apply_horizontal_shift {\ifdim\d_page_sides_maximum>\zeropoint @@ -189,8 +211,8 @@ +\compensatedinnermakeupmargin \relax \fi - \ifdim\d_page_sides_rightskip>\zeropoint \global\advance\d_page_sides_rightskip\rightskip \fi - \ifdim\d_page_sides_leftskip >\zeropoint \global\advance\d_page_sides_leftskip \leftskip \fi} + \ifdim\d_page_sides_rightskip>\zeropoint \doglobal\advance\d_page_sides_rightskip\rightskip \fi + \ifdim\d_page_sides_leftskip >\zeropoint \doglobal\advance\d_page_sides_leftskip \leftskip \fi} \def\page_sides_flush_floats {\par @@ -210,7 +232,10 @@ \doloop {\strut \iftracesidefloats - \color[darkgray]{\ruledhbox{\strut\kern\d_page_sides_width}}% + \color[darkgray]% + {\baselinerulefalse + \boxrulewidth.5\points + \ruledhbox{\strut\kern\d_page_sides_width}}% \fi \par \ifdim\dimexpr\d_page_sides_vsize-\pagetotal\relax>\zeropoint @@ -305,9 +330,7 @@ \ifdim\wd\b_page_sides_bottom<\d_page_sides_hsize \parskip\zeropoint %\noindent - \ifinner\else - \vadjust{\penalty\minusone}% - \fi + \ifinner\else\vadjust{\penalty\minusone}\fi \ifconditional\c_page_sides_l_eq \global\setfalse\c_page_sides_l_eq \else @@ -398,7 +421,7 @@ \else \kern\d_page_sides_shift \fi - \vbox{#1\ifnum\c_page_sides_align=\plusfour \removedepth \fi}% + \vbox{#1\ifnum\c_page_sides_align=\plusfour \removedepth\fi}% \ifnum\c_page_sides_float_type>\plusfour \kern\d_page_sides_shift \else @@ -512,7 +535,7 @@ \def\page_sides_push_float_inline#1% {\begingroup - \reseteverypar % needed ! + \everypar\emptytoks % needed ! \parskip\zeropoint % needed ! \page_sides_set_skips \page_sides_insert_info @@ -556,7 +579,7 @@ \else\ifnum\c_page_sides_float_type>\plusfive \global\d_page_sides_width\zeropoint \else - \global\d_page_sides_width\dimexpr\wd\floatbox+\d_strc_floats_margin\relax + \global\d_page_sides_width\dimexpr\wd\floatbox+\floatsideskip\relax \fi\fi \ifdim\d_page_sides_width<\zeropoint \global\d_page_sides_width\zeropoint @@ -578,7 +601,7 @@ \fi \relax % really needed ! ! ! ! \ifdim\dimen0>\dimen2 - \global\setfalse\c_page_floats_room + \global\roomforfloatfalse \else \ifdim\dimexpr\pagegoal-\d_page_sides_vsize\relax<\d_page_sides_bottomskip \global\advance\d_page_sides_vsize \dimen0 @@ -589,15 +612,15 @@ \global\advance\d_page_sides_vsize \d_page_sides_bottomskip \global\setfalse\c_page_sides_short \fi - \global\settrue\c_page_floats_room + \global\roomforfloattrue \fi} \def\page_sides_prepare_space {\par \whitespace \begingroup + \everypar\emptytoks \forgetall - \reseteverypar \verticalstrut \vskip-\struttotal \endgroup} @@ -610,7 +633,7 @@ \page_sides_relocate_float{#1}% \page_sides_apply_vertical_shift \page_sides_analyse_space - \ifconditional\c_page_floats_room \else + \ifroomforfloat \else \page_otr_fill_and_eject_page \page_sides_analyse_space \page_sides_inject_dummy_lines @@ -630,6 +653,9 @@ \let\page_sides_check_floats\page_sides_check_floats_indeed +\def\iffirstsidefloatparagraph + {\ifcase\c_page_sides_checks_done\or} + \unexpanded\def\page_sides_check_floats_set {\scratchdimen\dimexpr\d_page_sides_progress+\strutht-\roundingeps\relax \c_page_sides_n_of_hang\scratchdimen @@ -678,7 +704,7 @@ \iftracesidefloats \hskip-\d_page_sides_width % kern \color[darkgray]% - {\vrule\s!height.5\points\s!depth.5\points\s!width\d_page_sides_width + {\vrule\!!height.5\points\!!depth.5\points\!!width\d_page_sides_width \llap{\showstruts\strut\kern.25\bodyfontsize}}% \fi} @@ -762,7 +788,7 @@ % some will become obsolete \def\checksidefloat {\page_sides_check_floats} -\def\flushsidefloats {\page_sides_flush_floats} +%def\flushsidefloats {\page_sides_flush_floats} \def\flushsidefloatsafterpar{\page_sides_flush_floats_after_par} %def\forgetsidefloats {\page_sides_forget_floats} %def\synchronizesidefloats {\page_sides_synchronize_floats} |