diff options
Diffstat (limited to 'macros/lollipop/tex/lollipop-document.tex')
-rw-r--r-- | macros/lollipop/tex/lollipop-document.tex | 381 |
1 files changed, 0 insertions, 381 deletions
diff --git a/macros/lollipop/tex/lollipop-document.tex b/macros/lollipop/tex/lollipop-document.tex deleted file mode 100644 index e643cfcab0..0000000000 --- a/macros/lollipop/tex/lollipop-document.tex +++ /dev/null @@ -1,381 +0,0 @@ -% lollipop-document.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% D O C U M E N T S T R U C T U R E %%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\DefineTest:LocalReferences -\NewTrace:doc - -% Start -% open external files and execute default commands -% -\newif\if@started -\def\Start{\@startedyes \the\start@commands - \ifBasicIndentIsSet\else - \Distance:basicindent=parindent \fi - \set@level@indent} -\def\StartCommand#1{\adds@start@command{#1}} - -% End -% 1/ close any open groups and give warnings -% 2/ \vfil\eject the last page -% 3/ \immediate\close the .auxs file -% 4/ load the .aux for writing the external files -% and testing changed references -% -\let\@end=\end -\def\Stop{\Close@all@groups - \the\stop@commands - \vfil \penalty\slotpenalty - \ifnum\unknown@refs>\z@ - \message{-- There \ifnum\unknown@refs=\@ne was an \else - were \number\unknown@refs\@space\fi - unresolved reference\ifnum\unknown@refs>\@ne s\fi.}\fi - \ifnum\duplicate@labels>\z@ - \message{-- There \ifnum\duplicate@labels=\@ne was an\else - were \number\duplicate@labels\@space\fi - duplicate label\ifnum\duplicate@labels>\@ne s\fi.}\fi - \immediate@close@aux@file{aux} - \ifWriteExtern \final@load@aux \fi - \@end} -\def\StopCommand#1{\adds@stop@command{#1}} - -%%%%%%%%%%%% input other files -\newwrite\aux@file \newwrite\incaux@file -\let\ifWriteaux\iftrue -\def\aux@name{aux} \def\aux@extension{aux} -\newif\if@auxopen \newif\if@incauxopen - -% the following line is in output.tex -%\add@mark@item{first@page} - -% Input files are in a group, -% they also set the IsFirstPage test -\def\InputFile:#1 {\begingroup \def\input@name{#1} - \Tmessage[doc]{Input File: #1} - \refresh@mark@item{first@page}{yes} - \refresh@mark@item{first@page}{no} - \ifLocalReferences - \get@aux@file{#1}{incaux}{aux}\fi - \input@file{#1}% - \immediate@close@aux@file{incaux} - \Close@all@groups - \def\test@input@name{#1}\ifx\input@name\test@input@name\else - \Wmessage{Input `#1' overbalanced}\fi - \endgroup} -\def\xInputFile:#1 {\input@file{#1}} -\def\input@file#1{\input #1 \vfil\penalty\slotpenalty\par} - -\let\input@name=\@empty -\let\test@input@name=\@empty - -% Input of Lollipop files -% -\def\InputLollipop:#1 {\makeatletter\input#1\relax\makeatother} - -%%%%%%%%%%%%%%%% External Communication - -% List of files -% not including the .aux file -% -\newtoks\ext@files@list \ext@files@list={} - -% I don't want to remember my own naming conventions. -% -\def\file@ext@name#1{#1@extension} -\def\cs@file@ext@name#1{\csname#1@extension\endcsname} - -% Define External File -% #1 is name known to style definition, -% #2#3#4 is three-letter file extension in -% file system -% -% correspondence: \#1@extension = #2#3#4, \#2#3#4@name = #1 -% -% user test \Write#1 to prevent overwriting -% internal test \if@#2#3#4open -% \newwrite\#2#3#4@file -% -\def\DefineExternalFile:#1=#2#3#4#5 - {\Tmessage[doc]{Define external file `#1' (ext=#2#3#4)} - \csarg\newwrite{#2#3#4@file} - \append@to@list{ext@files@list}{\\#2#3#4; } - \csarg\newtoks{#1@local@defs}%constructed in \ExternalItem - \csarg\gdef{\file@ext@name{#1}}{#2#3#4} - \csarg\gdef{#2#3#4@name}{#1} - \DefineTest:{Write#1} - \global\csname Write#1yes\endcsname - \csarg\newif{if@#2#3#4open} - } - -%%%% Load - -% Initial load of the auxiliary file -% -\def\initial@load@aux{%\begingroup%why this group? - \disable@external@write@command - \Tmessage[doc]{Load initial aux file} - \get@aux@file{\jobname}{aux}{aux} - %\endgroup - \ifWriteExtern - \open@ext@file@for@output{\jobname}{aux}{aux} - \fi} -% A test to determine all-or-nothing writing of .aux file. -% below there is a redefinition for bibTeX -\DefineTest:WriteExtern \WriteExtern:yes -\ifini{\add@start@command{\initial@load@aux}} - -% Load of external file -% -\def\LoadExternalFile:#1 - {\if\UndefinedCS{\file@ext@name{#1}} - \Wmessage{LoadExternalFile: unknown external file `#1'} - \else \begingroup - \Tmessage[doc]{Loading external file: #1} - \WriteExtern:no %prevent trouble with undefined entries - \csarg\the{#1@local@defs} - \get@aux@file{\jobname}{\cs@file@ext@name{#1}} - {\cs@file@ext@name{#1}} - \endgroup - \fi} - -% Basic load -% -\def\get@aux@file#1#2#3{ - \csarg\openin{#2@file} #1.#3 - \csarg\ifeof{#2@file} - \message{No aux file `\csname#2@name\endcsname'} - \else \csarg\closein{#2@file} - \Tmessage[ref]{Inputting aux file <#2>: <#1.#3>} - \Tmessage[ext]{Inputting aux file <#2>: <#1.#3>} - \makeatletter \input #1.#3 \makeatother - \fi} - -% Open for output: -% initially used for the .aux file -% at the final load of the .aux file used to generate .toc -% et cetera -% -\def\open@ext@file@for@output#1#2#3{ - \csname ifWrite\csname #2@name\endcsname\endcsname - \immediate\openout\csname#2@file\endcsname=#1.#3 - \global\csname @#2openyes\endcsname - \immediate\write\csname#2@file\endcsname{\relax} - \Tmessage[doc]{File '#2' (#3) open for output} - \Tmessage[ext]{File '#2' (#3) open for output} - \else - \global\csname @#2openno\endcsname - \Tmessage[doc]{File '#2' (#3) not open for output} - \Tmessage[ext]{File '#2' (#3) not open for output} - \fi} -\def\open@external@files@for@output{ - \def\protect{\noexpand\protect\noexpand} - \def\\##1;{##1}\Tmessage[doc]{External files: \the\ext@files@list} - \def\\##1;{\open@ext@file@for@output{\jobname}{##1}{##1}} - \the\ext@files@list} - -\newif\iflabels@changed -\def\final@load@aux{\labels@changedno - \def\refer@label##1##2##3{\test@refer@label{##1}{##2}{##3}} - \open@external@files@for@output - \install@external@write@command - \Tmessage[doc]{Load aux for label testing and ext file generation} - \Tmessage[ext]{Load aux for label testing and ext file generation} - \makeatletter \input \jobname.aux - \end@write@extern - \iflabels@changed \Wmessage{Labels have changed. Rerun!} \fi - \makeatother} -\def\end@write@extern{ - \def\\##1;{\immediate@close@aux@file{##1}} - \the\ext@files@list} -\def\close@aux@file #1{\csname if@#1open\endcsname - \write\csname#1@file\endcsname{\relax} - \closeout\csname#1@file\endcsname - \Tmessage[doc]{File '#1' closed}\fi} -\def\immediate@close@aux@file#1{\csname if@#1open\endcsname - \immediate\write\csname#1@file\endcsname{\relax} - \immediate\closeout\csname#1@file\endcsname - \Tmessage[doc]{File '#1' immediately closed}\fi} - - -% Generate the extern call in the style definition -% this one is part of 'external:<file name>' -% -\def\generate@extern#1{\edef\cs@e - {\nxp\@add@toks{\nxp\@extern - {\CSname{\file@ext@name{#1}}} - {\@name} - {\ifhas@counter \CSname{\@name Counter}\fi} -%\counter@@repr{\@name} -%{\nxp\the\counter@@name{\@name}}\fi}% - }}\cs@e} - -% call: -% \@extern{extension}{object}{counter}\the\title@toks\e@extern -% to aux: -% \write@to@external{extension}{object}{counter}{page}{tekst}\ew@extern -% to .extension file: -% \object{counter}{page}tekst\par -% where \object is locally defined in the 'extension' file. -% -\def\ToExternalFile:#1=#2 - {\edef\cs@e{\nxp\x@extern{\cs@file@ext@name{#1}}}% - \cs@e{anon}{}{\\{#2}\\{}}{\\{}\\{}\\{}}\e@extern} -\def\@extern{\ifWriteExtern - \xp\x@extern \else \xp\skip@extern \fi} -\def\skip@extern#1#2#3\e@extern - {\Tmessage[ext]{Skipped `#2' for `#1'}} -\newtoks\ext@text@toks -\newtoks\ext@labl@toks -\newtoks\ext@page@toks -\begingroup\noeol\catcode`\?\catcode`\%\catcode`\%=12 -\gdef\x@extern#1#2#3#4#5\e@extern - {\begingroup\normalesc - \def\label[##1]{} - \def\protect{\noexpand\protect\noexpand} - \def\cprotect{\xp\string} - \Tmessage[ext]{Write to aux `#2' for `\csname#1@name\endcsname'} - \edef\cs@e{\write\aux@file{\string\write@to@external - {#1}{#2}{#3}}}\cs@e - \write\aux@file{ - {\counter@@repr{Page}{\csarg\number{\counter@name{Page}}}}%} - \aux@write@external{#4}{#5} - \write\aux@file{\string\ew@extern} - \endgroup} -\normaleol\endgroup - -% string a word, delimited by a space, -% first see whether it is a group, recognized by the fact -% that there is another space in it. -\def\string@um@up#1 {\string@space@group#1 \>\@bean} -\def\string@space@group#1 #2#3\@bean - {\ifx#2\> \string@word#1\@roy - \else \string{\string@um@up#1 #2#3 \string}% - \fi \@space\string@um@up} -% a word is delimited by \@roy; if the word is \> then this -% is the last word, and we should remove -% a trailing \@roy plus the \@space\string@um@up tokens after the call, -% but also parts of the conditional after the call have to be removed: -% \expandafter \take@three \expandafter \@roy \else .. \fi \@space\string@.. -% -% sick. very sick. -% -\def\string@word#1{\ifx#1\>\xp\expandafter\xp\take@three\xp\expandafter - \else \ifx#1\@roy - \else \string#1\ifcat\nxp#1\relax\@space\fi - \xp\xp\xp\string@word - \fi \fi} - -% an attempt to string up a title. -% this covers for the case where there are groups, -% but it is still quite wrong if \else or so is in the title -% -\NewDummy{@roy}\NewDummy{@bean}\NewDummy{@rope}\NewDummy{@bear} -\NewDummy{@Rope} -% Enable/Disable communication to external files -% former during initial load of .aux file, -% latter during final load of .aux file -% -\def\disable@external@write@command - {\def\write@to@external##1\ew@extern{}} -\disable@external@write@command %do this initially just to be sure -\def\install@external@write@command %grouping ok? - {\def\write@to@external##1##2##3##4##5\ew@extern - {\csname if@##1open\endcsname - \Tmessage[ext]{Write `##2' - to `\csname##1@name\endcsname'} - \ext@labl@toks{##3} - \ext@page@toks{##4} - \ext@text@toks{##5} - \immediate\write\csname##1@file\endcsname - {\CSname{##2}{\the\ext@labl@toks}% - {\the\ext@page@toks}\the\ext@text@toks - \string\par} - \else - \Tmessage[ext]{Skipped `##2' - for `\csname##1@name\endcsname'} - \fi}} - -%%%%%%%%%%%%% BibTeX interface -% we interface ourselves to the BtxMac macros -% of Karl Berry and Oren Patashnik, version 0.99h - -% prevent btxmac from rewriting *our* auxfile -% if btxmac has not been loaded this is just \relax -\adds@start@command{\csn @auxfiledonetrue\ecs} - -% alternate name for the aux write stream -\adds@start@command{\let\@auxfile\aux@file} - -% disable / alter Btxmac definitions -\def\bbl@hook{\default@everypar} -\adds@start@command{\let\bblhook\bbl@hook} - -% switch off btxmac if need be -\xp\def\xp\WriteExternno\xp - {\WriteExternno \let\noauxfile\@space} - -% if you want to read an aux file but not load btxmac: -\let\bibstyle\take@one \let\bibdata\take@one -\let\citation\take@one \let\nocite\take@one -% similarly the source: -\let\bibliography\take@one \let\bibliographystyle\take@one - -% user defined bibliography -\def\DefineBBL{\let\bbl@hook\BBL@hook \DefineList:BBL } -\def\BBL@hook - {\def\begin##1##2{\default@everypar\BBL}\def\end##1{\>}% - %intercept \begin{thebibliography}{width} - \def\bibitem{\ifNextChar[%] - \bbl@print@item\bbl@item} - \def\biblabelprint##1{} - } -\def\bbl@item#1{\item[#1]} -\def\bbl@print@item[#1]#2{\item<#1>[#2]} - -% refer to a bib item -\def\bibref[#1]{\cite{#1}}%{[\ref[#1]]\nocite{#1}} - -\def\one@bib@citation#1\@@{% this is what \bib@citation will become - \if@notfirstcitation - \printbetweencitations - \fi - % - \expandafter \ifx \csname\@citelabel{#1}\endcsname \relax - \if@citewarning - \message{\@linenumber Undefined citation `#1'.}% - \fi - % Give it a dummy definition: - \expandafter\gdef\csname\@citelabel{#1}\endcsname{% - {\tt \nobreak\hskip0pt#1\nobreak\hskip0pt}}% - \fi - \@printlabel{#1}% - \@notfirstcitationtrue -} -\def\@c@l#1{@empty} -\adds@start@command{\let\@onecitation\one@bib@citation - \let\@citelabel\@c@l} - -\endinput - -% 92/11/18 \Start extended with start@commands and \basicindent -% 92/11/20 \StopCommand added -% 92/11/21 groups removed from initial loading aux (twice) -% 92/11/26 BibTeX interface
\ No newline at end of file |