summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-04-28 00:47:40 +0000
committerKarl Berry <karl@freefriends.org>2007-04-28 00:47:40 +0000
commiteb20b1a58efdf85ed1ef1c7091bcb414a7a60a32 (patch)
tree80972c25ace1916fc7b72d86dc8e3edf99f12824 /Master/texmf-dist/source/latex
parente376078a88d46cc66692baeb43f83a235f9b52a3 (diff)
oberdiek as always, infwarerr v1.0 new and updates
git-svn-id: svn://tug.org/texlive/trunk@4200 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/alphalph.dtx12
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx231
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/bookmark.dtx37
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/embedfile.dtx12
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/engord.dtx38
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx160
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/iflang.dtx108
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/ifpdf.dtx12
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/ifvtex.dtx12
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx952
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx12
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/oberdiek.ins3
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/oberdiek.tex31
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx111
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx823
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx40
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/telprint.dtx12
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/zref.dtx124
18 files changed, 2179 insertions, 551 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx b/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
index a882eef697e..2324f62c151 100644
--- a/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
@@ -138,7 +138,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{393}
+% \CheckSum{403}
%
% \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
@@ -265,6 +265,11 @@ and the derived files
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@alphalph.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -291,6 +296,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
diff --git a/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx b/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
index 37869feb4c8..9a21e37af89 100644
--- a/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
@@ -69,7 +69,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: atbegshi 2007/04/19 v1.2 At begin shipout hook (HO)}
+\Msg{* Package: atbegshi 2007/04/27 v1.4 At begin shipout hook (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -133,7 +133,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{atbegshi.drv}%
- [2007/04/19 v1.2 At begin shipout hook (HO)]%
+ [2007/04/27 v1.4 At begin shipout hook (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -142,7 +142,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{1176}
+% \CheckSum{1120}
%
% \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 +163,7 @@ and the derived files
% \GetFileInfo{atbegshi.drv}
%
% \title{The \xpackage{atbegshi} package}
-% \date{2007/04/19 v1.2}
+% \date{2007/04/27 v1.4}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -315,7 +315,7 @@ and the derived files
% the assignment:
%\begin{quote}
%\begin{verbatim}
-%\shipout ->
+%\shipout :=
% \afterassignment\@test
% \setbox\mybox=
%\end{verbatim}
@@ -353,12 +353,12 @@ and the derived files
% compares the previously stored group level with the current one:
%\begin{quote}
%\begin{verbatim}
-%\shipout ->
+%\shipout :=
% \edef\saved@grouplevel{\number\currentgrouplevel}
% \afterassignment\@test
% \setbox\mybox=
%
-%\@test ->
+%\@test :=
% \ifnum\saved@grouplevel=\currentgrouplevel
% % case: indirect box, the assignment is completed
% \@output
@@ -416,7 +416,7 @@ and the derived files
% in our macros, namely \cs{@output}.
%\begin{quote}
%\begin{verbatim}
-%\shipout ->
+%\shipout :=
% % trick to get a void box \mybox
% \begingroup
% \setbox\mybox=\box\mybox
@@ -424,7 +424,7 @@ and the derived files
% \afterassignment\@test
% \setbox\mybox=
%
-%\@test ->
+%\@test :=
% \ifvoid\mybox
% \aftergroup\@output
% \else
@@ -454,13 +454,13 @@ and the derived files
% it returns 0\,pt.
%\begin{quote}
%\begin{verbatim}
-%\shipout ->
+%\shipout :=
% \begingroup
% \setbox\mybox=\hbox\bgroup
% \kern1pt
% \afterassignment\shipout@test
% \global\setbox\mybox=
-%\@test ->
+%\@test :=
% \ifdim\lastkern=0pt
% % direct box
% \aftergroup\egroup
@@ -490,7 +490,7 @@ and the derived files
% wants to manipulate the output box.
%\begin{quote}
%\begin{verbatim}
-%\@output ->
+%\@output :=
% \ifvoid\mybox
% % cancel output of void box
% \else
@@ -537,19 +537,18 @@ and the derived files
%\newbox\mybox
%\let\original@shipout\shipout
%
-%\shipout ->
+%\shipout :=
% \edef\saved@grouplevel{\number\currentgrouplevel}
% \afterassignment\@test
% \setbox\mybox=
%
-%\@test ->
-% \ifnum\saved@grouplevel=\currentgrouplevel
-% \@output
-% \else
-% \aftergroup\@output
+%\@test :=
+% \ifnum\saved@grouplevel<\currentgrouplevel
+% \expandafter\aftergroup
% \fi
+% \@output
%
-%\@output ->
+%\@output :=
% \ifvoid\mybox
% % cancel output of void box
% \else
@@ -563,7 +562,7 @@ and the derived files
%\end{verbatim}
%\end{quote}
%
-% \subsubsection{Without \eTeX}
+% \subsubsection{Without \eTeX, traditional way}
%
% And for \TeX\ without \eTeX:
%\begin{quote}
@@ -574,7 +573,7 @@ and the derived files
%\endgroup
%\let\original@shipout\shipout
%
-%\shipout ->
+%\shipout :=
% % trick to get a void box \mybox
% \begingroup
% \setbox\mybox=\box\mybox
@@ -582,14 +581,13 @@ and the derived files
% \afterassignment\@test
% \setbox\mybox=
%
-%\@test ->
+%\@test :=
% \ifvoid\mybox
-% \aftergroup\@output
-% \else
-% \@output
+% \expandafter\aftergroup
% \fi
+% \@output
%
-%\@output ->
+%\@output :=
% \ifvoid\mybox
% % cancel output of void box
% \else
@@ -611,25 +609,22 @@ and the derived files
%\newbox\mybox
%\let\original@shipout\shipout
%
-%\shipout ->
+%\shipout :=
% \begingroup
% \setbox\mybox=\hbox\bgroup
% \kern1pt
% \afterassignment\@test
% \setbox\mybox=
%
-%\@test ->
+%\@test :=
% \ifdim\lastkern=0pt
-% \aftergroup\egroup
-% \aftergroup\endgroup
-% \aftergroup\@output
-% \else
-% \egroup
-% \endgroup
-% \@output
+% \expandafter\aftergroup
% \fi
+% \@output
%
-%\@output ->
+%\@output :=
+% \egroup
+% \endgroup
% \ifvoid\mybox
% % cancel output of void box
% \else
@@ -655,38 +650,15 @@ and the derived files
%<*package>
% \end{macrocode}
%
-% \subsection{Catcodes}
-%
-% \begin{macrocode}
-\expandafter\edef\csname AtBegShi@End\endcsname{%
- \catcode40 \the\catcode40\relax % (
- \catcode41 \the\catcode41\relax % )
- \catcode44 \the\catcode44\relax % ,
- \catcode45 \the\catcode45\relax % -
- \catcode46 \the\catcode46\relax % .
- \catcode58 \the\catcode58\relax % :
- \catcode61 \the\catcode61\relax % =
- \catcode64 \the\catcode64\relax % @
- \catcode94 \the\catcode94\relax % ^
- \catcode96 \the\catcode96\relax % `
- \noexpand\endinput
-}
-\catcode40 12 % (
-\catcode41 12 % )
-\catcode44 12 % ,
-\catcode45 12 % -
-\catcode46 12 % .
-\catcode58 12 % :
-\catcode61 12 % =
-\catcode64 11 % @
-\catcode94 7 % ^
-\catcode96 12 % `
-% \end{macrocode}
-%
% \subsection{Reload check and package identification}
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@atbegshi.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -713,6 +685,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
@@ -728,59 +705,46 @@ and the derived files
\fi
\expandafter\x\csname ver@atbegshi.sty\endcsname
\ProvidesPackage{atbegshi}%
- [2007/04/19 v1.2 At begin shipout hook (HO)]
+ [2007/04/27 v1.4 At begin shipout hook (HO)]
% \end{macrocode}
%
-% \subsection{Preparations}
+% \subsection{Catcodes}
%
-% \begin{macro}{\AtBegShi@Warning}
% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname PackageWarning\endcsname\relax
- \def\AtBegShi@Warning#1{%
- \begingroup
- \newlinechar=10 %
- \def\@spaces{\space\space\space\space}%
- \def\MessageBreak{%
- ^^J(atbegshi)\@spaces\@spaces\@spaces\@spaces
- }%
- \immediate\write16{%
- ^^JPackage atbegshi Warning: #1 %
- on input line \the\inputlineno.^^J%
- }%
- \endgroup
- }%
-\else
- \def\AtBegShi@Warning{%
- \PackageWarning{atbegshi}%
- }%
-\fi
+\expandafter\edef\csname AtBegShi@End\endcsname{%
+ \catcode40 \the\catcode40\relax % (
+ \catcode41 \the\catcode41\relax % )
+ \catcode44 \the\catcode44\relax % ,
+ \catcode45 \the\catcode45\relax % -
+ \catcode46 \the\catcode46\relax % .
+ \catcode58 \the\catcode58\relax % :
+ \catcode61 \the\catcode61\relax % =
+ \catcode64 \the\catcode64\relax % @
+ \catcode94 \the\catcode94\relax % ^
+ \catcode96 \the\catcode96\relax % `
+ \noexpand\endinput
+}
+\catcode40 12 % (
+\catcode41 12 % )
+\catcode44 12 % ,
+\catcode45 12 % -
+\catcode46 12 % .
+\catcode58 12 % :
+\catcode61 12 % =
+\catcode64 11 % @
+\catcode94 7 % ^
+\catcode96 12 % `
% \end{macrocode}
-% \end{macro}
%
-% \begin{macro}{\AtBegShi@Info}
+% \subsection{Preparations}
+%
+% \begin{macro}{\AtBegShi@Warning}
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname PackageInfo\endcsname\relax
- \def\AtBegShi@Info#1{%
- \begingroup
- \newlinechar=10 %
- \def\@spaces{\space\space\space\space}%
- \def\MessageBreak{%
- ^^J(atbegshi) \@spaces\@spaces\@spaces
- }%
- \immediate\write-1{%
- ^^JPackage atbegshi Info: #1.^^J%
- }%
- \endgroup
- }%
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \input infwarerr.sty\relax
\else
- \def\AtBegShi@Info#1{%
- \begingroup
- \def\on@line{}%
- \PackageInfo{atbegshi}{#1}%
- \endgroup
- }%
+ \RequirePackage{infwarerr}%
\fi
% \end{macrocode}
% \end{macro}
@@ -856,31 +820,21 @@ X \global
% \begin{macrocode}
\def\AtBegShi@Test{%
X \ifdim\lastkern=\z@
-X \aftergroup\egroup
-X \aftergroup\endgroup
-X \expandafter\aftergroup
-X \else
-X \egroup
-X \endgroup
-E \ifnum\AtBegShi@GroupLevel=\currentgrouplevel
-E \else
-E \expandafter\aftergroup
+E \ifnum\AtBegShi@GroupLevel<\currentgrouplevel
+ \expandafter\aftergroup
\fi
\AtBegShi@Output
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macrocode}
-\catcode`\X=11 %
-\catcode`\E=11 %
-% \end{macrocode}
-%
% \begin{macro}{\AtBegShi@Output}
% \begin{macrocode}
\def\AtBegShi@Output{%
+X \egroup
+X \endgroup
\ifvoid\AtBeginShipoutBox
- \AtBegShi@Warning{Ignoring void shipout box}%
+ \@PackageWarning{atbegshi}{Ignoring void shipout box}%
\else
\let\AtBegShi@OrgProtect\protect
\csname set@typeset@protect\endcsname
@@ -889,7 +843,7 @@ E \expandafter\aftergroup
\AtBegShi@HookNext
\gdef\AtBegShi@HookNext{}%
\ifAtBegShi@Discarded
- \AtBegShi@Info{Shipout page discarded}%
+ \@PackageInfoNoLine{atbegshi}{Shipout page discarded}%
\global\AtBegShi@Discardedfalse
\begingroup
\setbox\AtBeginShipoutBox\box\AtBeginShipoutBox
@@ -905,6 +859,11 @@ E \expandafter\aftergroup
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+\catcode`\X=11 %
+\catcode`\E=11 %
+% \end{macrocode}
+%
% \begin{macro}{\AtBegShi@First}
% \begin{macrocode}
\def\AtBegShi@First{%
@@ -977,7 +936,7 @@ E \expandafter\aftergroup
% \begin{macro}{\AtBegShi@FirstDisabled}
% \begin{macrocode}
\long\def\AtBegShi@FirstDisabled#1{%
- \AtBegShi@Warning{%
+ \@PackageWarning{atbegshi}{%
First page is already shipped out, ignoring\MessageBreak
\string\AtBeginShipoutFirst
}%
@@ -1016,7 +975,7 @@ E \expandafter\aftergroup
\else
#1%
\ifvoid\AtBeginShipoutBox
- \AtBegShi@Warning{%
+ \@PackageWarning{atbegshi}{%
Shipout box was voided by hook,\MessageBreak
ignoring shipout box%
}%
@@ -1144,7 +1103,7 @@ E \expandafter\aftergroup
\expandafter\AtBeginShipoutBox
\fi
}%
- \AtBegShi@Info{Package `crop' patched}%
+ \@PackageInfoNoLine{atbegshi}{Package `crop' patched}%
\begingroup
\fi
\fi
@@ -1221,7 +1180,7 @@ E \expandafter\aftergroup
\expandafter\@EveryShipout@Output
\fi
}%
- \AtBegShi@Info{Package `everyshi' patched}%
+ \@PackageInfoNoLine{atbegshi}{Package `everyshi' patched}%
\begingroup
\fi
\fi
@@ -1322,7 +1281,7 @@ E \expandafter\aftergroup
\expandafter\AtBeginShipoutBox
\fi
}%
- \AtBegShi@Info{Class `memoir' patched}%
+ \@PackageInfoNoLine{atbegshi}{Class `memoir' patched}%
\begingroup
\fi
\fi
@@ -1348,7 +1307,7 @@ E \expandafter\aftergroup
%<*test1>
\input atbegshi.sty\relax
\def\msg#{\immediate\write16}
-\msg{File: atbegshi-test1.tex 2007/04/19 v1.2 Test file for plain-TeX}
+\msg{File: atbegshi-test1.tex 2007/04/27 v1.4 Test file for plain-TeX}
\def\testmsg#1#2{%
\msg{}%
\msg{*** Test with box (#1), expected page output [#2]}%
@@ -1445,7 +1404,7 @@ Hello World
% \begin{macrocode}
%<*test2>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{atbegshi-test2.tex}[2007/04/19 v1.2 Test file for LaTeX]
+\ProvidesFile{atbegshi-test2.tex}[2007/04/27 v1.4 Test file for LaTeX]
\RequirePackage{color}
\pagecolor{yellow}
\documentclass[a5paper,showtrims]{memoir}
@@ -1636,6 +1595,16 @@ Hello World
% Patches for packages \xpackage{crop} and \xpackage{everyshi}
% and class \xclass{memoir} added.
% \end{Version}
+% \begin{Version}{2007/04/26 v1.3}
+% \item
+% Use of package \xpackage{infwarerr}.
+% \item
+% Catcode section after generic header.
+% \end{Version}
+% \begin{Version}{2007/04/27 v1.4}
+% \item
+% Small optimizations.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx b/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
index 3d7200f4f46..55984deb43b 100644
--- a/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
@@ -76,7 +76,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: bookmark 2007/04/09 v0.8 PDF bookmarks (HO)}
+\Msg{* Package: bookmark 2007/04/25 v0.9 PDF bookmarks (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -149,7 +149,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bookmark.drv}%
- [2007/04/09 v0.8 PDF bookmarks (HO)]%
+ [2007/04/25 v0.9 PDF bookmarks (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -158,7 +158,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{1950}
+% \CheckSum{1952}
%
% \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
@@ -179,7 +179,7 @@ and the derived files
% \GetFileInfo{bookmark.drv}
%
% \title{The \xpackage{bookmark} package}
-% \date{2007/04/09 v0.8}
+% \date{2007/04/25 v0.9}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -252,7 +252,7 @@ and the derived files
% |\def\BookmarkDefaultDriver{dvipdfm}|
% \end{quote}
%
-% \paragraph{Open bookmarks with dvipdfmx.} Since 2007-03-29 the
+% \paragraph{Open bookmarks with dvipdfmx.} Since 2007-04-25 the
% cvs version of dvipmdfmx contains a patch that extends the
% \cs{special} for bookmarks in order to specify the open status of
% an outline entry. Option \xoption{dvipdfmx-outline-open} notifies
@@ -494,7 +494,7 @@ and the derived files
open,
openlevel=2,
atend
-]{bookmark}[2007/04/09]
+]{bookmark}[2007/04/25]
\bookmarksetup{color=blue}
@@ -597,7 +597,7 @@ and the derived files
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bookmark}%
- [2007/04/09 v0.8 PDF bookmarks (HO)]%
+ [2007/04/25 v0.9 PDF bookmarks (HO)]%
% \end{macrocode}
%
% \subsubsection{Requirements}
@@ -1210,7 +1210,7 @@ and the derived files
%<*dvipdfm>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvipdfm.def}%
- [2007/04/09 v0.8 bookmark driver for dvipdfm (HO)]%
+ [2007/04/25 v0.9 bookmark driver for dvipdfm (HO)]%
% \end{macrocode}
%
% \begin{macrocode}
@@ -1329,11 +1329,16 @@ and the derived files
\fi
\special{pdf:%
out \ifBKM@DvipdfmxOutlineOpen
+ [%
\ifBKM@open
\ifnum\BKM@level<\BKM@openlevel
+ \else
-%
\fi
+ \else
+ -%
\fi
+ ] %
\fi
\BKM@abslevel
<<%
@@ -1370,7 +1375,7 @@ and the derived files
%<*vtex>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-vtex.def}%
- [2007/04/09 v0.8 bookmark driver for VTeX (HO)]%
+ [2007/04/25 v0.9 bookmark driver for VTeX (HO)]%
% \end{macrocode}
%
% \begin{macrocode}
@@ -1655,7 +1660,7 @@ and the derived files
%<*pdftex>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-pdftex.def}%
- [2007/04/09 v0.8 bookmark driver for pdfTeX (HO)]%
+ [2007/04/25 v0.9 bookmark driver for pdfTeX (HO)]%
% \end{macrocode}
%
% \begin{macrocode}
@@ -1767,7 +1772,7 @@ and the derived files
%<*dvips>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvips.def}%
- [2007/04/09 v0.8 bookmark driver for dvips (HO)]%
+ [2007/04/25 v0.9 bookmark driver for dvips (HO)]%
% \end{macrocode}
% \begin{macrocode}
\def\BKM@PSHeaderFile#1{%
@@ -1782,7 +1787,7 @@ and the derived files
%<*dvipsone>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvipsone.def}%
- [2007/04/09 v0.8 bookmark driver for dvipsone (HO)]%
+ [2007/04/25 v0.9 bookmark driver for dvipsone (HO)]%
% \end{macrocode}
% \begin{macrocode}
\def\BKM@PSHeaderFile#1{%
@@ -1797,7 +1802,7 @@ and the derived files
%<*textures>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-textures.def}%
- [2007/04/09 v0.8 bookmark driver for textures (HO)]%
+ [2007/04/25 v0.9 bookmark driver for textures (HO)]%
% \end{macrocode}
% \begin{macrocode}
\def\BKM@PSHeaderFile#1{%
@@ -2376,6 +2381,12 @@ and the derived files
% open outline entries. Option \xoption{dvipdfmx-outline-open}
% or \cs{SpecialDvipdfmxOutlineOpen} notify the package.
% \end{Version}
+% \begin{Version}{2007/04/25 v0.9}
+% \item
+% The syntax of \cs{special} of dvipdfmx, if feature
+% \xoption{dvipdfmx-outline-open} is enabled, has changed.
+% Now cvs version 2007-04-25 is needed.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx b/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
index c5c25f9434d..63f3cd4082a 100644
--- a/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
@@ -142,7 +142,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{430}
+% \CheckSum{440}
%
% \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
@@ -353,6 +353,11 @@ This example document contains three embedded files.
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@embedfile.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -379,6 +384,11 @@ This example document contains three embedded files.
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
diff --git a/Master/texmf-dist/source/latex/oberdiek/engord.dtx b/Master/texmf-dist/source/latex/oberdiek/engord.dtx
index 3df12ea7c9c..62f10ae7612 100644
--- a/Master/texmf-dist/source/latex/oberdiek/engord.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/engord.dtx
@@ -67,7 +67,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: engord 2007/04/11 v1.3 Provides the ifpdf switch (HO)}
+\Msg{* Package: engord 2007/04/26 v1.4 Provides the ifpdf switch (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -128,7 +128,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{engord.drv}%
- [2007/04/11 v1.3 Provides the ifpdf switch (HO)]%
+ [2007/04/26 v1.4 Provides the ifpdf switch (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -137,7 +137,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{274}
+% \CheckSum{278}
%
% \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
@@ -158,7 +158,7 @@ and the derived files
% \GetFileInfo{engord.drv}
%
% \title{The \xpackage{engord} package}
-% \date{2007/04/11 v1.3}
+% \date{2007/04/26 v1.4}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -264,6 +264,11 @@ and the derived files
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@engord.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -290,6 +295,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
@@ -305,7 +315,7 @@ and the derived files
\fi
\expandafter\x\csname ver@engord.sty\endcsname
\ProvidesPackage{engord}%
- [2007/04/11 v1.3 Provides the ifpdf switch (HO)]
+ [2007/04/26 v1.4 Provides the ifpdf switch (HO)]
% \end{macrocode}
%
% \subsection{Help commands for plain compatibility}
@@ -332,20 +342,14 @@ and the derived files
\fi
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\EO@PackageWarning}
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname PackageWarning\endcsname\relax
- \def\EO@PackageWarning#1#2{%
- \immediate\write16{%
- Package #1 Warning: #2 on input line \the\inputlineno.%
- }%
- }%
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \input infwarerr.sty\relax
\else
- \def\EO@PackageWarning{\PackageWarning}%
+ \RequirePackage{infwarerr}%
\fi
% \end{macrocode}
-% \end{macro}
%
% \subsection{User macros}
%
@@ -411,7 +415,7 @@ and the derived files
\expandafter\ifx\csname engorderror\endcsname\relax
\EO@def\engorderror#1{%
#1\engordletters{!ERROR!}%
- \EO@PackageWarning{engord}{%
+ \@PackageWarning{engord}{%
`#1' is not an ordinal number%
}%
}%
@@ -709,6 +713,10 @@ and the derived files
% \item
% Line ends sanitized.
% \end{Version}
+% \begin{Version}{2007/04/26 v1.4}
+% \item
+% Use of package \xpackage{infwarerr}.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
index ded8879a4ce..a9e6bc75b5a 100644
--- a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
@@ -1,6 +1,7 @@
% \iffalse meta-comment
%
-% Copyright (C) 2001, 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+% Copyright (C) 2001, 2006, 2007 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
@@ -66,7 +67,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: epstopdf 2006/08/26 v1.3 Conversion with epstopdf on the fly (HO)}
+\Msg{* Package: epstopdf 2007/04/26 v1.4 Conversion with epstopdf on the fly (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -76,7 +77,8 @@
This is a generated file.
-Copyright (C) 2001, 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+Copyright (C) 2001, 2006, 2007 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
@@ -126,7 +128,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{epstopdf.drv}%
- [2006/08/26 v1.3 Conversion with epstopdf on the fly (HO)]%
+ [2007/04/26 v1.4 Conversion with epstopdf on the fly (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -135,7 +137,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{182}
+% \CheckSum{192}
%
% \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
@@ -156,7 +158,7 @@ and the derived files
% \GetFileInfo{epstopdf.drv}
%
% \title{The \xpackage{epstopdf} package}
-% \date{2006/08/26 v1.3}
+% \date{2007/04/26 v1.4}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -170,30 +172,116 @@ and the derived files
%
% \tableofcontents
%
+% \providecommand*{\xprogram}[1]{\textsf{#1}}
+%
+% \section{Documentation}
+%
+% \subsection{Requirements}
+%
+% \begin{itemize}
+% \item
+% The program \xprogram{epstopdf} for the conversion from EPS
+% to PDF. However, other programs can
+% be used and configured by \cs{DeclareGraphicsRule}.
+% \item
+% The feature \cs{write18} must be enabled. This allows the
+% running of external programs during \TeX's compile run.
+% Keep in mind that this is a security risk. The feature is an
+% addition to \cs{TeX}. Mik\TeX, te\TeX, \TeX\ Live support it.
+% In Web2C based \TeX\ distributions (te\TeX, \TeX\ Live) it can be
+% enabled in the configuration file \xfile{texmf.cnf}:
+% \begin{quote}
+% |shell_escape = 1|
+% \end{quote}
+% Because of the security risk, it is better to do it on the
+% command line only:
+% \begin{quote}
+% \texttt{-shell-escape} (te\TeX, \TeX\ Live)\\
+% \texttt{--enable-write18} (MiK\TeX)
+% \end{quote}
+% Example:
+% \begin{quote}
+% |pdflatex -shell-escape test.tex|
+% \end{quote}
+% \end{itemize}
+%
% \section{Usage}
+%
+% The package is loaded after graphic\{s,x\}, e.g.:
+% \begin{quote}
+% |\usepackage[pdftex]{graphicx}|\\
+% |\usepackage{epstopdf}|
+% \end{quote}
+% Now images with extension `.eps' are detected
+% and supported:
+% \begin{itemize}
+% \item
+% Implicitly: |\includegraphics{bild}|\\
+% If \xfile{bild.eps} is present, but \xfile{bild.pdf} is missed,
+% then \xfile{bild.eps} is converted to \xfile{bild.pdf} that
+% is then included by \pdfTeX.
+% On the next ocurrences or on the next \pdfTeX\ run,
+% the PDF file is already available, so the
+% conversion step is skipped.
+% \item
+% Explicitly: |\includegraphics{bild.eps}|\\
+% Each time the conversion program is called.
+% \end{itemize}
+%
+% \subsection{Configuration}
+%
+% Package \xpackage{epstopdf} implements the forth argument
+% of \cs{DeclareGraphicsRule} for \pdfTeX. There conversion programs
+% can be configured and package \xpackage{epstopdf} declares:
+% \begin{quote}
+% |\DeclareGraphicsRule{.eps}{pdf}{.pdf}{`epstopdf #1}|
+% \end{quote}
+% Additionally the extension \xfile{.eps} is added to the
+% list of extensions that are recognized by package \xpackage{graphics},
+% see \cs{GraphicsExtensions}.
+%
+% Instead of \xprogram{epstopdf} other programs can be used,
+% for example \xprogram{ghostscript}:
+% \begin{quote}
+% |\DeclareGraphicsRule{.eps}{pdf}{.pdf}{`ps2pdf -dEPSCrop #1}|
+% \end{quote}
+%
+% \subsection{Other image formats}
+%
+% The support that package \xpackage{epstopdf} implements is not
+% limited to EPS files. Other image conversions can be declared.
+% The following example shows it for GIF images under Unix with
+% ImageMagick's \xprogram{convert}:
+%\begin{quote}
+%\begin{verbatim}
+%\DeclareGraphicsRule{.gif}{png}{.png}{%
+% `convert #1 `basename #1 .gif`.png%
+%}
+%\end{verbatim}
+%\end{quote}
+% Or without \xprogram{basename}:
+%\begin{quote}
%\begin{verbatim}
-% Required: * The program `epstopdf'.
-% * The feature `\write18' has to be enabled to get
-% the conversion via the program epstopdf work:
-% * command line option: -shell-escape
-% example: pdflatex -shell-escape test.tex
-% * configuraton file `texmf.cnf': shell_escape = 1
-%
-% Use: The package is loaded after graphic{s,x}, eg:
-% \usepackage[pdftex]{graphicx}
-% \usepackage{epstopdf}
-% Images with extension `.eps' are now detected
-% and supported:
-% * Implicitly: \includegraphics{bild}
-% If `bild.eps' can only be found,
-% then it is converted to the file `bild.pdf',
-% that will be used by pdfTeX.
-% On the next ocurrences or on the next pdfTeX run,
-% the pdf file is already available, so the
-% conversion step is skipped.
-% * Explicitly: \includegraphics{bild.eps}
-% Each time the conversion program is called.
+%\makeatletter
+%\DeclareGraphicsRule{.gif}{png}{.png}{%
+% `convert #1 \noexpand\Gin@base.png%
+%}
+%\makeatother
%\end{verbatim}
+%\end{quote}
+% The file extension \xfile{.gif} can be added to the extension list that
+% package \xpackage{graphics} searches if the file extension
+% is not given in \cs{includegraphics}.
+% The list can be set by \cs{GraphicsExtensions}.
+% The following example shows another way by adding \xfile{.gif} to the
+% list:
+%\begin{quote}
+%\begin{verbatim}
+%\makeatletter
+%\g@addto@macro\Gin@extensions{,.gif}
+%\makeatother
+%\end{verbatim}
+%\end{quote}
%
% \StopEventually{
% }
@@ -208,6 +296,11 @@ and the derived files
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@epstopdf.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -234,6 +327,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
@@ -249,7 +347,7 @@ and the derived files
\fi
\expandafter\x\csname ver@epstopdf.sty\endcsname
\ProvidesPackage{epstopdf}%
- [2006/08/26 v1.3 Conversion with epstopdf on the fly (HO)]
+ [2007/04/26 v1.4 Conversion with epstopdf on the fly (HO)]
% \end{macrocode}
%
% \subsection{Help macros for miniltx mode}
@@ -343,7 +441,7 @@ and the derived files
% \end{macrocode}
%
% Adding .eps at the end of the list of extensions,
-% defined by \cs{DeclareGraphicsExtensions}.
+% defined by \cs{GraphicsExtensions}.
% \begin{macrocode}
\@ifundefined{Gin@extensions}{%
\def\Gin@extensions{.eps}%
@@ -516,6 +614,10 @@ and the derived files
% Check for \cs{write18} if available and print a warning
% if the feature is not enabled.
% \end{Version}
+% \begin{Version}{2007/04/26 v1.4}
+% \item
+% Documentation rewritten and extended.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/iflang.dtx b/Master/texmf-dist/source/latex/oberdiek/iflang.dtx
index d946a52587c..8762ad48fba 100644
--- a/Master/texmf-dist/source/latex/oberdiek/iflang.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/iflang.dtx
@@ -70,7 +70,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: iflang 2007/04/12 v1.2 Language checks (HO)}
+\Msg{* Package: iflang 2007/04/26 v1.3 Language checks (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -135,7 +135,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{iflang.drv}%
- [2007/04/12 v1.2 Language checks (HO)]%
+ [2007/04/26 v1.3 Language checks (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -144,7 +144,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{676}
+% \CheckSum{605}
%
% \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
@@ -165,7 +165,7 @@ and the derived files
% \GetFileInfo{iflang.drv}
%
% \title{The \xpackage{iflang} package}
-% \date{2007/04/12 v1.2}
+% \date{2007/04/26 v1.3}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -262,6 +262,11 @@ and the derived files
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@iflang.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -288,6 +293,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
@@ -303,7 +313,7 @@ and the derived files
\fi
\expandafter\x\csname ver@iflang.sty\endcsname
\ProvidesPackage{iflang}%
- [2007/04/12 v1.2 Language checks (HO)]
+ [2007/04/26 v1.3 Language checks (HO)]
% \end{macrocode}
%
% \begin{macrocode}
@@ -383,68 +393,12 @@ and the derived files
% \subsubsection{Macros for messages}
%
% \begin{macrocode}
-\begingroup
-\ifnum\expandafter\ifx\csname PackageInfo\endcsname\relax
- 1%
- \fi
- \expandafter\ifx\csname PackageWarningNoLine\endcsname\relax
- 1%
- \fi
- 0=0 %
- \endgroup
- \expandafter\@secondoftwo
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \input infwarerr.sty\relax
\else
- \endgroup
- \expandafter\@firstoftwo
+ \RequirePackage{infwarerr}%
\fi
-{%
- \def\IfLang@GenericMessage#1#2#3{%
- \begingroup
- \newlinechar=10 %
- \def\@spaces{\space\space\space\space}%
- \ifcase#1 %
- \def\MessageBreak{%
- ^^J(iflang) \@spaces\@spaces\@spaces\@spaces
- }%
- \or
- \def\MessageBreak{%
- ^^J(iflang)\@spaces\@spaces\@spaces\@spaces
- }%
- \or
- \def\MessageBreak{%
- ^^J(iflang) \space\@spaces\@spaces\@spaces
- }%
- \fi
- \expandafter\ifx\csname if#3\expandafter\endcsname
- \csname iftrue\endcsname
- \def\on@line{ on input line \the\inputlineno}%
- \else
- \def\on@line{}%
- \fi
- \immediate\write\ifcase#1 -1\or 16\fi{%
- ^^JPackage iflang %
- \ifcase#1 Info\or Warning\or Error\fi
- : #2\on@line.^^J%
- }%
- \endgroup
- }%
- \def\IfLang@Info#1{%
- \IfLang@GenericMessage{0}{#1}{false}%
- }%
- \def\IfLang@Warning#1{%
- \IfLang@GenericMessage{1}{#1}{false}%
- }%
-}{%
- \def\IfLang@Info#1{%
- \begingroup
- \def\on@line{}%
- \PackageInfo{iflang}{#1}%
- \endgroup
- }%
- \def\IfLang@Warning#1{%
- \PackageWarningNoLine{iflang}{#1}%
- }%
-}
% \end{macrocode}
%
% \subsubsection{Support for \xfile{etex.src}}
@@ -453,10 +407,14 @@ and the derived files
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname uselanguage\endcsname\relax
- \IfLang@Info{Naming convention for patterns: babel}%
+ \@PackageInfoNoLine{iflang}{%
+ Naming convention for patterns: babel%
+ }%
\def\IfLang@prefix{l@}%
\else
- \IfLang@Info{Naming convention for patterns: etex.src}%
+ \@PackageInfoNoLine{iflang}{%
+ Naming convention for patterns: etex.src%
+ }%
\def\IfLang@prefix{lang@}%
\let\IfLang@OrgUseLanguage\uselanguage
\def\uselanguage#1{%
@@ -477,12 +435,14 @@ and the derived files
\expandafter\ifx\csname languagename\endcsname\relax
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname lang@USenglish\endcsname\relax
- \IfLang@Warning{\string\lang@USenglish\space is missing}%
+ \@PackageWarningNoLine{iflang}{%
+ \string\lang@USenglish\space is missing%
+ }%
\else
\ifnum\lang@USenglish=\language
\def\languagename{USenglish}%
\else
- \IfLang@Warning{%
+ \@PackageWarningNoLine{iflang}{%
\string\languagename\space is not set,\MessageBreak
current language is unknown%
}%
@@ -492,7 +452,9 @@ and the derived files
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname languagename\endcsname\relax
- \IfLang@Info{\string\languagename\space is not set}%
+ \@PackageInfoNoLine{iflang}{%
+ \string\languagename\space is not set%
+ }%
\fi
% \end{macrocode}
%
@@ -611,7 +573,7 @@ and the derived files
\expandafter\ifx\csname languagename\endcsname\relax
\else
\IfLanguagePatterns{\languagename}{}{%
- \IfLang@Warning{%
+ \@PackageWarningNoLine{iflang}{%
Mismatch between \string\language\space
(patterns)\MessageBreak
and setting of \string\languagename
@@ -945,6 +907,10 @@ and the derived files
% \item
% Documentation improved.
% \end{Version}
+% \begin{Version}{2007/04/26 v1.3}
+% \item
+% Use of package \xpackage{infwarerr}.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/ifpdf.dtx b/Master/texmf-dist/source/latex/oberdiek/ifpdf.dtx
index cf4d584e148..3dc3349986b 100644
--- a/Master/texmf-dist/source/latex/oberdiek/ifpdf.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/ifpdf.dtx
@@ -137,7 +137,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{156}
+% \CheckSum{166}
%
% \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
@@ -312,6 +312,11 @@ and the derived files
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@ifpdf.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -338,6 +343,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
diff --git a/Master/texmf-dist/source/latex/oberdiek/ifvtex.dtx b/Master/texmf-dist/source/latex/oberdiek/ifvtex.dtx
index 3db185974c8..616cdf8ba30 100644
--- a/Master/texmf-dist/source/latex/oberdiek/ifvtex.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/ifvtex.dtx
@@ -137,7 +137,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{224}
+% \CheckSum{234}
%
% \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
@@ -223,6 +223,11 @@ and the derived files
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@ifvtex.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -249,6 +254,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
diff --git a/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx b/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx
new file mode 100644
index 00000000000..8de246f7b9f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx
@@ -0,0 +1,952 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2007 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 infwarerr.dtx
+% and the derived files
+% infwarerr.sty, infwarerr.pdf, infwarerr.ins, infwarerr.drv,
+% infwarerr-test1.tex, infwarerr-test2.tex.
+%
+% Distribution:
+% CTAN:macros/latex/contrib/oberdiek/infwarerr.dtx
+% CTAN:macros/latex/contrib/oberdiek/infwarerr.pdf
+%
+% Unpacking:
+% (a) If infwarerr.ins is present:
+% tex infwarerr.ins
+% (b) Without infwarerr.ins:
+% tex infwarerr.dtx
+% (c) If you insist on using LaTeX
+% latex \let\install=y\input{infwarerr.dtx}
+% (quote the arguments according to the demands of your shell)
+%
+% Documentation:
+% (a) If infwarerr.drv is present:
+% latex infwarerr.drv
+% (b) Without infwarerr.drv:
+% latex infwarerr.dtx; ...
+% The class ltxdoc loads the configuration file ltxdoc.cfg
+% if available. Here you can specify further options, e.g.
+% use A4 as paper format:
+% \PassOptionsToClass{a4paper}{article}
+%
+% Programm calls to get the documentation (example):
+% pdflatex infwarerr.dtx
+% makeindex -s gind.ist infwarerr.idx
+% pdflatex infwarerr.dtx
+% makeindex -s gind.ist infwarerr.idx
+% pdflatex infwarerr.dtx
+%
+% Installation:
+% TDS:tex/generic/oberdiek/infwarerr.sty
+% TDS:doc/latex/oberdiek/infwarerr.pdf
+% TDS:doc/latex/oberdiek/infwarerr-test1.tex
+% TDS:doc/latex/oberdiek/infwarerr-test2.tex
+% TDS:source/latex/oberdiek/infwarerr.dtx
+%
+%<*ignore>
+\begingroup
+ \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase 0\ifx\install y1\fi\expandafter
+ \ifx\csname processbatchFile\endcsname\relax\else1\fi
+ \ifx\fmtname\x\else 1\fi\relax
+\else\csname fi\endcsname
+%</ignore>
+%<*install>
+\input docstrip.tex
+\Msg{************************************************************************}
+\Msg{* Installation}
+\Msg{* Package: infwarerr 2007/04/26 v1.0 Providing info/warning/message (HO)}
+\Msg{************************************************************************}
+
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2007 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 infwarerr.dtx
+and the derived files
+ infwarerr.sty, infwarerr.pdf, infwarerr.ins, infwarerr.drv,
+ infwarerr-test1.tex, infwarerr-test2.tex.
+
+\endpreamble
+
+\generate{%
+ \file{infwarerr.ins}{\from{infwarerr.dtx}{install}}%
+ \file{infwarerr.drv}{\from{infwarerr.dtx}{driver}}%
+ \usedir{tex/generic/oberdiek}%
+ \file{infwarerr.sty}{\from{infwarerr.dtx}{package}}%
+ \usedir{doc/latex/oberdiek}%
+ \file{infwarerr-test1.tex}{\from{infwarerr.dtx}{test1}}%
+ \file{infwarerr-test2.tex}{\from{infwarerr.dtx}{test2}}%
+}
+
+\obeyspaces
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* infwarerr.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `infwarerr.drv'}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{infwarerr.drv}%
+ [2007/04/26 v1.0 Providing info/warning/message (HO)]%
+\documentclass{ltxdoc}
+\usepackage{holtxdoc}
+\begin{document}
+ \DocInput{infwarerr.dtx}%
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{640}
+%
+% \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
+% Lower-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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \GetFileInfo{infwarerr.drv}
+%
+% \title{The \xpackage{infwarerr} package}
+% \date{2007/04/26 v1.0}
+% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% This package provides a complete set of macros for informations,
+% warnings and error messages with support for \plainTeX.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Documentation}
+%
+% Package \xpackage{infwarerr} defines the following set of commands,
+% given as pseudo regular expression:
+% \begin{quote}
+% \verb+\@(Package|Class)(Info|InfoNoLine|Warning|WarningNoLine|Error)+^^A
+% \kern-\rightmargin
+% \end{quote}
+% The first argument is the package or class in question. The second
+% argument contains the message text. \cs{MessageBreak} is supported.
+% In case of error messages, the third argument contains the help
+% text. Supported are \LaTeX's message texts \cs{@ehc}:
+% \begin{quote}
+% |Try typing <return> to proceed|\\
+% |If that doesn't work, type X <return> to quit.|
+% \end{quote}
+% and \cs{@ehd}:
+% \begin{quote}
+% |You're in trouble here. Try typing <return> to proceed|\\
+% |If that doesn't work, type X <return> to quit.|
+% \end{quote}
+%
+% The package is intended for macro writers that want to write
+% code that works for both \LaTeX\ and \plainTeX. If \LaTeX\ is
+% detected, then the macros of this package will only be wrappers
+% for \LaTeX's macros. Otherwise \LaTeX's macros will be mimicked
+% for use with \plainTeX.
+%
+% \StopEventually{
+% }
+%
+% \section{Implementation}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \subsection{Reload check and package identification}
+% Reload check, especially if the package is not used with \LaTeX.
+% \begin{macrocode}
+\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
+ \expandafter\let\expandafter\x\csname ver@infwarerr.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{infwarerr}{The package is already loaded}%
+ \endgroup
+ \expandafter\endinput
+ \fi
+\endgroup
+% \end{macrocode}
+% Package identification:
+% \begin{macrocode}
+\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
+ \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@infwarerr.sty\endcsname
+\ProvidesPackage{infwarerr}%
+ [2007/04/26 v1.0 Providing info/warning/message (HO)]
+% \end{macrocode}
+%
+% \subsection{Catcodes}
+%
+% \begin{macrocode}
+\expandafter\edef\csname InfWarErr@End\endcsname{%
+ \catcode39 \the\catcode39\relax % '
+ \catcode40 \the\catcode40\relax % (
+ \catcode41 \the\catcode41\relax % )
+ \catcode44 \the\catcode44\relax % ,
+ \catcode45 \the\catcode45\relax % -
+ \catcode46 \the\catcode46\relax % .
+ \catcode58 \the\catcode58\relax % :
+ \catcode60 \the\catcode60\relax % <
+ \catcode61 \the\catcode61\relax % =
+ \catcode62 \the\catcode62\relax % >
+ \catcode64 \the\catcode64\relax % @
+ \catcode94 \the\catcode94\relax % ^
+ \noexpand\endinput
+}
+\catcode39 12 % '
+\catcode40 12 % (
+\catcode41 12 % )
+\catcode44 12 % ,
+\catcode45 12 % -
+\catcode46 12 % .
+\catcode58 12 % :
+\catcode60 12 % <
+\catcode61 12 % =
+\catcode62 12 % >
+\catcode64 11 % @
+\catcode94 7 % ^
+% \end{macrocode}
+%
+% \subsection{\LaTeX\ detection}
+%
+% \begin{macrocode}
+\begingroup
+ \let\x=Y%
+ \def\check#1{%
+ \@check{Generic}{#1}%
+ \@check{Package}{#1}%
+ \@check{Class}{#1}%
+ }%
+ \def\@check#1#2{%
+ \expandafter\ifx\csname #1#2\endcsname\relax
+ \let\x=N%
+ \fi
+ }%
+ \check{Info}%
+ \check{Warning}%
+ \check{Error}%
+ \@check{Package}{WarningNoLine}%
+ \@check{Class}{WarningNoLine}%
+ \@check{}{@ehc}%
+ \@check{}{@ehd}%
+\expandafter\endgroup
+\ifx\x Y%
+% \end{macrocode}
+%
+% \subsection{Version for \LaTeX}
+%
+% \begin{macro}{\@PackageInfo}
+% \begin{macrocode}
+ \let\@PackageInfo\PackageInfo
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@PackageInfoNoLine}
+% \begin{macrocode}
+ \def\@PackageInfoNoLine#1#2{%
+ \PackageInfo{#1}{#2\@gobble}%
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassInfo}
+% \begin{macrocode}
+ \let\@ClassInfo\ClassInfo
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassInfoNoLine}
+% \begin{macrocode}
+ \def\@ClassInfoNoLine#1#2{%
+ \ClassInfo{#1}{#2\@gobble}%
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@PackageWarning}
+% \begin{macrocode}
+ \let\@PackageWarning\PackageWarning
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@PackageWarningNoLine}
+% \begin{macrocode}
+ \let\@PackageWarningNoLine\PackageWarningNoLine
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassWarning}
+% \begin{macrocode}
+ \let\@ClassWarning\ClassWarning
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassWarningNoLine}
+% \begin{macrocode}
+ \let\@ClassWarningNoLine\ClassWarningNoLine
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@PackageError}
+% \begin{macrocode}
+ \let\@PackageError\PackageError
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassError}
+% \begin{macrocode}
+ \let\@ClassError\ClassError
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+ \csname fi\endcsname
+ \InfWarErr@End
+\fi
+% \end{macrocode}
+%
+% \subsection{Version for \plainTeX}
+%
+% \begin{macro}{\InfWarErr@online}
+% \begin{macrocode}
+\begingroup\expandafter\endgroup
+\ifcase\expandafter\ifx\csname inputlineno\endcsname\relax
+ 0 %
+ \else
+ \ifnum\inputlineno<0 %
+ 0 %
+ \else
+ 1 %
+ \fi
+ \fi
+ \def\InfWarErr@online{}%
+\else
+ \def\InfWarErr@online{ on input line \the\inputlineno}%
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\InfWarErr@protected}
+% \begin{macrocode}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname protected\endcsname\relax
+ \def\InfWarErr@protected{}%
+\else
+ \let\InfWarErr@protected\protected
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\InfWarErr@unused}
+% \begin{macrocode}
+\chardef\InfWarErr@unused=16 %
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\InfWarErr@ehc}
+% \begin{macrocode}
+\def\InfWarErr@ehc{%
+ Try typing \space <return> \space to proceed.\MessageBreak
+ If that doesn't work, type \space X <return> \space to quit.%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\InfWarErr@ehd}
+% \begin{macrocode}
+\def\InfWarErr@ehd{%
+ You're in trouble here. \space\@ehc
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\InfWarErr@GenericInfo}
+% \begin{macrocode}
+\InfWarErr@protected\def\InfWarErr@GenericInfo#1#2{%
+ \begingroup
+ \let\on@line\InfWarErr@online
+ \long\def\@gobble##1{}%
+ \def\@spaces{\space\space\space\space}%
+ \def\MessageBreak{^^J#1}%
+ \newlinechar=10 %
+ \immediate\write-1{#2\on@line.}%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\InfWarErr@GenericWarning}
+% \begin{macrocode}
+\InfWarErr@protected\def\InfWarErr@GenericWarning#1#2{%
+ \begingroup
+ \let\on@line\InfWarErr@online
+ \long\def\@gobble##1{}%
+ \def\@spaces{\space\space\space\space}%
+ \def\MessageBreak{^^J#1}%
+ \newlinechar=10 %
+ \immediate\write\InfWarErr@unused{^^J#2\on@line.^^J}%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\InfWarErr@GenericError}
+% Old \TeX\ versions below 3.141 where |^^J| is not working
+% as newline in error message and help texts are not supported.
+% \begin{macrocode}
+\InfWarErr@protected\def\InfWarErr@GenericError#1#2#3#4{%
+ \begingroup
+ \immediate\write\InfWarErr@unused{}%
+ \newlinechar=10 %
+ \def\@spaces{\space\space\space\space}%
+ \let\@ehc\InfWarErr@ehc
+ \let\@ehd\InfWarErr@ehd
+ \let\on@line\InfWarErr@online
+ \def\MessageBreak{^^J}%
+ \edef\InfWarErr@help{\noexpand\errhelp{#4}}%
+ \InfWarErr@help
+ \def\MessageBreak{^^J#1}%
+ \errmessage{%
+ #2.^^J^^J%
+ #3^^J%
+ Type \space H <return> \space for immediate help%
+ }%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@PackageInfo}
+% \begin{macrocode}
+\def\@PackageInfo#1#2{%
+ \InfWarErr@GenericInfo{%
+ (#1) \@spaces\@spaces\@spaces
+ }{%
+ Package #1 Info: #2%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@PackageInfoNoLine}
+% \begin{macrocode}
+\def\@PackageInfoNoLine#1#2{%
+ \@PackageInfo{#1}{#2\@gobble}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassInfo}
+% \begin{macrocode}
+\def\@ClassInfo#1#2{%
+ \InfWarErr@GenericInfo{%
+ (#1) \space\space\@spaces\@spaces
+ }{%
+ Class #1 Info: #2%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassInfoNoLine}
+% \begin{macrocode}
+\def\@ClassInfoNoLine#1#2{%
+ \@ClassInfo{#1}{#2\@gobble}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@PackageWarning}
+% \begin{macrocode}
+\def\@PackageWarning#1#2{%
+ \InfWarErr@GenericWarning{%
+ (#1)\@spaces\@spaces\@spaces\@spaces
+ }{%
+ Package #1 Warning: #2%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@PackageWarningNoLine}
+% \begin{macrocode}
+\def\@PackageWarningNoLine#1#2{%
+ \@PackageWarning{#1}{#2\@gobble}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassWarning}
+% \begin{macrocode}
+\def\@ClassWarning#1#2{%
+ \InfWarErr@GenericWarning{%
+ (#1) \space\@spaces\@spaces\@spaces
+ }{%
+ Class #1 Warning: #2%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassWarningNoLine}
+% \begin{macrocode}
+\def\@ClassWarningNoLine#1#2{%
+ \@ClassWarning{#1}{#2\@gobble}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@PackageError}
+% \begin{macrocode}
+\def\@PackageError#1#2#3{%
+ \InfWarErr@GenericError{%
+ (#1)\@spaces\@spaces\@spaces\@spaces
+ }{%
+ Package #1 Error: #2%
+ }{%
+ See the #1 package documentation for explanation.%
+ }{#3}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@ClassError}
+% \begin{macrocode}
+\def\@ClassError#1#2#3{%
+ \InfWarErr@GenericError{%
+ (#1) \space\@spaces\@spaces\@spaces
+ }{%
+ Class #1 Error: #2%
+ }{%
+ See the #1 class documentation for explanation.%
+ }{#3}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\InfWarErr@End
+%</package>
+% \end{macrocode}
+%
+% \section{Test}
+%
+% \begin{macrocode}
+%<*test1>
+\let\PackageInfo\relax
+\input infwarerr.sty\relax
+\let\OrgWrite\write
+\chardef\WriteUnused=16 %
+\def\msg#{\immediate\OrgWrite\WriteUnused}
+\msg{File: infwarerr-test1.tex 2007/04/26 v1.0 Test file for plain-TeX}
+\catcode64=11 %
+%</test1>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*test2>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{infwarerr-test2.tex}[2007/04/26 v1.0 Test file for LaTeX]
+\RequirePackage{infwarerr}
+\makeatletter
+\let\OrgWrite\write
+\chardef\WriteUnused=\@unused
+\def\msg#{\immediate\OrgWrite\WriteUnused}
+%</test2>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*test1|test2>
+\def\pkgname{PACKAGE}
+\def\clsname{CLASS}
+\def\msgtext{MESSAGE\MessageBreak SECOND LINE}
+\def\hlptext{HELP\MessageBreak SECOND LINE}
+
+\let\OrgWrite\write
+\let\OrgErrMessage\errmessage
+
+\def\write#1#{%
+ \@write{#1}%
+}
+\def\@write#1#2{%
+ \OrgWrite#1{#2}%
+ \xdef\WriteNum{\number#1}%
+ \xdef\WriteText{#2}%
+}
+\def\TestFailed#1#2{%
+ \OrgErrMessage{Test (\string#1) failed: #2}%
+}
+\def\TestWrite#1#2#3{%
+ \ifnum\WriteNum=#2\relax
+ \else
+ \TestFailed#1{write stream number: \WriteNum <> #2}%
+ \fi
+ \begingroup
+ \let~\space
+ \edef\TestString{#3}%
+ \ifx\WriteText\TestString
+ \else
+ \msg{}%
+ \msg{[\WriteText]}%
+ \msg{<>}%
+ \msg{[#3]}%
+ \TestFailed#1{write text}%
+ \fi
+ \endgroup
+}
+\newtoks\ErrHelpToks
+\def\errmessage#1{%
+ \global\ErrHelpToks=\expandafter{\the\errhelp}%
+ \msg{**************** error message ****************}%
+ \msg{! #1}%
+ \msg{**************** help message *****************}%
+ \msg{\the\errhelp}%
+ \msg{***********************************************}%
+ \xdef\ErrMessage{! #1}%
+}
+\def\TestInfo{%
+ \@PackageInfo\pkgname\msgtext
+ \TestWrite\@PackageInfo{-1}{%
+ Package PACKAGE Info: MESSAGE^^J%
+ (PACKAGE)~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
+ }%
+ \@PackageInfoNoLine\pkgname\msgtext
+ \TestWrite\@PackageInfoNoLine{-1}{%
+ Package PACKAGE Info: MESSAGE^^J%
+ (PACKAGE)~~~~~~~~~~~~~SECOND LINE.%
+ }%
+ \@ClassInfo\clsname\msgtext
+ \TestWrite\@ClassInfo{-1}{%
+ Class CLASS Info: MESSAGE^^J%
+ (CLASS)~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
+ }%
+ \@ClassInfoNoLine\clsname\msgtext
+ \TestWrite\@ClassInfoNoLine{-1}{%
+ Class CLASS Info: MESSAGE^^J%
+ (CLASS)~~~~~~~~~~~SECOND LINE.%
+ }%
+}
+\def\TestWarning{%
+ \@PackageWarning\pkgname\msgtext
+ \TestWrite\@PackageWarning\WriteUnused{%
+ ^^J%
+ Package PACKAGE Warning: MESSAGE^^J%
+ (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
+ ^^J%
+ }%
+ \@PackageWarningNoLine\pkgname\msgtext
+ \TestWrite\@PackageWarningNoLine\WriteUnused{%
+ ^^J%
+ Package PACKAGE Warning: MESSAGE^^J%
+ (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.%
+ ^^J%
+ }%
+ \@ClassWarning\clsname\msgtext
+ \TestWrite\@ClassWarning\WriteUnused{%
+ ^^J%
+ Class CLASS Warning: MESSAGE^^J%
+ (CLASS)~~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
+ ^^J%
+ }%
+ \@ClassWarningNoLine\clsname\msgtext
+ \TestWrite\@ClassWarningNoLine\WriteUnused{%
+ ^^J%
+ Class CLASS Warning: MESSAGE^^J%
+ (CLASS)~~~~~~~~~~~~~~SECOND LINE.%
+ ^^J%
+ }%
+}
+\def\TestError{%
+%<test2> \let\write\OrgWrite
+ \@PackageError\pkgname\msgtext\hlptext
+ \@TestError\@PackageError{%
+ ! Package PACKAGE Error: MESSAGE^^J%
+ (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
+ ^^J%
+ See the PACKAGE package documentation for explanation.^^J%
+ Type~~H <return>~~for immediate help%
+ }{%
+ HELP^^J%
+ SECOND LINE%
+ }%
+ \@ClassError\clsname\msgtext\hlptext
+ \@TestError\@ClassError{%
+ ! Class CLASS Error: MESSAGE^^J%
+ (CLASS)~~~~~~~~~~~~~~SECOND LINE.^^J%
+ ^^J%
+ See the CLASS class documentation for explanation.^^J%
+ Type~~H <return>~~for immediate help%
+ }{%
+ HELP^^J%
+ SECOND LINE%
+ }%
+ \@PackageError\pkgname\msgtext\@ehc
+ \@TestError\@PackageError{%
+ ! Package PACKAGE Error: MESSAGE^^J%
+ (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
+ ^^J%
+ See the PACKAGE package documentation for explanation.^^J%
+ Type~~H <return>~~for immediate help%
+ }{%
+ Try typing~~<return>~~to proceed.^^J%
+ If that doesn't work, type~~X <return>~~to quit.%
+ }%
+ \@PackageError\pkgname\msgtext\@ehd
+ \@TestError\@PackageError{%
+ ! Package PACKAGE Error: MESSAGE^^J%
+ (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
+ ^^J%
+ See the PACKAGE package documentation for explanation.^^J%
+ Type~~H <return>~~for immediate help%
+ }{%
+ You're in trouble here.~~Try typing~~<return>~~to proceed.^^J%
+ If that doesn't work, type~~X <return>~~to quit.%
+ }%
+}
+\def\@TestError#1#2#3{%
+ \begingroup
+ \let~\space
+ \edef\x{#2}%
+%<test2> \@onelevel@sanitize\x
+%<test2> \@onelevel@sanitize\ErrMessage
+ \ifx\x\ErrMessage
+ \else
+ \msg{}%
+ \msg{[\ErrMessage]}%
+ \msg{<>}%
+ \msg{[\x]}%
+ \TestFailed#1{errmessage text}%
+ \fi
+ \edef\x{\the\ErrHelpToks}%
+ \edef\y{#3}%
+ \ifx\x\y
+ \else
+ \msg{}%
+ \msg{[\the\ErrHelpToks]}%
+ \msg{<>}%
+ \msg{[\y]}%
+ \TestFailed#1{errhelp text}%
+ \fi
+ \endgroup
+}
+\TestInfo
+\TestWarning
+\TestError
+%</test1|test2>
+%<test1>\end
+%<test2>\@@end
+% \end{macrocode}
+%
+% \section{Installation}
+%
+% \subsection{Download}
+%
+% \paragraph{Package.} This package is available on
+% CTAN\footnote{\url{ftp://ftp.ctan.org/tex-archive/}}:
+% \begin{description}
+% \item[\CTAN{macros/latex/contrib/oberdiek/infwarerr.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/oberdiek/infwarerr.pdf}] Documentation.
+% \end{description}
+%
+%
+% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
+% are also available in a TDS compliant ZIP archive. There
+% the packages are already unpacked and the documentation files
+% are generated. The files and directories obey the TDS standard.
+% \begin{description}
+% \item[\CTAN{macros/latex/contrib/oberdiek/oberdiek-tds.zip}]
+% \end{description}
+%
+% \subsection{Bundle installation}
+%
+% \paragraph{Unpacking.} Unpack the \xfile{oberdiek-tds.zip} in the
+% TDS tree (also known as \xfile{texmf} tree) of your choice.
+% Example (linux):
+% \begin{quote}
+% |unzip oberdiek-tds.zip -d ~/texmf|
+% \end{quote}
+%
+% \paragraph{Script installation.}
+% Check the directory \xfile{TDS:scripts/oberdiek/} for
+% scripts that need further installation steps.
+% Package \xpackage{attachfile2} comes with the Perl script
+% \xfile{pdfatfi.pl} that should be installed in such a way
+% that it can be called as \texttt{pdfatfi}.
+% Example (linux):
+% \begin{quote}
+% |chmod +x scripts/oberdiek/pdfatfi.pl|\\
+% |cp scripts/oberdiek/pdfatfi.pl /usr/local/bin/|
+% \end{quote}
+%
+% \subsection{Package installation}
+%
+% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
+% \docstrip\ archive. The files are extracted by running the
+% \xfile{.dtx} through \plainTeX:
+% \begin{quote}
+% \verb|tex infwarerr.dtx|
+% \end{quote}
+%
+% \paragraph{TDS.} Now the different files must be moved into
+% the different directories in your installation TDS tree
+% (also known as \xfile{texmf} tree):
+% \begin{quote}
+% \sbox0{^^A
+% \begin{tabular}{@{}>{\ttfamily}l@{$\quad\rightarrow\quad$}>{\ttfamily}l@{}}
+% infwarerr.sty & tex/generic/oberdiek/infwarerr.sty\\
+% infwarerr.pdf & doc/latex/oberdiek/infwarerr.pdf\\
+% infwarerr-test1.tex & doc/latex/oberdiek/infwarerr-test1.tex\\
+% infwarerr-test2.tex & doc/latex/oberdiek/infwarerr-test2.tex\\
+% infwarerr.dtx & source/latex/oberdiek/infwarerr.dtx\\
+% \end{tabular}^^A
+% }%
+% \ifdim\wd0>\linewidth
+% \mbox{}\nobreak\hskip0pt minus\leftmargin
+% \usebox0
+% \nobreak\hskip0pt minus\rightmargin
+% \else
+% \usebox0
+% \fi
+% \end{quote}
+% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
+% TDS installing feature, then some files can already be in the right
+% place, see the documentation of \docstrip.
+%
+% \subsection{Refresh file name databases}
+%
+% If your \TeX~distribution
+% (\teTeX, \mikTeX, \dots) relies on file name databases, you must refresh
+% these. For example, \teTeX\ users run \verb|texhash| or
+% \verb|mktexlsr|.
+%
+% \subsection{Some details for the interested}
+%
+% \paragraph{Attached source.}
+%
+% The PDF documentation on CTAN also includes the
+% \xfile{.dtx} source file. It can be extracted by
+% AcrobatReader 6 or higher. Another option is \textsf{pdftk},
+% e.g. unpack the file into the current directory:
+% \begin{quote}
+% \verb|pdftk infwarerr.pdf unpack_files output .|
+% \end{quote}
+%
+% \paragraph{Unpacking with \LaTeX.}
+% The \xfile{.dtx} chooses its action depending on the format:
+% \begin{description}
+% \item[\plainTeX:] Run \docstrip\ and extract the files.
+% \item[\LaTeX:] Generate the documentation.
+% \end{description}
+% If you insist on using \LaTeX\ for \docstrip\ (really,
+% \docstrip\ does not need \LaTeX), then inform the autodetect routine
+% about your intention:
+% \begin{quote}
+% \verb|latex \let\install=y\input{infwarerr.dtx}|
+% \end{quote}
+% Do not forget to quote the argument according to the demands
+% of your shell.
+%
+% \paragraph{Generating the documentation.}
+% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
+% the documentation. The process can be configured by the
+% configuration file \xfile{ltxdoc.cfg}. For instance, put this
+% line into this file, if you want to have A4 as paper format:
+% \begin{quote}
+% \verb|\PassOptionsToClass{a4paper}{article}|
+% \end{quote}
+% An example follows how to generate the
+% documentation with pdf\LaTeX:
+% \begin{quote}
+%\begin{verbatim}
+%pdflatex infwarerr.dtx
+%makeindex -s gind.ist infwarerr.idx
+%pdflatex infwarerr.dtx
+%makeindex -s gind.ist infwarerr.idx
+%pdflatex infwarerr.dtx
+%\end{verbatim}
+% \end{quote}
+%
+% \begin{History}
+% \begin{Version}{2007/04/26 v1.0}
+% \item
+% First version.
+% \end{Version}
+% \end{History}
+%
+% \PrintIndex
+%
+% \Finale
+\endinput
diff --git a/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx b/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
index acf7773b9cc..b9ea289db0d 100644
--- a/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
@@ -140,7 +140,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{585}
+% \CheckSum{595}
%
% \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
@@ -383,6 +383,11 @@ and the derived files
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@kvsetkeys.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -409,6 +414,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
diff --git a/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
index 27c7f6cbaa5..13069237b11 100644
--- a/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
+++ b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
@@ -1,5 +1,5 @@
% oberdiek.ins
-% 2007/04/19
+% 2007/04/27
%
% Copyright (C) 1999, 2001, 2006 by
% Heiko Oberdiek <oberdiek@uni-freiburg.de>
@@ -51,6 +51,7 @@
\batchinput{iflang.dtx}
\batchinput{ifpdf.dtx}
\batchinput{ifvtex.dtx}
+\batchinput{infwarerr.dtx}
\batchinput{inputenx.dtx}
\batchinput{kvoptions.dtx}
\batchinput{kvsetkeys.dtx}
diff --git a/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex b/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
index a29cae5a1c3..ba9606c23e6 100644
--- a/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
+++ b/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
@@ -6,7 +6,7 @@
\newcommand*{\Subject}{CTAN:\CTANdir}
\newcommand*{\Author}{Heiko Oberdiek}
\newcommand*{\Email}{oberdiek@uni-freiburg.de}
-\newcommand*{\Date}{2007/04/19}
+\newcommand*{\Date}{2007/04/27}
% Copyright (C) 2006 by
% Heiko Oberdiek <oberdiek@uni-freiburg.de>
@@ -162,7 +162,7 @@
[\entrysep]
\entry{alphalph}{2007/04/11}{1.5}{Converting numbers to letters}%
[\entrysep]
-\entry{atbegshi}{2007/04/19}{1.2}{At begin shipout hook}%
+\entry{atbegshi}{2007/04/27}{1.4}{At begin shipout hook}%
[\entrysep]
\entry{atenddvi}{2007/04/17}{1.1}{At end DVI hook}%
[\entrysep]
@@ -172,7 +172,7 @@
[\entrysep]
\entry{bmpsize}{2007/04/11}{1.2}{Extract size and resolution data from bitmap files}%
[\entrysep]
-\entry{bookmark}{2007/04/09}{0.8}{PDF bookmarks}%
+\entry{bookmark}{2007/04/25}{0.9}{PDF bookmarks}%
[\entrysep]
\entry{centernot}{2006/12/02}{1.0}{Centers the not symbol horizontally}%
[\entrysep]
@@ -186,9 +186,9 @@
[\entrysep]
\entry{embedfile}{2007/04/11}{1.1}{embed files into PDF}%
[\entrysep]
-\entry{engord}{2007/04/11}{1.3}{Provides the ifpdf switch}%
+\entry{engord}{2007/04/26}{1.4}{Provides the ifpdf switch}%
[\entrysep]
-\entry{epstopdf}{2006/08/26}{1.3}{Conversion with epstopdf on the fly}%
+\entry{epstopdf}{2007/04/26}{1.4}{Conversion with epstopdf on the fly}%
[\entrysep]
\entry{flags}{2007/03/07}{0.3}{Flag setting in bit fields}%
[\entrysep]
@@ -208,12 +208,14 @@
[\entrysep]
\entry{ifdraft}{2006/02/20}{1.2}{Switch for option draft}%
[\entrysep]
-\entry{iflang}{2007/04/12}{1.2}{Language checks}%
+\entry{iflang}{2007/04/26}{1.3}{Language checks}%
[\entrysep]
\entry{ifpdf}{2006/02/20}{1.4}{Provides the ifpdf switch}%
[\entrysep]
\entry{ifvtex}{2007/01/10}{1.2}{Switches for detecting VTeX and its modes}%
[\entrysep]
+\entry{infwarerr}{2007/04/26}{1.0}{Providing info/warning/message}%
+[\entrysep]
\entry{inputenx}{2007/04/11}{1.1}{Enhanced input encoding handling}%
[\entrysep]
\entry{kvoptions}{2007/04/11}{2.5}{Connects package keyval with \LaTeX{} options}%
@@ -228,9 +230,9 @@
[\entrysep]
\entry{pdfcolmk}{2007/04/11}{1.1}{PDFtex COLor MarK}%
[\entrysep]
-\entry{pdfcrypt}{2007/04/11}{0.9}{Setting pdf encryption}%
+\entry{pdfcrypt}{2007/04/26}{1.0}{Setting pdf encryption}%
[\entrysep]
-\entry{pdfescape}{2007/04/11}{1.3}{Provides hex, PDF name and string conversions}%
+\entry{pdfescape}{2007/04/21}{1.4}{Provides hex, PDF name and string conversions}%
[\entrysep]
\entry{pdflscape}{2007/04/17}{0.8}{Landscape pages in PDF}%
[\entrysep]
@@ -240,7 +242,7 @@
[\entrysep]
\entry{refcount}{2006/02/20}{3.0}{Data extraction from references}%
[\entrysep]
-\entry{setouterhbox}{2006/08/26}{1.4}{Set hbox in outer horizontal mode}%
+\entry{setouterhbox}{2007/04/26}{1.5}{Set hbox in outer horizontal mode}%
[\entrysep]
\entry{settobox}{2007/04/11}{1.3}{Getting box sizes}%
[\entrysep]
@@ -256,7 +258,7 @@
[\entrysep]
\entry{twoopt}{2006/02/20}{1.4}{Definitions with two optional arguments}%
[\entrysep]
-\entry{zref}{2007/04/06}{1.7}{New reference scheme for \LaTeXe{}}%
+\entry{zref}{2007/04/22}{1.8}{New reference scheme for \LaTeXe{}}%
\end{overview}
\section{Packages}
@@ -573,6 +575,15 @@ and sets the switches \cs{ifvtex}, \cs{ifvtex}\texttt{\meta{mode}},
\tocinclude{ifvtex}
\newpage
+\subsection{\pkgsectformat{infwarerr}}
+\label{infwarerr}
+\begin{abstract}
+This package provides a complete set of macros for informations,
+warnings and error messages with support for \plainTeX.
+\end{abstract}
+\tocinclude{infwarerr}
+
+\newpage
\subsection{\pkgsectformat{inputenx}}
\label{inputenx}
\begin{abstract}
diff --git a/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx
index f48e8c09a75..ac5c8db9aca 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx
@@ -1,6 +1,7 @@
% \iffalse meta-comment
%
-% Copyright (C) 2001, 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+% Copyright (C) 2001, 2006, 2007 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
@@ -66,7 +67,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: pdfcrypt 2007/04/11 v0.9 Setting pdf encryption (HO)}
+\Msg{* Package: pdfcrypt 2007/04/26 v1.0 Setting pdf encryption (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -76,7 +77,8 @@
This is a generated file.
-Copyright (C) 2001, 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+Copyright (C) 2001, 2006, 2007 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
@@ -126,7 +128,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{pdfcrypt.drv}%
- [2007/04/11 v0.9 Setting pdf encryption (HO)]%
+ [2007/04/26 v1.0 Setting pdf encryption (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -135,7 +137,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{731}
+% \CheckSum{676}
%
% \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
@@ -156,7 +158,7 @@ and the derived files
% \GetFileInfo{pdfcrypt.drv}
%
% \title{The \xpackage{pdfcrypt} package}
-% \date{2007/04/11 v0.9}
+% \date{2007/04/26 v1.0}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -386,48 +388,17 @@ and the derived files
}%
}{}
-\@ifundefined{PackageError}{%
- \def\PackageError#1#2#3{%
- \begingroup
- \newlinechar=10 %
- \errhelp{#3}%
- \errmessage{%
- \MessageBreak
- Package #1 Error: #2.\MessageBreak
- \MessageBreak
- See the #1 package documentation for explanation.\MessageBreak
- Type \space H <return> \space for immediate help%
- }%
- \endgroup
- }%
-}{}
-
-\@ifundefined{PackageWarning}{%
- \def\PackageWarning#1#2{%
- \begingroup
- \newlinechar=10 %
- \def\MessageBreak{%
- ^^J(#1)\@spaces\@spaces\@spaces\@spaces
- }%
- \immediate\write16{^^JPackage #1 Warning: #2\on@line.^^J}%
- \endgroup
- }%
-}{}
-
-\@ifundefined{PackageWarningNoLine}{%
- \def\PackageWarningNoLine#1#2{%
- \PackageWarning{#1}{#2\@gobble}%
- }%
-}{}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \input infwarerr.sty\relax
+\else
+ \RequirePackage{infwarerr}%
+\fi
\@ifundefined{@gobble}{%
\long\def\@gobble#1{}%
}{}
-\@ifundefined{on@line}{%
- \def\on@line{ on input line \the\inputlineno}%
-}{}
-
\@ifundefined{@empty}{%
\def\@empty{}%
}{}
@@ -437,14 +408,14 @@ and the derived files
%
% \begin{macrocode}
\ProvidesPackage{pdfcrypt}%
- [2007/04/11 v0.9 Setting pdf encryption (HO)]%
+ [2007/04/26 v1.0 Setting pdf encryption (HO)]%
% \end{macrocode}
%
% \begin{macrocode}
\@ifundefined{pdfcryptsetup}{%
\let\pdfcryptsetup\@gobble
}{%
- \PackageWarningNoLine{pdfcrypt}{Package pdfcrypt is already loaded}%
+ \@PackageWarningNoLine{pdfcrypt}{Package pdfcrypt is already loaded}%
\pc@endinput
}
% \end{macrocode}
@@ -452,7 +423,7 @@ and the derived files
% \begin{macrocode}
\newif\ifpc@nopdfcrypt
\ifx Y\nopdfcrypt
- \PackageWarningNoLine{pdfcrypt}{%
+ \@PackageWarningNoLine{pdfcrypt}{%
Encryption disabled by \string \nopdfcrypt\space request%
}%
\global\pc@nopdfcrypttrue
@@ -470,7 +441,7 @@ and the derived files
\ifcase\pdfoutput
\else
\@ifundefined{pdfcrypt}{%
- \PackageError{pdfcrypt}{%
+ \@PackageError{pdfcrypt}{%
PDF encryption is not supported with this pdfTeX%
}{%
Encryption support was added in 0.14h (2001/03/10)\MessageBreak
@@ -488,7 +459,7 @@ and the derived files
}{%
\ifnum\OpMode=1 %
\ifnum\@ifundefined{VTeXversion}0\VTeXversion<735 %
- \PackageError{pdfcrypt}{%
+ \@PackageError{pdfcrypt}{%
PDF encryption is not supported with this VTeX%
}{%
You need VTeX 7.35 or higher.%
@@ -527,34 +498,6 @@ and the derived files
\def\@nameuse#1{\csname #1\endcsname}%
}{}
-\@ifundefined{MessageBreak}{%
- \def\MessageBreak{^^J}%
-}{}
-
-\@ifundefined{@ehc}{%
- \def\@ehc{%
- Try typing \space <return> \space to proceed.\MessageBreak
- If that doesn't work, type \space X <return> \space
- to quit.%
- }%
-}{}
-
-\@ifundefined{PackageInfo}{%
- \def\PackageInfo#1#2{%
- \begingroup
- \newlinechar=10 %
- \def\MessageBreak{%
- ^^J(#1) \space\@spaces\@spaces\@spaces
- }%
- \wlog{Package #1 Info: #2}%
- \endgroup
- }%
-}{}
-
-\@ifundefined{@spaces}{%
- \def\@spaces{\space\space\space\space}%
-}{}
-
\def\pc@KeyvalRestore{%
\let\pc@KeyvalRestore\@undefined
}
@@ -626,7 +569,7 @@ and the derived files
\edef\pc@temp{\catcode`\noexpand\"=\the\catcode`\"\relax}
\@makeother\"
\def\pc@set{%
- \PackageInfo{pdfcrypt}{%
+ \@PackageInfo{pdfcrypt}{%
\ifpc@debug
\ifx\pc@owner\@empty
No owner password%
@@ -657,10 +600,10 @@ and the derived files
\else
\@ifundefined{pc@set@\pc@driver}{%
\ifx\pc@driver\@empty
- \PackageError{pdfcrypt}{No driver for encryption %
+ \@PackageError{pdfcrypt}{No driver for encryption %
support found}\@ehc
\else
- \PackageError{pdfcrypt}{Cannot set encryption for %
+ \@PackageError{pdfcrypt}{Cannot set encryption for %
unknown driver `\pc@driver'}\@ehc
\fi
}{%
@@ -766,7 +709,7 @@ and the derived files
\fi
\fi
\ifx\pc@temp\relax
- \PackageWarning{pdfcrypt}{%
+ \@PackageWarning{pdfcrypt}{%
Unexpected value \string`#3\string' of %
option \string`#2\string'\MessageBreak
instead of %
@@ -829,7 +772,7 @@ and the derived files
\pc@set
\global\let\pc@set\relax
\gdef\pdfcryptsetup##1{%
- \PackageWarning{pdfcrypt}{%
+ \@PackageWarning{pdfcrypt}{%
Encryption options are already set\MessageBreak
new values are ignored%
}%
@@ -847,7 +790,7 @@ and the derived files
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname InputIfFileExists\endcsname\relax
- \PackageInfo{pdfcrypt}{%
+ \@PackageInfo{pdfcrypt}{%
Configuration file pdfcrypt.cfg not supported.%
}%
\else
@@ -1074,6 +1017,10 @@ and the derived files
% \item
% Line ends sanitized.
% \end{Version}
+% \begin{Version}{2007/04/26 v1.0}
+% \item
+% Use of package \xpackage{infwarerr}.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
index 56419efe093..f68dd90b1aa 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
@@ -71,7 +71,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: pdfescape 2007/04/11 v1.3 Provides hex, PDF name and string conversions (HO)}
+\Msg{* Package: pdfescape 2007/04/21 v1.4 Provides hex, PDF name and string conversions (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -137,7 +137,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{pdfescape.drv}%
- [2007/04/11 v1.3 Provides hex, PDF name and string conversions (HO)]%
+ [2007/04/21 v1.4 Provides hex, PDF name and string conversions (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -146,7 +146,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{1074}
+% \CheckSum{1812}
%
% \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
@@ -167,7 +167,7 @@ and the derived files
% \GetFileInfo{pdfescape.drv}
%
% \title{The \xpackage{pdfescape} package}
-% \date{2007/04/11 v1.3}
+% \date{2007/04/21 v1.4}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -193,7 +193,8 @@ and the derived files
% Note that the argument \meta{string} is expanded before
% the conversion.
%
-% For example, if \pdfTeX\ >= 1.30 is present, then \cs{EdefEscapeHex}
+% For example, if \pdfTeX\ \textgreater= 1.30 is present,
+% then \cs{EdefEscapeHex}
% becomes to:
% \begin{quote}
%\begin{verbatim}
@@ -210,6 +211,24 @@ and the derived files
% The input strings may contain shorthand characters of package
% \xpackage{babel}.
%
+% \subsection{Additional unescape macros}
+%
+% \begin{declcs}{EdefUnescapeName} \M{cmd} \M{string}\\
+% \end{declcs}
+% Sequences of a hash sign with two hexadecimal digits are
+% converted to the corresponding character (PDF-1.2).
+% A hash sign that is not followed by two hexadecimal digits
+% is left unchanged. The catcodes in the result string follow
+% TeX's conventions. The space has catcode 10 (space) and
+% the other characters have catcode 12 (other).
+%
+% \begin{declcs}{EdefUnescapeString} \M{cmd} \M{string}\\
+% \end{declcs}
+% Macro \meta{cmd} stores the unescaped string in \meta{string}.
+% All the rules for literal strings are implemented, see
+% PDF specification.
+% The catcodes in the result string follow TeX's conventions.
+%
% \StopEventually{
% }
%
@@ -219,10 +238,44 @@ and the derived files
%<*package>
% \end{macrocode}
%
+% \subsection{Catcodes}
+%
+% \begin{macrocode}
+\expandafter\edef\csname PE@AtEnd\endcsname{%
+ \catcode64 \the\catcode64\relax
+}
+\catcode64 11 % @
+\def\PE@EnsureCode#1#2#3{%
+ \edef\PE@AtEnd{%
+ \PE@AtEnd
+ #1#2 \the#1#2\relax
+ }%
+ #1#2 #3\relax
+}
+\PE@EnsureCode\catcode{0}{12}% ^^@
+\PE@EnsureCode\catcode{34}{12}% "
+\PE@EnsureCode\catcode{42}{12}% *
+\PE@EnsureCode\catcode{45}{12}% -
+\PE@EnsureCode\catcode{46}{12}% .
+\PE@EnsureCode\catcode{60}{12}% <
+\PE@EnsureCode\catcode{61}{12}% =
+\PE@EnsureCode\catcode{62}{12}% >
+\PE@EnsureCode\catcode{94}{7}% ^
+\PE@EnsureCode\catcode{96}{12}% `
+\PE@EnsureCode\uccode{34}{0}% "
+\PE@EnsureCode\uccode{48}{0}% 0
+\PE@EnsureCode\uccode{61}{0}% =
+% \end{macrocode}
+%
% \subsection{Reload check and package identification}
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@pdfescape.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -249,6 +302,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
@@ -264,41 +322,403 @@ and the derived files
\fi
\expandafter\x\csname ver@pdfescape.sty\endcsname
\ProvidesPackage{pdfescape}%
- [2007/04/11 v1.3 Provides hex, PDF name and string conversions (HO)]
+ [2007/04/21 v1.4 Provides hex, PDF name and string conversions (HO)]
% \end{macrocode}
%
-% \subsection{Preparations}
+% \subsection{Sanitizing}
%
-% \subsubsection{Catcodes}
+% \begin{macro}{\PE@sanitize}
+% Macro \cs{PE@sanitize} takes |#2|, entirely converts
+% it to token with catcode 12 (other) and stores the
+% result in macro |#1|.
+% \begin{macrocode}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname detokenize\endcsname\relax
+ \long\def\PE@sanitize#1#2{%
+ \begingroup
+ \csname @safe@activestrue\endcsname
+ \edef#1{#2}%
+ \PE@onelevel@sanitize#1%
+ \expandafter\endgroup
+ \expandafter\def\expandafter#1\expandafter{#1}%
+ }%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname @onelevel@sanitize\endcsname\relax
+ \def\PE@onelevel@sanitize#1{%
+ \edef#1{\expandafter\PE@strip@prefix\meaning#1}%
+ }%
+ \def\PE@strip@prefix#1>{}%
+ \else
+ \let\PE@onelevel@sanitize\@onelevel@sanitize
+ \fi
+\else
+ \long\def\PE@sanitize#1#2{%
+ \begingroup
+ \csname @safe@activestrue\endcsname
+ \edef#1{#2}%
+ \PE@onelevel@sanitize#1%
+ \expandafter\endgroup
+ \expandafter\def\expandafter#1\expandafter{#1}%
+ }%
+ \def\PE@onelevel@sanitize#1{%
+ \edef#1{\detokenize\expandafter{#1}}%
+ }%
+\fi
+% \end{macrocode}
+% \end{macro}
%
+% \subsubsection{Space characters}
+%
+% \begin{macro}{\PE@space@other}
% \begin{macrocode}
-\expandafter\edef\csname PE@AtEnd\endcsname{%
- \catcode64 \the\catcode64\relax
+\begingroup
+ \catcode`\ =12\relax%
+\def\x{\endgroup\def\PE@space@other{ }}\x\relax
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\PE@space@space}
+% \begin{macrocode}
+\def\PE@space@space{ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Space normalization}
+%
+% \begin{macro}{\PE@SanitizeSpaceOther}
+% \begin{macrocode}
+\def\PE@SanitizeSpaceOther#1{%
+ \edef#1{\expandafter\PE@SpaceToOther#1 \relax}%
}
-\catcode64 11 % @
-\def\PE@EnsureCode#1#2#3{%
- \edef\PE@AtEnd{%
- \PE@AtEnd
- #1#2 \the#1#2\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PE@SpaceToOther}
+% \begin{macrocode}
+\def\PE@SpaceToOther#1 #2\relax{%
+ #1%
+ \ifx\\#2\\%
+ \else
+ \PE@space@other
+ \@ReturnAfterFi{%
+ \PE@SpaceToOther#2\relax
+ }%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@ReturnAfterFi}
+% \begin{macrocode}
+\long\def\@ReturnAfterFi#1\fi{\fi#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{\cs{EdefUnescapeName}}
+%
+% \begin{macro}{\EdefUnescapeName}
+% \begin{macrocode}
+\def\EdefUnescapeName#1#2{%
+ \PE@sanitize#1{#2}%
+ \PE@SanitizeSpaceOther#1%
+ \PE@UnescapeName#1%
+ \PE@onelevel@sanitize#1%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PE@UnescapeName}
+% \begin{macrocode}
+\begingroup
+ \catcode`\$=6 % hash
+ \catcode`\#=12 % other
+ \gdef\PE@UnescapeName$1{%
+ \begingroup
+ \PE@InitUccodeHexDigit
+ \def\PE@result{}%
+ \expandafter\PE@DeName$1#\relax\relax
+ \expandafter\endgroup
+ \expandafter\def\expandafter$1\expandafter{\PE@result}%
}%
- #1#2 #3\relax
+ \gdef\PE@DeName$1#$2$3{%
+ \ifx\relax$2%
+ \edef\PE@result{\PE@result$1}%
+ \let\PE@next\relax
+ \else
+ \ifx\relax$3%
+ % wrong escape sequence in input
+ \edef\PE@result{\PE@result$1#}%
+ \let\PE@next\relax
+ \else
+ \uppercase{%
+ \def\PE@testA{$2}%
+ \def\PE@testB{$3}%
+ }%
+ \ifcase\ifcase\expandafter\PE@TestUcHexDigit\PE@testA
+ \ifcase\expandafter\PE@TestUcHexDigit\PE@testB
+ \z@
+ \else
+ \@ne
+ \fi
+ \else
+ \@ne
+ \fi
+ \uccode\z@="\PE@testA\PE@testB\relax
+ \uppercase{%
+ \def\PE@temp{^^@}%
+ }%
+ \uccode\z@=\z@
+ \edef\PE@result{\PE@result$1\PE@temp}%
+ \let\PE@next\PE@DeName
+ \else
+ % wrong escape sequence in input
+ \edef\PE@result{\PE@result$1#}%
+ \def\PE@next{\PE@DeName$2$3}%
+ \fi
+ \fi
+ \fi
+ \PE@next
+ }%
+\endgroup
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PE@InitUccodeHexDigit}
+% \begin{macrocode}
+\def\PE@InitUccodeHexDigit{%
+ \uccode`a=`A\relax
+ \uccode`b=`B\relax
+ \uccode`c=`C\relax
+ \uccode`d=`D\relax
+ \uccode`e=`E\relax
+ \uccode`f=`F\relax
+ \uccode`A=\z@
+ \uccode`B=\z@
+ \uccode`C=\z@
+ \uccode`D=\z@
+ \uccode`E=\z@
+ \uccode`F=\z@
+ \uccode`0=\z@
+ \uccode`1=\z@
+ \uccode`2=\z@
+ \uccode`3=\z@
+ \uccode`4=\z@
+ \uccode`5=\z@
+ \uccode`6=\z@
+ \uccode`7=\z@
+ \uccode`8=\z@
+ \uccode`9=\z@
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PE@TestUcHexDigit}
+% \begin{macrocode}
+\def\PE@TestUcHexDigit#1{%
+ \ifnum`#1<48 % 0
+ \@ne
+ \else
+ \ifnum`#1>70 % F
+ \@ne
+ \else
+ \ifnum`#1>57 % 9
+ \ifnum`#1<65 % A
+ \@ne
+ \else
+ \z@
+ \fi
+ \else
+ \z@
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{\cs{EdefUnescapeString}}
+%
+% \begin{macro}{\EdefUnescapeString}
+% \begin{macrocode}
+\def\EdefUnescapeString#1#2{%
+ \PE@sanitize#1{#2}%
+ \PE@SanitizeSpaceOther#1%
+ \PE@NormalizeLineEnd#1%
+ \PE@UnescapeString#1%
+ \PE@onelevel@sanitize#1%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\begingroup
+ \uccode`\8=10 % lf
+ \uccode`\9=13 % cr
+\def\x#1#2{\endgroup
+% \end{macrocode}
+% \begin{macro}{\PE@NormalizeLineEnd}
+% \begin{macrocode}
+ \def\PE@NormalizeLineEnd##1{%
+ \def\PE@result{}%
+ \expandafter\PE@@NormalizeLineEnd##1#2\relax
+ \let##1\PE@result
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\PE@@NormalizeLineEnd}
+% \begin{macrocode}
+ \def\PE@@NormalizeLineEnd##1#2##2{%
+ \ifx\relax##2%
+ \edef\PE@result{\PE@result##1}%
+ \let\PE@next\relax
+ \else
+ \edef\PE@result{\PE@result##1#1}%
+ \ifx#1##2% lf
+ \let\PE@next\PE@@NormalizeLineEnd
+ \else
+ \def\PE@next{\PE@@NormalizeLineEnd##2}%
+ \fi
+ \fi
+ \PE@next
+ }%
+}%
+\uppercase{%
+ \x 89%
}
-\PE@EnsureCode\catcode{0}{12}% ^^@
-\PE@EnsureCode\catcode{34}{12}% "
-\PE@EnsureCode\catcode{42}{12}% *
-\PE@EnsureCode\catcode{45}{12}% -
-\PE@EnsureCode\catcode{46}{12}% .
-\PE@EnsureCode\catcode{60}{12}% <
-\PE@EnsureCode\catcode{61}{12}% =
-\PE@EnsureCode\catcode{62}{12}% >
-\PE@EnsureCode\catcode{94}{7}% ^
-\PE@EnsureCode\catcode{96}{12}% `
-\PE@EnsureCode\uccode{34}{0}% "
-\PE@EnsureCode\uccode{48}{0}% 0
-\PE@EnsureCode\uccode{61}{0}% =
% \end{macrocode}
+% \end{macro}
%
-% \subsection{User macros}
+% \begin{macrocode}
+\begingroup
+ \catcode`\|=0 %
+ \catcode`\\=12 %
+% \end{macrocode}
+% \begin{macro}{\PE@UnescapeString}
+% \begin{macrocode}
+ |gdef|PE@UnescapeString#1{%
+ |begingroup
+ |def|PE@result{}%
+ |expandafter|PE@DeString#1\|relax
+ |expandafter|endgroup
+ |expandafter|def|expandafter#1|expandafter{|PE@result}%
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\PE@DeString}
+% \begin{macrocode}
+ |gdef|PE@DeString#1\#2{%
+ |ifx|relax#2%
+ |edef|PE@result{|PE@result#1}%
+ |let|PE@next|relax
+ |else
+ |if n#2%
+ |uccode|z@=10 %
+ |else|if r#2%
+ |uccode|z@=13 %
+ |else|if t#2%
+ |uccode|z@=9 %
+ |else|if b#2%
+ |uccode|z@=8 %
+ |else|if f#2%
+ |uccode|z@=12 %
+ |else
+ |uccode|z@=|z@
+ |fi|fi|fi|fi|fi
+ |ifnum|uccode|z@>|z@
+ |uppercase{%
+ |edef|PE@temp{^^@}%
+ }%
+ |edef|PE@result{|PE@result#1|PE@temp}%
+ |let|PE@next|PE@DeString
+ |else
+ |if\#2% backslash
+ |edef|PE@result{|PE@result#1}%
+ |let|PE@next|PE@CheckEndBackslash
+ |else
+ |ifnum`#2=10 % linefeed
+ |edef|PE@result{|PE@result#1}%
+ |let|PE@next|PE@DeString
+ |else
+ |ifcase|PE@TestOctDigit#2%
+ |edef|PE@result{|PE@result#1}%
+ |def|PE@next{|PE@OctI#2}%
+ |else
+ |edef|PE@result{|PE@result#1#2}%
+ |let|PE@next|PE@DeString
+ |fi
+ |fi
+ |fi
+ |fi
+ |fi
+ |PE@next
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\PE@CheckEndBackslash}
+% \begin{macrocode}
+ |gdef|PE@CheckEndBackslash#1{%
+ |ifx|relax#1%
+ |else
+ |edef|PE@result{|PE@result\}%
+ |expandafter|PE@DeString|expandafter#1%
+ |fi
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+|endgroup
+% \end{macrocode}
+% \begin{macro}{\PE@TestOctDigit}
+% \begin{macrocode}
+\def\PE@TestOctDigit#1{%
+ \ifnum`#1<48 % 0
+ \@ne
+ \else
+ \ifnum`#1>55 % 7
+ \@ne
+ \else
+ \z@
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\PE@OctI}
+% \begin{macrocode}
+\def\PE@OctI#1#2{%
+ \ifcase\PE@TestOctDigit#2%
+ \def\PE@next{\PE@OctII{#1#2}}%
+ \else
+ \def\PE@next{\PE@OctAll#1#2}%
+ \fi
+ \PE@next
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\PE@OctII}
+% \begin{macrocode}
+\def\PE@OctII#1#2{%
+ \ifcase\PE@TestOctDigit#2%
+ \def\PE@next{\PE@OctAll{#1#2}}%
+ \else
+ \def\PE@next{\PE@OctAll{#1}#2}%
+ \fi
+ \PE@next
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\PE@OctAll}
+% \begin{macrocode}
+\def\PE@OctAll#1{%
+ \uccode\z@='#1\relax
+ \uppercase{%
+ \edef\PE@result{\PE@result^^@}%
+ }%
+ \PE@DeString
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{User macros (\pdfTeX\space analogues)}
%
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
@@ -309,7 +729,7 @@ and the derived files
% \begin{macrocode}
\long\def\EdefEscapeHex#1#2{%
\PE@sanitize#1{#2}%
- \edef#1{\expandafter\PE@SpaceToOther#1 \relax}%
+ \PE@SanitizeSpaceOther#1%
\PE@EscapeHex#1%
}%
% \end{macrocode}
@@ -326,7 +746,7 @@ and the derived files
% \begin{macrocode}
\long\def\EdefEscapeName#1#2{%
\PE@sanitize#1{#2}%
- \edef#1{\expandafter\PE@SpaceToOther#1 \relax}%
+ \PE@SanitizeSpaceOther#1%
\PE@EscapeName#1%
}%
% \end{macrocode}
@@ -335,7 +755,7 @@ and the derived files
% \begin{macrocode}
\long\def\EdefEscapeString#1#2{%
\PE@sanitize#1{#2}%
- \edef#1{\expandafter\PE@SpaceToOther#1 \relax}%
+ \PE@SanitizeSpaceOther#1%
\PE@EscapeString#1%
}%
% \end{macrocode}
@@ -349,13 +769,13 @@ and the derived files
% Help macro that adds support for \xpackage{babel}'s shorthand
% characters.
% \begin{macrocode}
-\long\def\PE@edefbabel#1#2#3{%
- \begingroup
- \csname @save@activestrue\endcsname
- \edef#1{#2{#3}}%
- \expandafter\endgroup
- \expandafter\def\expandafter#1\expandafter{#1}%
-}
+ \long\def\PE@edefbabel#1#2#3{%
+ \begingroup
+ \csname @save@activestrue\endcsname
+ \edef#1{#2{#3}}%
+ \expandafter\endgroup
+ \expandafter\def\expandafter#1\expandafter{#1}%
+ }%
% \end{macrocode}
% \end{macro}
%
@@ -405,25 +825,12 @@ and the derived files
\edef\PE@hash{\string#}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\PE@space@other}
-% \begin{macrocode}
-\begingroup
- \catcode`\ =12\relax%
-\def\x{\endgroup\def\PE@space@other{ }}\x\relax
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\PE@space@space}
-% \begin{macrocode}
-\def\PE@space@space{ }
-% \end{macrocode}
-% \end{macro}
% \begin{macro}{\PE@backslash}
% \begin{macrocode}
\begingroup
- \long\def\@gobble#1{}%
- \escapechar=92 %
+ \escapechar=-1 %
\edef\x{\endgroup
- \def\noexpand\PE@backslash{\expandafter\@gobble\string\\}%
+ \def\noexpand\PE@backslash{\string\\}%
}
\x
% \end{macrocode}
@@ -440,66 +847,6 @@ and the derived files
\fi
% \end{macrocode}
%
-% \subsection{Sanitizing}
-%
-% \begin{macro}{\PE@sanitize}
-% Macro \cs{PE@sanitize} takes |#2|, entirely converts
-% it to token with catcode 12 (other) and stores the
-% result in macro |#1|.
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname detokenize\endcsname\relax
- \long\def\PE@sanitize#1#2{%
- \begingroup
- \csname @safe@activestrue\endcsname
- \edef#1{#2}%
- \PE@onelevel@sanitize#1%
- \expandafter\endgroup
- \expandafter\def\expandafter#1\expandafter{#1}%
- }%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname @onelevel@sanitize\endcsname\relax
- \def\PE@onelevel@sanitize#1{%
- \edef#1{\expandafter\PE@strip@prefix\meaning#1}%
- }%
- \def\PE@strip@prefix#1>{}%
- \else
- \let\PE@onelevel@sanitize\@onelevel@sanitize
- \fi
-\else
- \long\def\PE@sanitize#1#2{%
- \begingroup
- \csname @safe@activestrue\endcsname
- \edef#1{#2}%
- \edef#1{\detokenize\expandafter{#1}}%
- \expandafter\endgroup
- \expandafter\def\expandafter#1\expandafter{#1}%
- }%
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\PE@SpaceToOther}
-% \begin{macrocode}
-\def\PE@SpaceToOther#1 #2\relax{%
- #1%
- \ifx\\#2\\%
- \else
- \PE@space@other
- \@ReturnAfterFi{%
- \PE@SpaceToOther#2\relax
- }%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@ReturnAfterFi}
-% \begin{macrocode}
-\long\def\@ReturnAfterFi#1\fi{\fi#1}
-% \end{macrocode}
-% \end{macro}
-%
% \subsection{Conversions}
%
% \subsubsection{Conversion to hex string}
@@ -610,6 +957,7 @@ and the derived files
% \begin{macrocode}
\def\PE@UnescapeHex#1{%
\begingroup
+ \PE@InitUccodeHexDigit
\def\PE@result{}%
\expandafter\PE@DeHex#1\relax\relax
\expandafter\endgroup
@@ -622,19 +970,48 @@ and the derived files
\def\PE@DeHex#1#2{%
\ifx#2\relax
\ifx#1\relax
+ \let\PE@next\relax
\else
- \PE@DeHex#10\relax\relax
+ \uppercase{%
+ \def\PE@testA{#1}%
+ }%
+ \ifcase\expandafter\PE@TestUcHexDigit\PE@testA
+ \def\PE@next{%
+ \PE@DeHex#10\relax\relax
+ }%
+ \else
+ \let\PE@next\relax
+ \fi
\fi
\else
- \uppercase{\lccode0="#1#2}\relax
- \ifnum\lccode0=32 %
- \edef\PE@result{\PE@result\PE@space@space}%
+ \uppercase{%
+ \def\PE@testA{#1}%
+ \def\PE@testB{#2}%
+ }%
+ \ifcase\expandafter\PE@TestUcHexDigit\PE@testA
+ \ifcase\expandafter\PE@TestUcHexDigit\PE@testB
+ \uccode\z@="\PE@testA\PE@testB\relax
+ \ifnum\uccode\z@=32 %
+ \let\PE@temp\PE@space@space
+ \else
+ \uppercase{%
+ \def\PE@temp{^^@}%
+ }%
+ \fi
+ \edef\PE@result{\PE@result\PE@temp}%
+ \let\PE@next\PE@DeHex
+ \else
+ % invalid input sequence
+ \def\PE@next{%
+ \PE@DeHex#1%
+ }%
+ \fi
\else
- \lowercase{\def\PE@temp{^^@}}%
- \edef\PE@result{\PE@result\PE@temp}%
+ % invalid input sequence
+ \def\PE@next{\PE@DeHex#2}%
\fi
- \expandafter\PE@DeHex
\fi
+ \PE@next
}
% \end{macrocode}
% \end{macro}
@@ -789,7 +1166,7 @@ and the derived files
% \begin{macrocode}
%<*test1>
\ProvidesFile{pdfescape-test1.tex}%
- [2007/04/11 v1.3 Test with \string\pdfescape... commands]%
+ [2007/04/21 v1.4 Test with \string\pdfescape... commands]%
%</test1>
% \end{macrocode}
%
@@ -798,7 +1175,7 @@ and the derived files
% \begin{macrocode}
%<*test2>
\ProvidesFile{pdfescape-test2.tex}%
- [2007/04/11 v1.3 Test without \string\pdfescape..., with e-TeX]%
+ [2007/04/21 v1.4 Test without \string\pdfescape..., with e-TeX]%
%</test2>
% \end{macrocode}
%
@@ -807,7 +1184,7 @@ and the derived files
% \begin{macrocode}
%<*test3>
\ProvidesFile{pdfescape-test3.tex}%
- [2007/04/11 v1.3 Test without \string\pdfescape... and e-TeX]%
+ [2007/04/21 v1.4 Test without \string\pdfescape... and e-TeX]%
%</test3>
% \end{macrocode}
%
@@ -859,6 +1236,14 @@ and the derived files
\LogTests{lgout}{*}{*}
\newcommand*{\ExpectVar}[2]{%
+ \ifx#1#2%
+ \else
+ \begingroup
+ \@onelevel@sanitize#1%
+ \@onelevel@sanitize#2%
+ \typeout{[#1] <> [#2]}%
+ \endgroup
+ \fi
\Expect*{\ifx#1#2true\else false\fi}{true}%
}
@@ -1005,6 +1390,42 @@ and the derived files
\ExpectVar\x\z
\end{qstest}
+\begin{qstest}{unhex-hash}{unescapehex, hash}
+ \catcode`\#=12 %
+ \EdefUnescapeHex\x{#20}%
+ \ExpectVar\x\space
+\end{qstest}
+
+\begin{qstest}{unhex-invalid}{unescapehex, invalid}
+ \def\test#1#2{%
+ \EdefUnescapeHex\x{#1}%
+ \edef\y{#2}%
+ \@onelevel@sanitize\y
+ \ExpectVar\x\y
+ }%
+%<*test1>
+ \edef\x{\pdfunescapehex{4X}}%
+ \edef\y{\string @}%
+ \ifx\x\y
+ \else
+ \def~{\space}%
+ \typeout{************************************}%
+ \typeout{* Your pdfTeX contains bug 777.~~~~*}%
+ \typeout{* This test is redefined as dummy, *}%
+ \typeout{* because it triggers the bug.~~~~~*}%
+ \typeout{************************************}%
+ \def\test#1#2{}%
+ \fi
+%</test1>
+ \test{X}{}%
+ \test{XY}{}%
+ \test{XYZ}{}%
+ \test{A}{^^a0}%
+ \test{AX}{^^a0}%
+ \test{XA}{^^a0}%
+ \test{XXAXX}{^^a0}%
+\end{qstest}
+
\begin{qstest}{all-name}{\AllBytes, escapename}
\EdefEscapeName\x{\AllBytes}%
\Expect*{\x}*{\AllBytesName}%
@@ -1017,6 +1438,154 @@ and the derived files
\ExpectVar\x\AllBytesString
\end{qstest}
+\begin{qstest}{uchexdigit}{unescape, uppercase hex digit}
+ \catcode`\@=11 %
+ \catcode0=12 %
+ \def\test#1#2{%
+ \uccode0=#1\relax
+ \uppercase{%
+ \def\x{^^@}%
+ }%
+ \Expect*{%
+ \ifcase\expandafter\PE@TestUcHexDigit\x
+ true%
+ \else
+ false%
+ \fi
+ }{#2}%
+ }%
+ \def\range#1#2#3{%
+ \count0=#1\relax
+ \loop
+ \ifnum\count0<#2\relax
+ \test{\count0}{#3}%
+ \advance\count0 by 1 %
+ \repeat
+ }%
+ \range{0}{47}{false}%
+ \range{48}{57}{true}%
+ \range{58}{64}{false}%
+ \range{65}{70}{true}%
+ \range{71}{255}{false}%
+\end{qstest}
+
+\begin{qstest}{unescapename}{unescapename}
+ \def\test#1#2{%
+ \EdefUnescapeName\x{#1}%
+ \edef\y{#2}%
+ \@onelevel@sanitize\y
+ \ExpectVar\x\y
+ }%
+ \catcode`\#=12 %
+ \catcode0=12 %
+ \test{}{}%
+ \test{x}{x}%
+ \test{xy}{xy}%
+ \test{#}{#}%
+ \test{##}{##}%
+ \test{###}{###}%
+ \test{####}{####}%
+ \test{#x}{#x}%
+ \test{#xy}{#xy}%
+ \test{#1}{#1}%
+ \test{#40}{@}%
+ \test{#400}{@0}%
+ \test{#4x0}{#4x0}%
+ \test{#ab}{^^ab}%
+ \test{#00}{^^@}%
+ \test{x#40y#40z}{x@y@z}%
+ \test{#40#40#40#40}{@@@@}%
+ \test{a#x}{a#x}%
+ \test{a#xy}{a#xy}%
+ \test{a#1}{a#1}%
+ \test{a#40}{a@}%
+ \test{a#400}{a@0}%
+ \test{#20}{ }%
+ \test{a#20}{a }%
+ \test{a#20b}{a b}%
+ \test{a#20#20#20b}{a \space\space b}%
+\end{qstest}
+
+\begin{qstest}{unescapestring}{unescapestring}
+ \def\test#1#2{%
+ \EdefUnescapeString\x{#1}%
+ \edef\y{#2}%
+ \@onelevel@sanitize\y
+ \ExpectVar\x\y
+ }%
+ \catcode0=12 %
+ \def\DefChar#1#2{%
+ \begingroup
+ \uccode0=#2\relax
+ \uppercase{\endgroup
+ \def#1{^^@}%
+ }%
+ }%
+ \DefChar\nul{0}%
+ \DefChar\one{1}%
+ \DefChar\bel{8}%
+ \DefChar\tab{9}%
+ \DefChar\lf{10}%
+ \DefChar\ff{12}%
+ \DefChar\cr{13}%
+ \DefChar\\{92}%
+ \test{}{}%
+ \test{a}{a}%
+ \test{\\}{}%
+ \test{\\\\}{\\}%
+ \test{\\\\y}{\\y}%
+ \test{\\000}{\nul}%
+ \test{\\b}{\bel}%
+ \test{\\t}{\tab}%
+ \test{\\n}{\lf}%
+ \test{\\f}{\ff}%
+ \test{\\r}{\cr}%
+ \test{\\(}{(}%
+ \test{\\)}{)}%
+ \test{\\040}{ }%
+ \test{\\100}{@}%
+ \test{\\40}{ }%
+ \test{\\1}{\one}%
+ \test{\\01}{\one}%
+ \test{\\001}{\one}%
+ \test{\\18}{\one8}%
+ \test{\\018}{\one8}%
+ \test{\\0018}{\one8}%
+ \test{x\\}{x}%
+ \test{x\\\\}{x\\}%
+ \test{x\\\\y}{x\\y}%
+ \test{x\\000}{x\nul}%
+ \test{x\\b}{x\bel}%
+ \test{x\\t}{x\tab}%
+ \test{x\\n}{x\lf}%
+ \test{x\\f}{x\ff}%
+ \test{x\\r}{x\cr}%
+ \test{x\\(}{x(}%
+ \test{x\\)}{x)}%
+ \test{x\\040}{x }%
+ \test{x\\100}{x@}%
+ \test{x\\40}{x }%
+ \test{x\\1}{x\one}%
+ \test{x\\01}{x\one}%
+ \test{x\\001}{x\one}%
+ \test{x\\18}{x\one8}%
+ \test{x\\018}{x\one8}%
+ \test{x\\0018}{x\one8}%
+ \test{\\b\\t\\n\\f\\r\\(\\)\\\\\\000\\040}{%
+ \bel\tab\lf\ff\cr()\\\nul\space
+ }%
+ \test{\\\lf}{}%
+ \test{x\\\lf}{x}%
+ \test{\cr}{\lf}%
+ \test{\cr\lf}{\lf}%
+ \test{\lf}{\lf}%
+ \test{\lf\cr}{\lf\lf}%
+ \test{x\cr}{x\lf}%
+ \test{x\cr\lf}{x\lf}%
+ \test{x\lf}{x\lf}%
+ \test{x\lf\cr}{x\lf\lf}%
+ \test{x\\\cr\lf y\cr}{xy\lf}%
+\end{qstest}
\stop
% \end{macrocode}
%
@@ -1184,6 +1753,10 @@ and the derived files
% \item
% Line ends sanitized.
% \end{Version}
+% \begin{Version}{2007/04/21 v1.4}
+% \item
+% \cs{EdefUnescapeName} and \cs{EdefUnescapeString} added.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx b/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx
index 761057133c8..dc14cf646f3 100644
--- a/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx
@@ -1,6 +1,7 @@
% \iffalse meta-comment
%
-% Copyright (C) 2005, 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+% Copyright (C) 2005, 2006, 2007 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
@@ -68,7 +69,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: setouterhbox 2006/08/26 v1.4 Set hbox in outer horizontal mode (HO)}
+\Msg{* Package: setouterhbox 2007/04/26 v1.5 Set hbox in outer horizontal mode (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -78,7 +79,8 @@
This is a generated file.
-Copyright (C) 2005, 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+Copyright (C) 2005, 2006, 2007 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
@@ -131,7 +133,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{setouterhbox.drv}%
- [2006/08/26 v1.4 Set hbox in outer horizontal mode (HO)]%
+ [2007/04/26 v1.5 Set hbox in outer horizontal mode (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -140,7 +142,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{322}
+% \CheckSum{321}
%
% \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
@@ -161,7 +163,7 @@ and the derived files
% \GetFileInfo{setouterhbox.drv}
%
% \title{The \xpackage{setouterhbox} package}
-% \date{2006/08/26 v1.4}
+% \date{2007/04/26 v1.5}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -386,7 +388,7 @@ by/a/very_long_long_long_path.html}%
\fi
\expandafter\x\csname ver@setouterhbox.sty\endcsname
\ProvidesPackage{setouterhbox}%
- [2006/08/26 v1.4 Set hbox in outer horizontal mode (HO)]%
+ [2007/04/26 v1.5 Set hbox in outer horizontal mode (HO)]%
% \end{macrocode}
%
% \begin{macro}{\setouterhboxBox}
@@ -401,18 +403,14 @@ by/a/very_long_long_long_path.html}%
% \begin{macro}{\setouterhboxFailure}
% Error message for both \plainTeX\ and \LaTeX
% \begin{macrocode}
-\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 RequirePackage\endcsname\relax
+ \input infwarerr.sty\relax
+\else
+ \RequirePackage{infwarerr}%
+\fi
+\edef\setouterhboxFailure#1#2{%
+ \expandafter\noexpand\csname @PackageError\endcsname{setouterhbox}{#1}{#2}%
}
% \end{macrocode}
% \end{macro}
@@ -849,6 +847,10 @@ E \egroup
% \item
% Date of hyperref updated.
% \end{Version}
+% \begin{Version}{2007/04/26 v1.5}
+% \item
+% Use of package \xpackage{infwarerr}.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/telprint.dtx b/Master/texmf-dist/source/latex/oberdiek/telprint.dtx
index d748ca5a17f..40f23c5906b 100644
--- a/Master/texmf-dist/source/latex/oberdiek/telprint.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/telprint.dtx
@@ -138,7 +138,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{315}
+% \CheckSum{325}
%
% \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
@@ -309,6 +309,11 @@ and the derived files
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\let\expandafter\x\csname ver@telprint.sty\endcsname
\ifcase 0%
\ifx\x\relax % plain
@@ -335,6 +340,11 @@ and the derived files
% Package identification:
% \begin{macrocode}
\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
diff --git a/Master/texmf-dist/source/latex/oberdiek/zref.dtx b/Master/texmf-dist/source/latex/oberdiek/zref.dtx
index e5a478e74c8..39b20839f2f 100644
--- a/Master/texmf-dist/source/latex/oberdiek/zref.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/zref.dtx
@@ -84,7 +84,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: zref 2007/04/06 v1.7 New reference scheme for LaTeX2e (HO)}
+\Msg{* Package: zref 2007/04/22 v1.8 New reference scheme for LaTeX2e (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -166,7 +166,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{zref.drv}%
- [2007/04/06 v1.7 New reference scheme for LaTeX2e (HO)]%
+ [2007/04/22 v1.8 New reference scheme for LaTeX2e (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}
\begin{document}
@@ -175,7 +175,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{1497}
+% \CheckSum{1513}
%
% \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
@@ -196,7 +196,7 @@ and the derived files
% \GetFileInfo{zref.drv}
%
% \title{The \xpackage{zref} package}
-% \date{2007/04/06 v1.7}
+% \date{2007/04/22 v1.8}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -1157,13 +1157,13 @@ the height difference of the two baselines is
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref}
- [2007/04/06 v1.7 New reference scheme for LaTeX2e (HO)]%
+ [2007/04/22 v1.8 New reference scheme for LaTeX2e (HO)]%
% \end{macrocode}
%
% \subsubsection{Load basic module}
%
% \begin{macrocode}
-\RequirePackage{zref-base}[2007/04/06]
+\RequirePackage{zref-base}[2007/04/22]
% \end{macrocode}
% Abort package loading if \xpackage{zref-base} could not be
% loaded successfully.
@@ -1178,7 +1178,7 @@ the height difference of the two baselines is
\def\ZREF@temp#1{%
\DeclareOption{#1}{%
\AtEndOfPackage{%
- \RequirePackage{zref-#1}[2007/04/06]%
+ \RequirePackage{zref-#1}[2007/04/22]%
}%
}%
}
@@ -1238,7 +1238,7 @@ the height difference of the two baselines is
%<*base>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-base}%
- [2007/04/06 v1.7 Module base for zref (HO)]%
+ [2007/04/22 v1.8 Module base for zref (HO)]%
% \end{macrocode}
%
% \subsubsection{Utilities}
@@ -1701,15 +1701,19 @@ the height difference of the two baselines is
% the flag is set to notify \LaTeX\ and a warning is given.
% \begin{macrocode}
\def\zref@refused#1{%
- \begingroup
- \csname @safe@activestrue\endcsname
- \zref@ifrefundefined{#1}{%
- \protect\G@refundefinedtrue
- \@latex@warning{%
- Reference `#1' on page \thepage \space undefined%
- }%
- }{}%
- \endgroup
+ \zref@wrapper@babel\ZREF@refused{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ZREF@refused}
+% \begin{macrocode}
+\def\ZREF@refused#1{%
+ \zref@ifrefundefined{#1}{%
+ \protect\G@refundefinedtrue
+ \@latex@warning{%
+ Reference `#1' on page \thepage \space undefined%
+ }%
+ }{}%
}
% \end{macrocode}
% \end{macro}
@@ -1796,13 +1800,29 @@ the height difference of the two baselines is
% \begin{macro}{\zref@wrapper@babel}
% \begin{macrocode}
\long\def\zref@wrapper@babel#1#2{%
- \begingroup
- \csname @safe@activestrue\endcsname
- \edef\x{#2}%
- \expandafter\endgroup
- \expandafter\ZREF@wrapper@babel\expandafter{\x}{#1}%
+ \ifcsname if@safe@actives\endcsname
+ \expandafter\@firstofone
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {%
+ \if@safe@actives
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi
+ {%
+ \begingroup
+ \csname @safe@activestrue\endcsname
+ \edef\x{#2}%
+ \expandafter\endgroup
+ \expandafter\ZREF@wrapper@babel\expandafter{\x}{#1}%
+ }%
+ }{%
+ #1{#2}%
+ }%
}
-\def\ZREF@wrapper@babel#1#2{%
+\long\def\ZREF@wrapper@babel#1#2{%
#2{#1}%
}
% \end{macrocode}
@@ -1910,8 +1930,8 @@ the height difference of the two baselines is
%<*user>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-user}%
- [2007/04/06 v1.7 Module user for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module user for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
@@ -1985,8 +2005,8 @@ the height difference of the two baselines is
%<*abspage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-abspage}%
- [2007/04/06 v1.7 Module abspage for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module abspage for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
@@ -2030,8 +2050,8 @@ the height difference of the two baselines is
%<*counter>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-counter}%
- [2007/04/06 v1.7 Module counter for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module counter for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
@@ -2067,8 +2087,8 @@ the height difference of the two baselines is
%<*lastpage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-lastpage}%
- [2007/04/06 v1.7 Module lastpage for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module lastpage for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
@@ -2101,16 +2121,16 @@ the height difference of the two baselines is
%<*totpages>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-totpages}%
- [2007/04/06 v1.7 Module totpages for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module totpages for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
% The absolute page number of the last page is the total
% page number.
% \begin{macrocode}
-\RequirePackage{zref-abspage}[2007/04/06]
-\RequirePackage{zref-lastpage}[2007/04/06]
+\RequirePackage{zref-abspage}[2007/04/22]
+\RequirePackage{zref-lastpage}[2007/04/22]
% \end{macrocode}
%
% \begin{macro}{\ztotpages}
@@ -2140,8 +2160,8 @@ the height difference of the two baselines is
%<*perpage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-perpage}%
- [2007/04/06 v1.7 Module perpage for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module perpage for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
@@ -2153,7 +2173,7 @@ the height difference of the two baselines is
% For detecting changed pages module \xoption{abspage}
% is loaded.
% \begin{macrocode}
-\RequirePackage{zref-abspage}[2007/04/06]
+\RequirePackage{zref-abspage}[2007/04/22]
% \end{macrocode}
%
% We group the properties for the needed references
@@ -2297,8 +2317,8 @@ the height difference of the two baselines is
%<*titleref>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-titleref}%
- [2007/04/06 v1.7 Module titleref for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module titleref for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
@@ -2593,8 +2613,8 @@ the height difference of the two baselines is
%<*xr>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-xr}%
- [2007/04/06 v1.7 Module xr for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module xr for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
% \begin{macrocode}
@@ -2937,8 +2957,8 @@ the height difference of the two baselines is
%<*hyperref>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-hyperref}%
- [2007/04/06 v1.7 Module hyperref for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module hyperref for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
@@ -2966,8 +2986,8 @@ the height difference of the two baselines is
%<*savepos>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-savepos}%
- [2007/04/06 v1.7 Module savepos for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module savepos for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
@@ -3072,15 +3092,15 @@ the height difference of the two baselines is
%<*dotfill>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-dotfill}%
- [2007/04/06 v1.7 Module dotfill for zref (HO)]%
-\RequirePackage{zref-base}[2007/04/06]
+ [2007/04/22 v1.8 Module dotfill for zref (HO)]%
+\RequirePackage{zref-base}[2007/04/22]
\@ifundefined{ZREF@baseok}{\endinput}{}
% \end{macrocode}
%
% For measuring the width of \cs{zdotfill} we use the features
% provided by module \xoption{savepos}.
% \begin{macrocode}
-\RequirePackage{zref-savepos}[2007/04/06]
+\RequirePackage{zref-savepos}[2007/04/22]
% \end{macrocode}
% For automatically generated label names we use the unique
% counter of module \xoption{base}.
@@ -3369,6 +3389,12 @@ the height difference of the two baselines is
% \item
% Package \xpackage{atbegshi} replaces \xpackage{everyshi}.
% \end{Version}
+% \begin{Version}{2007/04/22 v1.8}
+% \item
+% \cs{zref@wrapper@babel} and \cs{zref@refused} are now expandable
+% if babel is not used or \cs{if@safe@actives} is already set to true.
+% (Feature request of Josselin Noirel)
+% \end{Version}
% \end{History}
%
% \PrintIndex