You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
491 lines
12 KiB
491 lines
12 KiB
%%
|
|
%% This is file `pdfcolparallel.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% pdfcolparallel.dtx (with options: `package')
|
|
%%
|
|
%% This is a generated file.
|
|
%%
|
|
%% Project: pdfcolparallel
|
|
%% Version: 2019/12/29 v1.5
|
|
%%
|
|
%% Copyright (C)
|
|
%% 2007, 2008, 2010 Heiko Oberdiek
|
|
%% 2016-2019 Oberdiek Package Support Group
|
|
%%
|
|
%% This work may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License, either
|
|
%% version 1.3c of this license or (at your option) any later
|
|
%% version. This version of this license is in
|
|
%% https://www.latex-project.org/lppl/lppl-1-3c.txt
|
|
%% and the latest version of this license is in
|
|
%% https://www.latex-project.org/lppl.txt
|
|
%% and version 1.3 or later is part of all distributions of
|
|
%% LaTeX version 2005/12/01 or later.
|
|
%%
|
|
%% This work has the LPPL maintenance status "maintained".
|
|
%%
|
|
%% The Current Maintainers of this work are
|
|
%% Heiko Oberdiek and the Oberdiek Package Support Group
|
|
%% https://github.com/ho-tex/oberdiek/issues
|
|
%%
|
|
%%
|
|
%% This work consists of the main source file pdfcolparallel.dtx
|
|
%% and the derived files
|
|
%% pdfcolparallel.sty, pdfcolparallel.pdf, pdfcolparallel.ins,
|
|
%% pdfcolparallel.drv, pdfcolparallel-test1.tex.
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{pdfcolparallel}%
|
|
[2019/12/29 v1.5 Color stacks support for parallel (HO)]%
|
|
\DeclareOption*{%
|
|
\PassOptionsToPackage{\CurrentOption}{parallel}%
|
|
}
|
|
\ProcessOptions\relax
|
|
\RequirePackage{parallel}[2003/04/13]
|
|
\RequirePackage{infwarerr}[2007/09/09]
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname currentgrouplevel\endcsname\relax
|
|
\def\pcp@ColorPatch{}%
|
|
\else
|
|
\def\pcp@ColorPatch{%
|
|
\@ifundefined{set@color}{%
|
|
\gdef\pcp@ColorPatch{}%
|
|
}{%
|
|
\gdef\pcp@ColorPatch{%
|
|
\gdef\pcp@ColorResets{}%
|
|
\bgroup
|
|
\aftergroup\pcp@ColorResets
|
|
\aftergroup\egroup
|
|
\let\pcp@OrgSetColor\set@color
|
|
\let\set@color\pcp@SetColor
|
|
\edef\pcp@GroupLevel{\the\currentgrouplevel}%
|
|
}%
|
|
}%
|
|
\pcp@ColorPatch
|
|
}%
|
|
\def\pcp@SetColor{%
|
|
\ifnum\pcp@GroupLevel=\currentgrouplevel
|
|
\let\pcp@OrgAfterGroup\aftergroup
|
|
\def\aftergroup{%
|
|
\g@addto@macro\pcp@ColorResets
|
|
}%
|
|
\pcp@OrgSetColor
|
|
\let\aftergroup\pcp@OrgAfterGroup
|
|
\else
|
|
\pcp@OrgSetColor
|
|
\fi
|
|
}%
|
|
\fi
|
|
\def\pcp@CmdCheckRedef#1{%
|
|
\begingroup
|
|
\def\pcp@cmd{#1}%
|
|
\afterassignment\pcp@CmdDo
|
|
\long\def\reserved@a
|
|
}
|
|
\def\pcp@CmdDo{%
|
|
\expandafter\ifx\pcp@cmd\reserved@a
|
|
\else
|
|
\edef\x*{\expandafter\string\pcp@cmd}%
|
|
\@PackageWarningNoLine{pdfcolparallel}{%
|
|
Command \x* has changed.\MessageBreak
|
|
Supported versions of package `parallel':\MessageBreak
|
|
\space\space 2003/04/13\MessageBreak
|
|
The redefinition of \x* may\MessageBreak
|
|
not behave correctly depending on the changes%
|
|
}%
|
|
\fi
|
|
\expandafter\endgroup
|
|
\expandafter\def\pcp@cmd
|
|
}
|
|
\def\pcp@SwitchStack#1#2{}
|
|
\def\pcp@SetCurrent#1{}
|
|
\pcp@CmdCheckRedef\ParallelLText{%
|
|
\everypar{}%
|
|
\@restorepar
|
|
\begingroup
|
|
\hbadness=3000 %
|
|
\let\footnote=\ParallelLFootnote
|
|
\ParallelWhichBox=0 %
|
|
\global\setbox\ParallelLBox=\vbox\bgroup
|
|
\hsize=\ParallelLWidth
|
|
\aftergroup\ParallelAfterText
|
|
\begingroup
|
|
\afterassignment\ParallelCheckOpenBrace
|
|
\let\x=%
|
|
}{%
|
|
\everypar{}%
|
|
\@restorepar
|
|
\@nobreakfalse
|
|
\begingroup
|
|
\hbadness=3000 %
|
|
\let\footnote=\ParallelLFootnote
|
|
\ParallelWhichBox=0 %
|
|
\global\setbox\ParallelLBox=\vbox\bgroup
|
|
\hsize=\ParallelLWidth
|
|
\linewidth=\ParallelLWidth
|
|
\pcp@SwitchStack{Left}\ParallelLBox
|
|
\aftergroup\ParallelAfterText
|
|
\pcp@ColorPatch
|
|
\begingroup
|
|
\afterassignment\ParallelCheckOpenBrace
|
|
\let\x=%
|
|
}
|
|
\pcp@CmdCheckRedef\ParallelRText{%
|
|
\everypar{}%
|
|
\@restorepar
|
|
\begingroup
|
|
\hbadness=3000 %
|
|
\ifnum\ParallelFNMode=\@ne
|
|
\let\footnote=\ParallelRFootnote
|
|
\else
|
|
\let\footnote=\ParallelLFootnote
|
|
\fi
|
|
\ParallelWhichBox=\@ne
|
|
\global\setbox\ParallelRBox=\vbox\bgroup
|
|
\hsize=\ParallelRWidth
|
|
\aftergroup\ParallelAfterText
|
|
\begingroup
|
|
\afterassignment\ParallelCheckOpenBrace
|
|
\let\x=%
|
|
}{%
|
|
\everypar{}%
|
|
\@restorepar
|
|
\@nobreakfalse
|
|
\begingroup
|
|
\hbadness=3000 %
|
|
\ifnum\ParallelFNMode=\@ne
|
|
\let\footnote=\ParallelRFootnote
|
|
\else
|
|
\let\footnote=\ParallelLFootnote
|
|
\fi
|
|
\ParallelWhichBox=\@ne
|
|
\global\setbox\ParallelRBox=\vbox\bgroup
|
|
\hsize=\ParallelRWidth
|
|
\linewidth=\ParallelRWidth
|
|
\pcp@SwitchStack{Right}\ParallelRBox
|
|
\aftergroup\ParallelAfterText
|
|
\pcp@ColorPatch
|
|
\begingroup
|
|
\afterassignment\ParallelCheckOpenBrace
|
|
\let\x=%
|
|
}
|
|
\pcp@CmdCheckRedef\ParallelParTwoPages{%
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\par
|
|
\begingroup
|
|
\global\ParallelWhichBox=\@ne
|
|
\newpage
|
|
\vbadness=10000 %
|
|
\vfuzz=3ex %
|
|
\splittopskip=\z@skip
|
|
\loop%
|
|
\ifnum\ParallelBoolVar=\@ne%
|
|
\ifnum\ParallelWhichBox=\@ne
|
|
\ifvoid\ParallelLBox
|
|
\mbox{} %
|
|
\newpage
|
|
\else
|
|
\global\ParallelWhichBox=\z@
|
|
\fi
|
|
\else
|
|
\ifvoid\ParallelRBox
|
|
\mbox{} %
|
|
\newpage
|
|
\else
|
|
\global\ParallelWhichBox=\@ne
|
|
\fi
|
|
\fi
|
|
\ifnum\ParallelWhichBox=\z@
|
|
\ifodd\thepage
|
|
\mbox{} %
|
|
\newpage
|
|
\fi
|
|
\hbox to\textwidth{%
|
|
\vbox{\vsplit\ParallelLBox to.98\textheight}%
|
|
}%
|
|
\else
|
|
\ifodd\thepage\relax
|
|
\else
|
|
\mbox{} %
|
|
\newpage
|
|
\fi
|
|
\hbox to\textwidth{%
|
|
\vbox{\vsplit\ParallelRBox to.98\textheight}%
|
|
}%
|
|
\fi
|
|
\vspace*{\fill}%
|
|
\newpage
|
|
\fi
|
|
\ifvoid\ParallelLBox
|
|
\ifvoid\ParallelRBox
|
|
\global\ParallelBoolVar=\z@
|
|
\fi
|
|
\fi
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\repeat
|
|
\par
|
|
\endgroup
|
|
\fi
|
|
}{%
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\par
|
|
\begingroup
|
|
\global\ParallelWhichBox=\@ne
|
|
\newpage
|
|
\vbadness=10000 %
|
|
\vfuzz=3ex %
|
|
\splittopskip=\z@skip
|
|
\loop%
|
|
\ifnum\ParallelBoolVar=\@ne%
|
|
\ifnum\ParallelWhichBox=\@ne
|
|
\ifvoid\ParallelLBox
|
|
\mbox{}%
|
|
\newpage
|
|
\else
|
|
\global\ParallelWhichBox=\z@
|
|
\fi
|
|
\else
|
|
\ifvoid\ParallelRBox
|
|
\null
|
|
\newpage
|
|
\else
|
|
\global\ParallelWhichBox=\@ne
|
|
\fi
|
|
\fi
|
|
\ifnum\ParallelWhichBox=\z@
|
|
\ifodd\value{page}%
|
|
\null
|
|
\newpage
|
|
\fi
|
|
\hbox to\textwidth{%
|
|
\pcp@SetCurrent{Left}%
|
|
\setbox\z@=\vsplit\ParallelLBox to.98\textheight
|
|
\vbox to.98\textheight{%
|
|
\@texttop
|
|
\unvbox\z@
|
|
\@textbottom
|
|
}%
|
|
}%
|
|
\else
|
|
\ifodd\value{page}%
|
|
\else
|
|
\mbox{}%
|
|
\newpage
|
|
\fi
|
|
\hbox to\textwidth{%
|
|
\pcp@SetCurrent{Right}%
|
|
\setbox\z@=\vsplit\ParallelRBox to.98\textheight
|
|
\vbox to.98\textheight{%
|
|
\@texttop
|
|
\unvbox\z@
|
|
\@textbottom
|
|
}%
|
|
}%
|
|
\fi
|
|
\vspace*{\fill}%
|
|
\newpage
|
|
\fi
|
|
\ifvoid\ParallelLBox
|
|
\ifvoid\ParallelRBox
|
|
\global\ParallelBoolVar=\z@
|
|
\fi
|
|
\fi
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\repeat
|
|
\par
|
|
\endgroup
|
|
\pcp@SetCurrent{}%
|
|
\fi
|
|
}
|
|
\RequirePackage{pdfcol}[2007/12/12]
|
|
\ifpdfcolAvailable
|
|
\else
|
|
\PackageInfo{pdfcolparallel}{%
|
|
Loading aborted, because color stacks are not available%
|
|
}%
|
|
\expandafter\endinput
|
|
\fi
|
|
\pdfcolInitStack{pcp@Left}
|
|
\pdfcolInitStack{pcp@Right}
|
|
\newbox\pcp@Box
|
|
\def\pcp@SwitchStack#1#2{%
|
|
\pdfcolSwitchStack{pcp@#1}%
|
|
\global\setbox\pcp@Box=\vbox to 0pt{%
|
|
\pdfcolSetCurrentColor
|
|
}%
|
|
\aftergroup\pcp@FixBox
|
|
\aftergroup#2%
|
|
}
|
|
\def\pcp@FixBox#1{%
|
|
\global\setbox#1=\vbox{%
|
|
\unvbox\pcp@Box
|
|
\unvbox#1%
|
|
}%
|
|
}
|
|
\def\pcp@SetCurrent#1{%
|
|
\ifx\\#1\\%
|
|
\pdfcolSetCurrent{}%
|
|
\else
|
|
\pdfcolSetCurrent{pcp@#1}%
|
|
\fi
|
|
}
|
|
\pcp@CmdCheckRedef\ParallelParOnePage{%
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\par
|
|
\begingroup
|
|
\leftmargin=\z@
|
|
\rightmargin=\z@
|
|
\parskip=\z@skip
|
|
\parindent=\z@
|
|
\vbadness=10000 %
|
|
\vfuzz=3ex %
|
|
\splittopskip=\z@skip
|
|
\loop
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\noindent
|
|
\hbox to\textwidth{%
|
|
\hskip\ParallelLeftMargin
|
|
\hbox to\ParallelTextWidth{%
|
|
\ifvoid\ParallelLBox
|
|
\hskip\ParallelLWidth
|
|
\else
|
|
\ParallelWhichBox=\z@
|
|
\vbox{%
|
|
\setbox\ParallelBoxVar
|
|
=\vsplit\ParallelLBox to\dp\strutbox
|
|
\unvbox\ParallelBoxVar
|
|
}%
|
|
\fi
|
|
\strut
|
|
\ifnum\ParallelBoolMid=\@ne
|
|
\hskip\ParallelMainMidSkip
|
|
\vrule
|
|
\else
|
|
\hss
|
|
\fi
|
|
\hss
|
|
\ifvoid\ParallelRBox
|
|
\hskip\ParallelRWidth
|
|
\else
|
|
\ParallelWhichBox=\@ne
|
|
\vbox{%
|
|
\setbox\ParallelBoxVar
|
|
=\vsplit\ParallelRBox to\dp\strutbox
|
|
\unvbox\ParallelBoxVar
|
|
}%
|
|
\fi
|
|
}%
|
|
}%
|
|
\ifvoid\ParallelLBox
|
|
\ifvoid\ParallelRBox
|
|
\global\ParallelBoolVar=\z@
|
|
\fi
|
|
\fi%
|
|
\fi%
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\penalty\interlinepenalty
|
|
\repeat
|
|
\par
|
|
\endgroup
|
|
\fi
|
|
}{%
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\par
|
|
\begingroup
|
|
\leftmargin=\z@
|
|
\rightmargin=\z@
|
|
\parskip=\z@skip
|
|
\parindent=\z@
|
|
\vbadness=10000 %
|
|
\vfuzz=3ex %
|
|
\splittopskip=\z@skip
|
|
\loop
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\noindent
|
|
\hbox to\textwidth{%
|
|
\hskip\ParallelLeftMargin
|
|
\hbox to\ParallelTextWidth{%
|
|
\ifvoid\ParallelLBox
|
|
\hskip\ParallelLWidth
|
|
\else
|
|
\pcp@SetCurrent{Left}%
|
|
\ParallelWhichBox=\z@
|
|
\vbox{%
|
|
\setbox\ParallelBoxVar
|
|
=\vsplit\ParallelLBox to\dp\strutbox
|
|
\unvbox\ParallelBoxVar
|
|
}%
|
|
\fi
|
|
\strut
|
|
\ifnum\ParallelBoolMid=\@ne
|
|
\hskip\ParallelMainMidSkip
|
|
\begingroup
|
|
\pcp@RuleBetweenColor
|
|
\vrule
|
|
\endgroup
|
|
\else
|
|
\hss
|
|
\fi
|
|
\hss
|
|
\ifvoid\ParallelRBox
|
|
\hskip\ParallelRWidth
|
|
\else
|
|
\pcp@SetCurrent{Right}%
|
|
\ParallelWhichBox=\@ne
|
|
\vbox{%
|
|
\setbox\ParallelBoxVar
|
|
=\vsplit\ParallelRBox to\dp\strutbox
|
|
\unvbox\ParallelBoxVar
|
|
}%
|
|
\fi
|
|
}%
|
|
}%
|
|
\ifvoid\ParallelLBox
|
|
\ifvoid\ParallelRBox
|
|
\global\ParallelBoolVar=\z@
|
|
\fi
|
|
\fi%
|
|
\fi%
|
|
\ifnum\ParallelBoolVar=\@ne
|
|
\penalty\interlinepenalty
|
|
\repeat
|
|
\par
|
|
\endgroup
|
|
\pcp@SetCurrent{}%
|
|
\fi
|
|
}
|
|
\def\pcp@RuleBetweenColorDefault{%
|
|
\normalcolor
|
|
}
|
|
\let\pcp@RuleBetweenColor\pcp@RuleBetweenColorDefault
|
|
\RequirePackage{keyval}
|
|
\define@key{parallel}{rulebetweencolor}{%
|
|
\edef\pcp@temp{#1}%
|
|
\ifx\pcp@temp\@empty
|
|
\let\pcp@RuleBetweenColor\pcp@RuleBetweenColorDefault
|
|
\else
|
|
\edef\pcp@temp{%
|
|
\noexpand\@ifnextchar[{%
|
|
\def\noexpand\pcp@RuleBetweenColor{%
|
|
\noexpand\color\pcp@temp
|
|
}%
|
|
\noexpand\pcp@GobbleNil
|
|
}{%
|
|
\def\noexpand\pcp@RuleBetweenColor{%
|
|
\noexpand\color{\pcp@temp}%
|
|
}%
|
|
\noexpand\pcp@GobbleNil
|
|
}%
|
|
\pcp@temp\noexpand\@nil
|
|
}%
|
|
\pcp@temp
|
|
\fi
|
|
}
|
|
\long\def\pcp@GobbleNil#1\@nil{}
|
|
%% \section{Installation}
|
|
\endinput
|
|
%%
|
|
%% End of file `pdfcolparallel.sty'.
|
|
|