%% %% 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. %% %% Project: setouterhbox %% Version: 2016/05/16 v1.8 %% %% Copyright (C) %% 2005-2007 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 %% %% %% The Base Interpreter refers to any `TeX-Format', %% because some files are installed in TDS:tex/generic//. %% %% 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, setouterhbox-test1.tex, %% setouterhbox-test2.tex. %% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % \catcode35=6 % # \catcode39=12 % ' \catcode44=12 % , \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : \catcode64=11 % @ \catcode123=1 % { \catcode125=2 % } \expandafter\let\expandafter\x\csname ver@setouterhbox.sty\endcsname \ifx\x\relax % plain-TeX, first loading \else \def\empty{}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \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}% \aftergroup\endinput \fi \fi \endgroup% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % \catcode35=6 % # \catcode39=12 % ' \catcode40=12 % ( \catcode41=12 % ) \catcode44=12 % , \catcode45=12 % - \catcode46=12 % . \catcode47=12 % / \catcode58=12 % : \catcode64=11 % @ \catcode91=12 % [ \catcode93=12 % ] \catcode123=1 % { \catcode125=2 % } \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\@undefined \xdef#1{#3}% \fi \ifx#1\relax \xdef#1{#3}% \fi }% \fi \expandafter\x\csname ver@setouterhbox.sty\endcsname \ProvidesPackage{setouterhbox}% [2016/05/16 v1.8 Set hbox in outer horizontal mode (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ \def\x{\endgroup \expandafter\edef\csname setouterhboxAtEnd\endcsname{% \endlinechar=\the\endlinechar\relax \catcode13=\the\catcode13\relax \catcode32=\the\catcode32\relax \catcode35=\the\catcode35\relax \catcode61=\the\catcode61\relax \catcode64=\the\catcode64\relax \catcode123=\the\catcode123\relax \catcode125=\the\catcode125\relax }% }% \x\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % \catcode35=6 % # \catcode64=11 % @ \catcode123=1 % { \catcode125=2 % } \def\TMP@EnsureCode#1#2{% \edef\setouterhboxAtEnd{% \setouterhboxAtEnd \catcode#1=\the\catcode#1\relax }% \catcode#1=#2\relax } \TMP@EnsureCode{40}{12}% ( \TMP@EnsureCode{41}{12}% ) \TMP@EnsureCode{44}{12}% , \TMP@EnsureCode{45}{12}% - \TMP@EnsureCode{46}{12}% . \TMP@EnsureCode{47}{12}% / \TMP@EnsureCode{58}{12}% : \TMP@EnsureCode{60}{12}% < \TMP@EnsureCode{62}{12}% > \TMP@EnsureCode{91}{12}% [ \TMP@EnsureCode{93}{12}% ] \TMP@EnsureCode{96}{12}% ` \edef\setouterhboxAtEnd{\setouterhboxAtEnd\noexpand\endinput} \newbox\setouterhboxBox \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname RequirePackage\endcsname\relax \input infwarerr.sty\relax \else \RequirePackage{infwarerr}[2016/05/16]% \fi \edef\setouterhboxFailure#1#2{% \expandafter\noexpand\csname @PackageError\endcsname {setouterhbox}{#1}{#2}% } \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\setouterhboxAtEnd \fi% \DeclareOption{hyperref}{% \long\def\Hy@setouterhbox#1#2{% \setouterhbox{#1}#2\endsetouterhbox }% } \ProcessOptions\relax \setouterhboxAtEnd% %% \section{Installation} \endinput %% %% End of file `setouterhbox.sty'.