diff options
author | Karl Berry <karl@freefriends.org> | 2024-01-03 21:18:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-01-03 21:18:51 +0000 |
commit | 1e7f7766f2fd93956c4b9bbb7c91ea1f682cef47 (patch) | |
tree | 547c621d1f24f92f9f003cbfe9e4508d44111bba /Master/texmf-dist/doc/generic/memoize/memoize-code.sty | |
parent | 9fe5b3b4175b31a43a984d069b3aaae580e130a7 (diff) |
memoize (3jan24)
git-svn-id: svn://tug.org/texlive/trunk@69285 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/memoize/memoize-code.sty')
-rw-r--r-- | Master/texmf-dist/doc/generic/memoize/memoize-code.sty | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/Master/texmf-dist/doc/generic/memoize/memoize-code.sty b/Master/texmf-dist/doc/generic/memoize/memoize-code.sty index 30d48f364c2..c7bddde08b9 100644 --- a/Master/texmf-dist/doc/generic/memoize/memoize-code.sty +++ b/Master/texmf-dist/doc/generic/memoize/memoize-code.sty @@ -23,7 +23,8 @@ \RequirePackage{memoize-doc-common} % Typesetting the code & indentation -\MacroIndent=0pt +%\MacroIndent=0pt +\AddToHook{begindocument}{\MacroIndent=0pt } \MacroTopsep = 0pt \MacrocodeTopsep = 7pt plus 2pt minus 2pt \AddToHook{env/macrocode/before}{\macrocodepar}% @@ -137,22 +138,33 @@ \newcommand\hang[2]{% \setbox0=\hbox{\MacroFont \string#2\relax}% "\relax" is short enough to never trigger a hanging indent \ifdim\wd0>\dimexpr\marginparwidth\relax - \hangindent\dimexpr\wd0-\marginparwidth\relax + \hangindent\dimexpr\wd0-\marginparwidth+\hang@next@extra\relax \hangafter-#1\relax + \gdef\hang@next@extra{0pt}% \AddToHookNext{env/macrocode/before}{\par\nohang}% \AddToHookNext{para/after}{\aftergroup\nohang}% \fi \ignorespaces } -\newcommand\nohang{\hangindent 0pt\relax} -\newcommand\indentmacrocode{% - \settowidth\MacroIndent{\theCodelineNo\ }% - \addtolength\MacroIndent{\hangindent}% +\def\AdjustNextHang#1{\gdef\hang@next@extra{#1}\ignorespaces} +\gdef\hang@next@extra{0pt} +\newcommand\nohang{% + \hangindent 0pt\relax + \gdef\hang@next@extra{0pt}% +} +\newcommand\indentmacrocode[1][0pt]{% + \settowidth\@tempdima{\reset@font\scriptsize\arabic{CodelineNo}\ }% + \setlength\ExtraMacroIndent{#1}% + \addtolength\MacroIndent{\dimexpr\hangindent+\@tempdima+\ExtraMacroIndent}% } +\newdimen\ExtraMacroIndent \newcommand\noindentmacrocode{% \setlength\MacroIndent{0em}% \AddToHookNext{env/macrocode/begin}{\MacrocodeTopsep 0pt\relax}% } +\def\theCodelineNo{% + \reset@font\scriptsize\textcolor{gray}{\arabic{CodelineNo}}% + \hspace*{\dimexpr\leftskip-\MacroIndent+\ExtraMacroIndent}}% % and now ... autohang! % (the macros should be listed without spaces after commas) @@ -165,6 +177,7 @@ advice=\macro{hang}, advice=\autokey{hang}, advice=\mmzautokey{hang}, + advice=\advicekey{hang}, advice=\collargskey{hang}, advice=\handlerskey{hang}, advice=\adviceinstallkey{hang}, @@ -204,7 +217,7 @@ \def\doline{% \expandafter\futurelet\expandafter\firsttoken\expandafter\dolinei\line\fi} \def\dolinei{\ifx\firsttoken\newlabel}% -\openin0=memoize.aux +\openin0=memoize-doc.aux \loop \unless\ifeof0 \read0 to \line |