summaryrefslogtreecommitdiff
path: root/tex/context/base/cont-new.mkiv
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2014-10-08 23:31:00 +0530
committerHans Hagen <pragma@wxs.nl>2014-10-08 23:31:00 +0530
commitddf0f923b0fc9037db6368cd1b47786b01f7cbd7 (patch)
tree9239fd7531b1cc382aec68be2e102508b04f4f4d /tex/context/base/cont-new.mkiv
parent45cca8b255d3a5816230095ad0395a6d1dc2cdba (diff)
downloadcontext-ddf0f923b0fc9037db6368cd1b47786b01f7cbd7.tar.gz
beta 2014.10.08 23:31
Diffstat (limited to 'tex/context/base/cont-new.mkiv')
-rw-r--r--tex/context/base/cont-new.mkiv78
1 files changed, 52 insertions, 26 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index bd70f3566..5730e9d36 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2014.10.08 16:51}
+\newcontextversion{2014.10.08 23:31}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
@@ -32,33 +32,59 @@
% \inheritmaintextcolor
% \to \everymargindatacontent
-% This is experimental; if this changes we need to adapt the mb-mp
-% style too. It's not in the core yet.
-
-% \def\ActionY{\blank\analyzenofparlines{\inleftmargin{\analyzednofparlines}}}
-% \def\ActionN{\analyzenofparlines{\inleftmargin{\analyzednofparlines}}}
+% This is experimental; if this changes we need to adapt the mb-mp style too. It's
+% not in the core yet.
%
-% \saveparnumber\ifnum\nofparlines<2 \ActionY\else\ActionN\fi 1.1 nop \crlf
-% 1.2 nop \par
-% \saveparnumber\ifnum\nofparlines<2 \ActionY\else\ActionN\fi 2.1 nop \par
-% \saveparnumber\ifnum\nofparlines<2 \ActionY\else\ActionN\fi 3.1 yes \crlf
-% 3.2 nop \crlf
-% 3.3 nop \par
-% \saveparnumber\ifnum\nofparlines<2 \ActionY\else\ActionN\fi 4.1 nop \crlf
-% 4.2 nop \par
-% \saveparnumber\ifnum\nofparlines<2 \ActionY\else\ActionN\fi 5.1 nop \par
-% \saveparnumber\ifnum\nofparlines<2 \ActionY\else\ActionN\fi 6.1 yes \par
+% \def\ActionY{\blank\inleftmargin{\shownofparlines}}
+% \def\ActionN{\inleftmargin{\shownofparlines}}
%
-% \saveparnumber\doifelselessparlines {2}\ActionY\ActionN 1.1 nop \crlf
-% 1.2 nop \par
-% \saveparnumber\doifelselessparlines {2}\ActionY\ActionN 2.1 nop \par
-% \saveparnumber\doifelselessparlines {2}\ActionY\ActionN 3.1 yes \crlf
-% 3.2 nop \crlf
-% 3.3 nop \par
-% \saveparnumber\doifelselessparlines {2}\ActionY\ActionN 4.1 nop \crlf
-% 4.2 nop \par
-% \saveparnumber\doifelselessparlines {2}\ActionY\ActionN 5.1 nop \par
-% \saveparnumber\doifelselessparlines {2}\ActionY\ActionN 6.1 yes \par
+% \saveparnumber
+% ...
+% \checknofparlines
+% \ifnum\nofparlines<2
+% \ActionY
+% \else
+% \ActionN
+% \fi
+% ...
+
+\newcount\c_typo_par_current
+\newcount\c_typo_par_saved
+\newcount\c_typo_par_lines
+\newcount\c_typo_par_temp
+
+\appendtoks
+ \advance\c_typo_par_current\plusone % local
+ %\llap{\infofont[\the\c_typo_par_saved:\the\c_typo_par_current]\quad}%
+\to \everypar
+
+\unexpanded\def\saveparnumber % the upcoming number
+ {\c_typo_par_saved\c_typo_par_current} % local
+
+\def\savedparnumber {\number\c_typo_par_saved}
+\def\currentparnumber{\number\c_typo_par_current}
+\def\nofparlines {\number\c_typo_par_lines}
+
+\unexpanded\def\shownofparlines
+ {\dontleavehmode\hbox\bgroup
+ \infofont[\savedparstate]%
+ \egroup}
+
+\unexpanded\def\checknofparlines
+ {\c_typo_par_temp\numexpr\c_typo_par_saved+\plusone\relax
+ \ifhmode
+ \c_typo_par_lines\zerocount
+ \edef\savedparstate{\number\c_typo_par_temp:\number\c_typo_par_current\space-}%
+ \else\ifnum\c_typo_par_current=\c_typo_par_temp
+ \c_typo_par_lines\prevgraf
+ \edef\savedparstate{\number\c_typo_par_temp:\number\c_typo_par_current\space\number\prevgraf}%
+ \else\ifnum\c_typo_par_temp>\c_typo_par_current
+ \c_typo_par_lines\zerocount
+ \edef\savedparstate{\number\c_typo_par_temp:\number\c_typo_par_current\space-}%
+ \else
+ \c_typo_par_lines\maxdimen
+ \edef\savedparstate{\number\c_typo_par_temp:\number\c_typo_par_current\space+}%
+ \fi\fi\fi}
%D Maybe: