summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty')
-rw-r--r--Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty234
1 files changed, 234 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty b/Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty
new file mode 100644
index 00000000000..debdcf5f3f0
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/oberdiek/setouterhbox.sty
@@ -0,0 +1,234 @@
+%%
+%% This is file `setouterhbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% setouterhbox.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2005, 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in
+%% http://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".
+%%
+%% This Current Maintainer of this work is Heiko Oberdiek.
+%%
+%% This work consists of the main source file setouterhbox.dtx
+%% and the derived files
+%% setouterhbox.sty, setouterhbox.pdf, setouterhbox.ins, setouterhbox.drv,
+%% setouterhbox-example.tex.
+%%
+\begingroup
+ \expandafter\let\expandafter\x\csname ver@setouterhbox.sty\endcsname
+ \ifcase 0%
+ \ifx\x\relax % plain
+ \else
+ \ifx\x\empty % LaTeX
+ \else
+ 1%
+ \fi
+ \fi
+ \else
+ \expandafter\ifx\csname PackageInfo\endcsname\relax
+ \def\x#1#2{%
+ \immediate\write-1{Package #1 Info: #2.}%
+ }%
+ \else
+ \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
+ \fi
+ \x{setouterhbox}{The package is already loaded}%
+ \endgroup
+ \expandafter\endinput
+ \fi
+\endgroup
+\begingroup
+ \expandafter\ifx\csname ProvidesPackage\endcsname\relax
+ \def\x#1#2#3[#4]{\endgroup
+ \immediate\write-1{Package: #3 #4}%
+ \xdef#1{#4}%
+ }%
+ \else
+ \def\x#1#2[#3]{\endgroup
+ #2[#3]%
+ \ifx#1\relax
+ \xdef#1{#3}%
+ \fi
+ }%
+ \fi
+\expandafter\x\csname ver@setouterhbox.sty\endcsname
+\ProvidesPackage{setouterhbox}%
+ [2006/08/26 v1.4 Set hbox in outer horizontal mode (HO)]
+\newbox\setouterhboxBox
+\def\setouterhboxFailure#1#2{%
+ \begingroup
+ \expandafter\ifx\csname PackageError\endcsname\relax
+ \def\MessageBreak{^^J}%
+ \newlinechar=10\relax
+ \edef\z{#2}%
+ \errhelp\expandafter{\z}%
+ \errmessage{Package setouterhbox Error: #1}%
+ \else
+ \PackageError{setouterhbox}{#1}{#2}%
+ \fi
+ \endgroup
+}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname lastnodetype\endcsname\relax
+ \catcode`T=9 % ignore
+ \catcode`E=14 % comment
+\else
+ \catcode`T=14 % comment
+ \catcode`E=9 % ignore
+\fi
+\def\setouterhboxRemove{%
+E \ifnum\lastnodetype<11 %
+E \else
+E \ifnum\lastnodetype>13 %
+E \else
+ \unskip\unkern\unpenalty
+E \expandafter\expandafter\expandafter\setouterhboxRemove
+E \fi
+E \fi
+}%
+\def\setouterhbox#1{%
+ \begingroup
+ \def\setouterhboxNum{#1}%
+ \setbox0\vbox\bgroup
+T \kern.123pt\relax % marker
+T \kern0pt\relax % removed by \setouterhboxRemove
+ \begingroup
+ \everypar{}%
+ \noindent
+}
+\def\endsetouterhbox{%
+ \endgroup
+ \pretolerance-1 %
+ \tolerance10000 %
+ \hsize\maxdimen
+ \parfillskip 0pt plus 1filll\relax
+ \leftskip0pt\relax
+ \rightskip0pt plus 1fil\relax
+ \everypar{}%
+ \kern0pt%
+ \endgraf
+ \setouterhboxRemove
+E \ifnum\lastnodetype=1 %
+E \global\setbox\setouterhboxBox\lastbox
+E \loop
+E \setouterhboxRemove
+E \ifnum\lastnodetype=1 %
+E \setbox0=\lastbox
+E \global\setbox\setouterhboxBox=\hbox{%
+E \unhbox0 %
+E \unskip
+E \unhbox\setouterhboxBox
+E }%
+E \repeat
+E \else
+E \setouterhboxFailure{%
+E Something is wrong%
+E }{%
+E Could not find expected line.%
+E \MessageBreak
+E (\string\lastnodetype: \number\lastnodetype, expected: 1)%
+E }%
+E \fi
+E \setouterhboxRemove
+T \global\setbox\setouterhboxBox\lastbox
+T \loop
+T \setouterhboxRemove
+T \setbox0=\lastbox
+T \ifcase\ifvoid0 1\else0\fi
+T \global\setbox\setouterhboxBox=\hbox{%
+T \unhbox0 %
+T \unskip
+T \unhbox\setouterhboxBox
+T }%
+T \repeat
+T \ifdim.123pt=\lastkern
+T \else
+T \setouterhboxFailure{%
+T Something is wrong%
+T }{%
+T Unexpected stuff was detected before the line.%
+T }%
+T \fi
+T \egroup
+T \ifcase \ifnum\wd0=0 \else 1\fi
+T \ifdim\ht0=.123pt \else 1\fi
+T \ifnum\dp0=0 \else 1\fi
+T 0 %
+E \ifnum\lastnodetype=-1 %
+ \else
+ \setouterhboxFailure{%
+ Something is wrong%
+ }{%
+ After fetching the line there is more unexpected stuff.%
+E \MessageBreak
+E (\string\lastnodetype: \number\lastnodetype, expected: -1)%
+ }%
+ \fi
+E \egroup
+ \expandafter\endgroup
+ \expandafter\setouterhboxFinish\expandafter{%
+ \number\setouterhboxNum
+ }%
+}
+\def\setouterhboxCurr{setouterhbox}
+\def\setouterhboxLast#1{%
+ \setbox#1\hbox{%
+ \unhbox\setouterhboxBox
+ \unskip % remove \rightskip glue
+ \unskip % remove \parfillskip glue
+ \unpenalty % remove paragraph ending \penalty 10000
+ \unkern % remove explicit kern inserted above
+ }%
+}
+\def\setouterhboxFinish#1{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname @currenvir\endcsname\setouterhboxCurr
+ \aftergroup\setouterhboxLast
+ \aftergroup{%
+ \setouterhboxAfter #1\NIL
+ \aftergroup}%
+ \else
+ \setouterhboxLast{#1}%
+ \fi
+}
+\def\setouterhboxAfter#1#2\NIL{%
+ \aftergroup#1%
+ \ifx\\#2\\%
+ \else
+ \setouterhboxReturnAfterFi{%
+ \setouterhboxAfter#2\NIL
+ }%
+ \fi
+}
+\long\def\setouterhboxReturnAfterFi#1\fi{\fi#1}
+\catcode69=11\relax % E
+\catcode84=11\relax % T
+\begingroup
+ \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifx\x\fmtname
+\else
+ \expandafter\endinput
+\fi
+\DeclareOption{hyperref}{%
+ \long\def\Hy@setouterhbox#1#2{%
+ \setouterhbox{#1}#2\endsetouterhbox
+ }%
+}
+\ProcessOptions\relax
+\endinput
+%%
+%% End of file `setouterhbox.sty'.