diff options
author | Karl Berry <karl@freefriends.org> | 2007-09-16 00:07:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-09-16 00:07:34 +0000 |
commit | d85f248e3b38ea0ecda38c5340e3cadd08d65346 (patch) | |
tree | 52e17f32b395006895b3917bc7729c7ac1514ae3 /Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx | |
parent | 2389552f283181e0d8c610037712ade989112da3 (diff) |
oberdiek update (14sep07)
git-svn-id: svn://tug.org/texlive/trunk@4947 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx | 148 |
1 files changed, 140 insertions, 8 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx b/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx index bc616933a0f..039f226328e 100644 --- a/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx +++ b/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx @@ -18,7 +18,8 @@ % 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-example.tex, setouterhbox-test1.tex, +% setouterhbox-test2.tex. % % Distribution: % CTAN:macros/latex/contrib/oberdiek/setouterhbox.dtx @@ -54,6 +55,8 @@ % TDS:tex/generic/oberdiek/setouterhbox.sty % TDS:doc/latex/oberdiek/setouterhbox.pdf % TDS:doc/latex/oberdiek/setouterhbox-example.tex +% TDS:doc/latex/oberdiek/setouterhbox-test1.tex +% TDS:doc/latex/oberdiek/setouterhbox-test2.tex % TDS:source/latex/oberdiek/setouterhbox.dtx % %<*ignore> @@ -69,7 +72,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: setouterhbox 2007/05/17 v1.6 Set hbox in outer horizontal mode (HO)} +\Msg{* Package: setouterhbox 2007/09/09 v1.7 Set hbox in outer horizontal mode (HO)} \Msg{************************************************************************} \keepsilent @@ -97,7 +100,8 @@ 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. + setouterhbox-example.tex, setouterhbox-test1.tex, + setouterhbox-test2.tex. \endpreamble @@ -108,6 +112,8 @@ and the derived files \file{setouterhbox.sty}{\from{setouterhbox.dtx}{package}}% \usedir{doc/latex/oberdiek}% \file{setouterhbox-example.tex}{\from{setouterhbox.dtx}{example}}% + \file{setouterhbox-test1.tex}{\from{setouterhbox.dtx}{test1}}% + \file{setouterhbox-test2.tex}{\from{setouterhbox.dtx}{test2}}% } \obeyspaces @@ -133,7 +139,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{setouterhbox.drv}% - [2007/05/17 v1.6 Set hbox in outer horizontal mode (HO)]% + [2007/09/09 v1.7 Set hbox in outer horizontal mode (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc} \begin{document} @@ -142,7 +148,7 @@ and the derived files %</driver> % \fi % -% \CheckSum{334} +% \CheckSum{461} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -163,7 +169,7 @@ and the derived files % \GetFileInfo{setouterhbox.drv} % % \title{The \xpackage{setouterhbox} package} -% \date{2007/05/17 v1.6} +% \date{2007/09/09 v1.7} % \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}} % % \maketitle @@ -401,9 +407,36 @@ by/a/very_long_long_long_path.html}% \fi \expandafter\x\csname ver@setouterhbox.sty\endcsname \ProvidesPackage{setouterhbox}% - [2007/05/17 v1.6 Set hbox in outer horizontal mode (HO)] + [2007/09/09 v1.7 Set hbox in outer horizontal mode (HO)] % \end{macrocode} % +% \begin{macrocode} +\expandafter\edef\csname setouterhboxAtEnd\endcsname{% + \catcode64 \the\catcode64\relax +} +\catcode64 11 % @ +\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{61}{12}% = +\TMP@EnsureCode{62}{12}% > +\TMP@EnsureCode{96}{12}% ` +% \end{macrocode} +% +% \subsection{Interface macros} +% % \begin{macro}{\setouterhboxBox} % The method requires a global box assignment. To be on the % safe side, a new box register is allocated for this @@ -420,7 +453,7 @@ by/a/very_long_long_long_path.html}% \expandafter\ifx\csname RequirePackage\endcsname\relax \input infwarerr.sty\relax \else - \RequirePackage{infwarerr}% + \RequirePackage{infwarerr}[2007/09/09]% \fi \edef\setouterhboxFailure#1#2{% \expandafter\noexpand\csname @PackageError\endcsname @@ -660,6 +693,7 @@ E \egroup \expandafter\endgroup \ifx\x\fmtname \else + \setouterhboxAtEnd \expandafter\endinput \fi % \end{macrocode} @@ -679,8 +713,100 @@ E \egroup % \end{macrocode} % % \begin{macrocode} +\setouterhboxAtEnd %</package> % \end{macrocode} +% +% \section{Test} +% +% \subsection{Catcode checks for loading} +% +% \begin{macrocode} +%<*test1> +% \end{macrocode} +% \begin{macrocode} +\catcode`\@=11 % +\def\RestoreCatcodes{} +\count@=0 % +\loop + \edef\RestoreCatcodes{% + \RestoreCatcodes + \catcode\the\count@=\the\catcode\count@\relax + }% +\ifnum\count@<255 % + \advance\count@\@ne +\repeat + +\def\RangeCatcodeInvalid#1#2{% + \count@=#1\relax + \loop + \catcode\count@=15 % + \ifnum\count@<#2\relax + \advance\count@\@ne + \repeat +} +\def\Test{% + \RangeCatcodeInvalid{0}{47}% + \RangeCatcodeInvalid{58}{64}% + \RangeCatcodeInvalid{91}{96}% + \RangeCatcodeInvalid{123}{255}% + \catcode`\@=12 % + \catcode`\\=0 % + \catcode`\{=1 % + \catcode`\}=2 % + \catcode`\#=6 % + \catcode`\[=12 % + \catcode`\]=12 % + \catcode`\%=14 % + \catcode`\ =10 % + \catcode13=5 % + \input setouterhbox.sty\relax + \RestoreCatcodes +} +\Test +\csname @@end\endcsname +\end +% \end{macrocode} +% \begin{macrocode} +%</test1> +% \end{macrocode} +% +% \subsection{Test with package \xpackage{url}} +% +% \begin{macrocode} +%<*test2> +\nofiles +\documentclass[a5paper]{article} +\usepackage{url}[2005/06/27] +\usepackage{setouterhbox} + +\newsavebox{\testbox} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{2em} + +\begin{document} +\raggedright + +\url{http://this.is.a.very.long.host.name/followed/% +by/a/very_long_long_long_path.html}% + +\sbox\testbox{% + \url{http://this.is.a.very.long.host.name/followed/% + by/a/very_long_long_long_path.html}% +}% +\unhbox\testbox + +\begin{setouterhbox}{\testbox}% + \url{http://this.is.a.very.long.host.name/followed/% + by/a/very_long_long_long_path.html}% +\end{setouterhbox} +\unhbox\testbox + +\end{document} +%</test2> +% \end{macrocode} +% % \section{Installation} % % \subsection{Download} @@ -743,6 +869,8 @@ E \egroup % setouterhbox.sty & tex/generic/oberdiek/setouterhbox.sty\\ % setouterhbox.pdf & doc/latex/oberdiek/setouterhbox.pdf\\ % setouterhbox-example.tex & doc/latex/oberdiek/setouterhbox-example.tex\\ +% setouterhbox-test1.tex & doc/latex/oberdiek/setouterhbox-test1.tex\\ +% setouterhbox-test2.tex & doc/latex/oberdiek/setouterhbox-test2.tex\\ % setouterhbox.dtx & source/latex/oberdiek/setouterhbox.dtx\\ % \end{tabular}^^A % }^^A @@ -923,6 +1051,10 @@ E \egroup % \item % Standard header part for generic files. % \end{Version} +% \begin{Version}{2007/09/09 v1.7} +% \item +% Catcode section added. +% \end{Version} % \end{History} % % \PrintIndex |