summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/hyperref/Makefile48
-rw-r--r--Master/texmf-dist/source/latex/hyperref/backref.dtx116
-rw-r--r--Master/texmf-dist/source/latex/hyperref/bmhydoc.sty97
-rw-r--r--Master/texmf-dist/source/latex/hyperref/doc/fdl.tex422
-rw-r--r--Master/texmf-dist/source/latex/hyperref/doc/manual.tex1226
-rw-r--r--Master/texmf-dist/source/latex/hyperref/doc/options.tex113
-rw-r--r--Master/texmf-dist/source/latex/hyperref/hyperref.drv50
-rw-r--r--Master/texmf-dist/source/latex/hyperref/hyperref.dtx2051
-rw-r--r--Master/texmf-dist/source/latex/hyperref/hyperref.ins7
-rw-r--r--Master/texmf-dist/source/latex/hyperref/manual.css108
-rw-r--r--Master/texmf-dist/source/latex/hyperref/nameref.dtx139
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/Makefile5
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/bit.tex2
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/bml.pngbin0 -> 396 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/bmoe.pngbin0 -> 405 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/bmsc.pngbin0 -> 452 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/bmyi.pngbin0 -> 396 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/bmzc.pngbin0 -> 402 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/hog.eps463
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/hog.pdfbin0 -> 5765 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/phys1.jpgbin0 -> 26655 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/phys2.jpgbin0 -> 26058 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/picture.eps311
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/picture.pdf93
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/picture.pngbin0 -> 18752 bytes
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test0.tex99
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test1.tex328
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test2.tex63
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test3.tex556
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test4.tex36
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test6.tex18
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test7.pdf179
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test7.tex12
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/test8.tex41
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testams.tex253
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testbib.bbl4
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testbib.bib27
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testbib.tex57
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testbma.tex157
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testbmgl.tex522
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testbmu.tex2014
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testbookmark.tex17
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testfor2.tex61
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testform.tex50
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testnb.tex50
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testoz.tex38
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testslide.tex101
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testurl.bbl8
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testurl.bib6
-rw-r--r--Master/texmf-dist/source/latex/hyperref/test/testurl.tex14
50 files changed, 9195 insertions, 767 deletions
diff --git a/Master/texmf-dist/source/latex/hyperref/Makefile b/Master/texmf-dist/source/latex/hyperref/Makefile
deleted file mode 100644
index b98f0011362..00000000000
--- a/Master/texmf-dist/source/latex/hyperref/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-MKDIR=mkdir
-COPY=cp
-CHDIR=cd
-RM=rm -f
-INSTALLDIRVAR=TEXMFMAIN
-SHELL=sh
-all: hyperref test
-
-hyperref: unpack documentation
-
-unpack:
- latex hyperref.ins
-
-hyperref.drv: unpack
-
-documentation: hyperref.drv
- latex hyperref.dtx
- makeindex -s gind hyperref
- latex hyperref.dtx
- makeindex -s gind hyperref
- latex hyperref.dtx
-
-test: test.nodir
-test.nodir:
- $(CHDIR) test; latex test0
- $(CHDIR) test; makeindex test0
- $(CHDIR) test; latex test0
-
-install: unpack
- ( \
- TEXMF=`kpsewhich -expand-var '$$$(INSTALLDIRVAR)'`; \
- echo installing to $${TEXMF}/tex/latex/hyperref; \
- $(MKDIR) $${TEXMF}/tex/latex/hyperref; \
- $(COPY) *.sty *.def htex4ht.cfg $${TEXMF}/tex/latex/hyperref \
- )
-
-clean:
- -$(RM) *.aux *.toc *.idx *.drv *.dvi *.log *.rep *.lof *.brf *.tmp *.ist *.ilg *.ind *.out *.css *.html
- -$(CHDIR) test; $(RM) *.dvi *.aux *.log *.toc *.lot *.lof *.idx *.ilg *.ind *.out *.brf
- -$(RM) nameref.sty backref.sty hyperref.sty hycheck.tex nohyperref.sty
- -$(RM) *.def htex4ht.cfg *.otc *.idv *.lg *.xref test.ps test.pdf
- -$(RM) hyperref.pdf
-
-checks:
- cd test; for what in test*tex ;\
- do \
- pdflatex $$what; pdflatex $$what; latex $$what; latex $$what ;\
- done
diff --git a/Master/texmf-dist/source/latex/hyperref/backref.dtx b/Master/texmf-dist/source/latex/hyperref/backref.dtx
index 5a25459c36e..147a1739ec0 100644
--- a/Master/texmf-dist/source/latex/hyperref/backref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/backref.dtx
@@ -1,8 +1,5 @@
-\def\fileversion{1.23}
-\def\filedate{2003/03/20}
-%
% \iffalse
-%% File: backref.dtx Copyright (C) 1995-2003 David Carlisle, Sebastian Rahtz, Heiko Oberdiek
+%% File: backref.dtx Copyright (C) 1995-2005 David Carlisle, Sebastian Rahtz, Heiko Oberdiek
%
%% This file is part of the `Hyperref Bundle'.
%% -------------------------------------------
@@ -16,9 +13,29 @@
%%
%% The list of all files belonging to the `Hyperref Bundle' is
%% given in the file `manifest.txt'.
+%
+%<*dtx>
+\ProvidesFile{backref.dtx}
+%</dtx>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{backref}
+%<driver>\ProvidesFile{backref.drv}
+% \fi
+% \ProvidesFile{backref.dtx}
+ [2006/08/01 v1.26 Bibliographical back referencing]
+%
+% \CheckSum{550}
+%
+% \iffalse
%<*driver>
\documentclass{ltxdoc}
+\IfFileExists{bmhydoc.sty}{\usepackage{bmhydoc}}{}
+\usepackage[numbered]{hypdoc}
+\usepackage{backref}
+\EnableCrossrefs
+\CodelineIndex
\begin{document}
+ \GetFileInfo{backref.sty}
\title{%
Back referencing from bibliographical citations%
\thanks{%
@@ -29,13 +46,19 @@
\author{David Carlisle and Sebastian Rahtz}
\date{\filedate}
\maketitle
+ \makeatletter
+ \@ifundefined{HyperrefOverview}{}{%
+ \HyperrefOverview*%
+ }%
\tableofcontents
\DocInput{backref.dtx}
+ \PrintIndex
\end{document}
%</driver>
% \fi
-% \CheckSum{505}
+%
% \MakeShortVerb{|}
+%
% \section{Introduction}
%
% \section{Usage}
@@ -78,11 +101,12 @@
% |USenglish|, |british|, |german|, |ngerman|, |austrian|, |naustrian|,
% |french|, |francais|, and |spanish|.
%
-% \subsection{Formatting of the back references list}
+% \subsection{Detecting the end of a bibliography entry}
%
% Package |backref| has to be able to detect the end of an entry
% in the bibliography, therefore each \cmd{\bibitem} entry must
% be ended by an empty line (or a |\par| token).
+% \nopagebreak
%
% Example:
%\begin{quote}
@@ -95,9 +119,38 @@
%\end{thebibliography}
%\end{verbatim}
%\end{quote}
+% Then package |backref| can automatically add hooks
+% for the back references list at the end of the entries.
+%
+% \DescribeMacro{\backrefparscanfalse}
+% \DescribeMacro{\backrefparscantrue}
+% Sometimes it is not appropriate if the entry is read as
+% argument. For example, catcode changes for verbatim stuff
+% do not have the desired effect. Therefore the scan for
+% the \cs{par} token can be disabled by \cs{backrefparscanfalse}
+% before \cs{bibitem} and enabled by \cs{backrefparscantrue}
+% afterwards.
+%
+% \DescribeMacro{\backrefprint}
+% If the scan for the end of the entry is disabled, then package
+% |backref| does not know where to put the back references
+% list. The list is printed by the macro \cs{backrefprint}, thus
+% just call it at the right place. Example:
+%\begin{quote}
+%\begin{verbatim}
+%\backrefparscanfalse % disable scan for entry ending
+%\bibitem[...]{...}
+% ... \verb|...| ... % potentially dangerous stuff
+% ... \url{...} ...
+% \backrefprint % print back reference list here
+%\backrefparscantrue % enable scan again
+%\end{verbatim}
+%\end{quote}
+%
+% \subsection{Formatting of the back references list}
%
-% Then package |backref| can add hooks for the back references list.
-% at the end of the entry. The list is separated by \cmd{\newblock},
+% The back references list is separated from the entry
+% by \cmd{\newblock},
% if the used bibliography package supports this. The package options
% control the kind of back references (page numbers, sections numbers),
% whereas the hooks control the formatting.
@@ -106,7 +159,7 @@
% available since version 1.21 of package |backref|. The former one
% is enabled by default.
%
-% \subsubsection{Formatting hook \cmd{\backref}}
+% \subsubsection{Formatting hook \cs{backref}}
%
% Macro \cmd{\backref} has a a comma separated
% list of backref references as first and only argument.
@@ -114,7 +167,7 @@
% hyperref there is an introductionary text, controlled by
% macros \cmd{\backrefpagesname} or \cmd{\backrefsectionsname}.
%
-% \subsubsection{Formatting hook \cmd{\backrefalt}}
+% \subsubsection{Formatting hook \cs{backrefalt}}
%
% \cmd{\backrefalt} is a new interface since version 1.21 of package
% |backref|. It takes four arguments:
@@ -171,8 +224,6 @@
% \subsection{Package identification}
% \begin{macrocode}
%<*package>
-\ProvidesPackage{backref}%
- [\filedate\space v\fileversion\space Bibliographical back referencing]
% \end{macrocode}
%
% \subsection{Options}
@@ -323,20 +374,53 @@
%
% \subsection{The bibliography}
%
+% \begin{macro}{\ifbackrefparscan}
+% \begin{macrocode}
+\newif\ifbackrefparscan
+\backrefparscantrue
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\BR@bibitem}
% \begin{macrocode}
-\def\BR@bibitem{\@ifnextchar[\BR@@lbibitem\BR@@bibitem}
+\def\BR@bibitem{%
+ \ifbackrefparscan
+ \expandafter\@ifnextchar\expandafter[\expandafter
+ \BR@@lbibitem\expandafter\BR@@bibitem
+ \else
+ \expandafter\@ifnextchar\expandafter[\expandafter
+ \BR@@@lbibitem\expandafter\BR@@@bibitem
+ \fi
+}
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
\def\BR@@lbibitem[#1]#2#3\par{%
- \BRorg@bibitem[#1]{#2}#3%
+ \let\backrefprint\BR@backrefprint
+ \BRorg@bibitem[{#1}]{#2}#3%
\BR@backref{#2}%
}%
\def\BR@@bibitem#1#2\par{%
+ \let\backrefprint\BR@backrefprint
\BRorg@bibitem{#1}#2%
\BR@backref{#1}%
}
+\def\BR@@@lbibitem[#1]#2{%
+ \def\backrefprint{\BR@backref{#2}}%
+ \BRorg@bibitem[{#1}]{#2}%
+}
+\def\BR@@@bibitem#1{%
+ \def\backrefprint{\BR@backref{#1}}%
+ \BRorg@bibitem{#1}%
+}
+\def\BR@backrefprint{%
+ \PackageError{backref}{%
+ \string\backrefprint\space is only available after \string\bibitem
+ \MessageBreak
+ with setting \string\backrefparscanfalse
+ }\@ehc
+}
+\let\backrefprint\BR@backrefprint
\def\BR@backref#1{%
\newblock
\begingroup
@@ -546,7 +630,7 @@
% \begin{macro}{\BR@citex}
% \begin{macrocode}
\def\BR@citex[#1]#2{%
- \BRorg@citex[#1]{#2}%
+ \BRorg@citex[{#1}]{#2}%
\ifBR@verbose
\PackageInfo{backref}{back cite \string`#2\string'}%
\fi
@@ -560,7 +644,7 @@
\@ifpackageloaded{chicago}{%
\let\BRorg@citedatax\@citedatax
\def\@citedatax[#1]#2{%
- \BRorg@citedatax[#1]{#2}%
+ \BRorg@citedatax[{#1}]{#2}%
\Hy@backout{#2}%
}%
}{}
diff --git a/Master/texmf-dist/source/latex/hyperref/bmhydoc.sty b/Master/texmf-dist/source/latex/hyperref/bmhydoc.sty
new file mode 100644
index 00000000000..15f183128b0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/bmhydoc.sty
@@ -0,0 +1,97 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{bmhydoc}
+ [2006/02/08 Bookmark section with hyperref documentation (HO)]
+
+% This package adds bookmark entries that are added at the end
+% and lists and links the PDF files of the hyperref documentation.
+% Only pdfTeX in PDF mode is supported by this package.
+%
+% History
+%
+% 2005/08/27
+% * First version
+% 2006/02/08
+% * Comments added
+% * \HyperrefOverview
+
+\RequirePackage{ifpdf}
+\ifpdf
+\else
+ \expandafter\endinput
+\fi
+
+\newcommand*{\@bmhydoc}[3][0]{%
+ \pdfoutline
+ attr {/C[0 0 1]}
+ user {%
+ <<%
+ /S/GoToR%
+ /F(#2)%
+ /D[0/XYZ null null null]%
+ >>%
+ }
+ count #1
+ {#3}\relax
+}
+\AtEndDocument{%
+ \@bmhydoc[-8]{manual.pdf}{Hyperref manual}
+ \@bmhydoc{README.pdf}{README}
+ \@bmhydoc{ChangeLog.pdf}{ChangeLog}
+ \@bmhydoc{options.pdf}{Options}
+ \@bmhydoc[1]{slides.pdf}{Bookmark talk, slides}
+ \@bmhydoc{paper.pdf}{Bookmark talk, paper}
+ \@bmhydoc[2]{hyperref.pdf}{Sources: hyperref.dtx}
+ \@bmhydoc{backref.pdf}{backref.dtx}
+ \@bmhydoc{nameref.pdf}{nameref.dtx}
+}
+
+\newcommand*{\HyperrefOverview}{%
+ \def\bmhydoc@title{Documentation overview for \texttt{hyperref}}%
+ \@ifstar{%
+ % \phantomsection
+ % \addcontentsline{toc}{section}{\bmhydoc@title}%
+ \section*{\bmhydoc@title}%
+ \@HyperrefOverview
+ }{%
+ \section{\bmhydoc@title}%
+ \@HyperrefOverview
+ }%
+}
+\def\@HyperrefOverview{%
+ The documentation for package \texttt{hyperref} consists
+ of several files:
+ \begingroup
+ \newcommand*{\entry}[2]{%
+ \item[\href{file:##1}{##2}]%
+ \ignorespaces
+ }%
+ \begin{description}
+ \entry{manual.pdf}{Manual}
+ The user documentation is also available as HTML.
+ \entry{README.pdf}{README}
+ Here information is collected that is not yet
+ in the manual: new features, package compatibility,
+ limitations, known problems, \dots
+ \entry{ChangeLog.pdf}{ChangeLog}
+ This file records the version history.
+ \entry{options.pdf}{Options}
+ This file provides a short option summary.
+ \entry{slides.pdf}{Bookmark talk, slides}
+ Slides for the talk ``PDF information and navigation elements with
+ hyperref, pdfTeX and thumbpdf'' at Euro\TeX~1999.
+ \entry{paper.pdf}{Bookmark talk, paper}
+ The paper version of the talk.
+ \end{description}
+ Source code documentation:
+ \begin{description}
+ \entry{hyperref.pdf}{hyperref.dtx}
+ This is the source code documentation for hyperref (this file).
+ \entry{backref.pdf}{backref.dtx}
+ ``Back referencing from bibliographical citations''
+ \entry{nameref.pdf}{nameref.dtx}
+ ``Section name references in \LaTeX''
+ \end{description}
+ \endgroup
+}
+
+\endinput
diff --git a/Master/texmf-dist/source/latex/hyperref/doc/fdl.tex b/Master/texmf-dist/source/latex/hyperref/doc/fdl.tex
new file mode 100644
index 00000000000..637c1cb63c9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/doc/fdl.tex
@@ -0,0 +1,422 @@
+% This file is a chapter. It must be included in a larger document to work
+% properly.
+
+\chapter{GNU Free Documentation License}
+
+Version 1.2, November 2002\\
+
+
+ Copyright \copyright\ 2000,2001,2002 Free Software Foundation, Inc.\\
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\\
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+\section*{PREAMBLE}
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document ``free'' in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+\section{APPLICABILITY AND DEFINITIONS}
+\label{applicability}
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The ``Document'', below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as ``you''. You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A ``Modified Version'' of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A ``Secondary Section'' is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (Thus, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The ``Invariant Sections'' are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The ``Cover Texts'' are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A ``Transparent'' copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not ``Transparent'' is called ``Opaque''.
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, \LaTeX\ input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The ``Title Page'' means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, ``Title Page'' means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+A section ``Entitled XYZ'' means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as ``Acknowledgements'',
+``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
+of such a section when you modify the Document means that it remains a
+section ``Entitled XYZ'' according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+
+\section{VERBATIM COPYING}
+\label{verbatim}
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in
+section~\ref{copying}.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+\section{COPYING IN QUANTITY}
+\label{copying}
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+\section{MODIFICATIONS}
+\label{modifications}
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections~\ref{verbatim} and \ref{copying} above,
+provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+\renewcommand{\labelenumi}{\Alph{enumi}.}
+\begin{enumerate}
+\item Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+\item List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+\item State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+\item Preserve all the copyright notices of the Document.
+\item Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+\item Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+\item Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+\item Include an unaltered copy of this License.
+\item Preserve the section Entitled ``History'', Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled ``History'' in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+\item Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the ``History'' section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+\item For any section Entitled ``Acknowledgements'' or ``Dedications'',
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+\item Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+\item Delete any section Entitled ``Endorsements''. Such a section
+ may not be included in the Modified Version.
+\item Do not retitle any existing section to be Entitled ``Endorsements''
+ or to conflict in title with any Invariant Section.
+\item Preserve any Warranty Disclaimers.
+
+\end{enumerate}
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled ``Endorsements'', provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+\section{COMBINING DOCUMENTS}
+\label{combining}
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section~\ref{modifications}
+above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled ``History''
+in the various original documents, forming one section Entitled
+``History''; likewise combine any sections Entitled ``Acknowledgements'',
+and any sections Entitled ``Dedications''. You must delete all sections
+Entitled ``Endorsements''.
+
+
+\section{COLLECTIONS OF DOCUMENTS}
+\label{collections}
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+\section{AGGREGATION WITH INDEPENDENT WORKS}
+\label{aggregation}
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an ``aggregate'' if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section~\ref{copying} is applicable to
+these copies of the Document, then if the Document is less than one half
+of the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+\section{TRANSLATION}
+\label{translation}
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of
+section~\ref{modifications}.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled ``Acknowledgements'',
+``Dedications'', or ``History'', the requirement
+(section~\ref{modifications}) to Preserve
+its Title (section~\ref{applicability}) will typically require
+changing the actual title.
+
+
+\section{TERMINATION}
+\label{termination}
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+
+\section{FUTURE REVISIONS OF THIS LICENSE}
+\label{future}
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License ``or any later version'' applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+\section*{ADDENDUM: How to use this License for your documents}
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+\begin{quote}
+ Copyright \copyright\ YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+\end{quote}
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the ``with...Texts.'' line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
diff --git a/Master/texmf-dist/source/latex/hyperref/doc/manual.tex b/Master/texmf-dist/source/latex/hyperref/doc/manual.tex
new file mode 100644
index 00000000000..56fef24234f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/doc/manual.tex
@@ -0,0 +1,1226 @@
+% This is the manual for the LaTeX hyperref package.
+%
+% Copyright (C) 1998, 2003 Sebastian Rahtz.
+%
+% Permission is granted to copy, distribute and/or modify this document
+% under the terms of the GNU Free Documentation License, Version 1.1 or
+% any later version published by the Free Software Foundation; with no
+% Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+% Texts. A copy of the license is included in the section entitled
+% ``GNU Free Documentation License.''
+%
+% Manual updates:
+% * Steve Peter and Karl Berry, 7/03.
+% * Heiko Oberdiek, 2006.
+%
+
+\RequirePackage{ifpdf}
+\ifpdf % We are running pdfTeX in pdf mode
+\documentclass[pdftex]{article}
+\else
+\documentclass{article}
+\fi
+
+\usepackage{etex}% for \eTeX
+
+% Page layout.
+\advance\textwidth by 1.1in
+\advance\oddsidemargin by -.55in
+\advance\evensidemargin by -.55in
+%
+\advance\textheight by 1in
+\advance\topmargin by -.5in
+\advance\footskip by -.5in
+%
+\pagestyle{headings}
+%
+% Avoid some overfull boxes.
+\emergencystretch=.1\hsize
+\hbadness = 3000
+
+% these are from lshort.sty, but lshort.sty pulls in so many other
+% packages it seems cleaner to just include them here.
+%
+\newcommand{\bs}{\symbol{'134}}%Print backslash
+\newcommand{\ci}[1]{\texttt{\bs#1}}
+
+\makeatletter
+\@ifpackageloaded{tex4ht}{%
+ % separate definition for HTML case to avoid
+ % nasty borders with double horizontal lines with
+ % large gaps.
+ \newsavebox{\cmdsyntaxbox}%
+ \newenvironment{cmdsyntax}{%
+ \par
+ % \small
+ \addvspace{3.2ex plus 0.8ex minus 0.2ex}%
+ \vskip -\parskip
+ \noindent
+ \begin{lrbox}{\cmdsyntaxbox}%
+ \begin{tabular}{l}%
+ \rule{0pt}{1em}%
+ \ignorespaces
+ }{%
+ \end{tabular}%
+ \end{lrbox}%
+ \fbox{\usebox{\cmdsyntaxbox}}%
+ \par
+ \nopagebreak
+ \addvspace{3.2ex plus 0.8ex minus 0.2ex}%
+ \vskip -\parskip
+ }%
+}{%
+ \newenvironment{cmdsyntax}{%
+ \par
+ \small
+ \addvspace{3.2ex plus 0.8ex minus 0.2ex}%
+ \vskip -\parskip
+ \noindent
+ \begin{tabular}{|l|}%
+ \hline
+ \rule{0pt}{1em}%
+ \ignorespaces
+ }{%
+ \\%
+ \hline
+ \end{tabular}%
+ \par
+ \nopagebreak
+ \addvspace{3.2ex plus 0.8ex minus 0.2ex}%
+ \vskip -\parskip
+ }%
+}
+\makeatother
+
+\usepackage{array,longtable}
+\usepackage[T1]{fontenc}
+
+\newcommand*{\Quote}[1]{\textquotedblleft#1\textquotedblright}
+
+\def\Hanh{H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh}
+
+\ifpdf
+ \usepackage[%
+ pdftex,%
+ colorlinks,%
+ hyperindex,%
+ plainpages=false,%
+ bookmarksopen,%
+ bookmarksnumbered%
+ ]{hyperref}
+ %%?? \def\pdfBorderAttrs{/Border [0 0 0] } % No border arround Links
+ \usepackage{thumbpdf}
+\else
+ \usepackage{hyperref}
+\fi
+
+\title{Hypertext marks in \LaTeX: a manual for \textsf{hyperref}}
+\author{Sebastian Rahtz \and Heiko Oberdiek}
+\date{February 2006}
+
+\begin{document}
+
+% comes out too close to the toc, and we know it's page one anyway.
+\thispagestyle{empty}
+\maketitle
+\tableofcontents
+\setcounter{tocdepth}{2}% for bookmark levels
+
+\section{Introduction}
+
+The package derives from, and builds on, the work of the Hyper\TeX\
+project, described at \url{http://xxx.lanl.gov/hypertex/}. It extends
+the functionality of all the \LaTeX\ cross-referencing commands
+(including the table of contents, bibliographies etc) to produce
+\verb|\special| commands which a driver can turn into hypertext links;
+it also provides new commands to allow the user to write \emph{ad hoc}
+hypertext links, including those to external documents and URLs.
+
+This manual provides a brief overview of the \textsf{hyperref}
+package. For more details, you should read the additional documentation
+distributed with the package, as well as the complete documentation by
+processing \texttt{hyperref.dtx}. You should also read the chapter on
+\textsf{hyperref} in \textit{The \LaTeX\ Web Companion}, where you will
+find additional examples.
+
+The Hyper\TeX\ specification\footnote{This is borrowed from an article
+by Arthur Smith.} says that conformant viewers/translators must
+recognize the following set of \verb|\special| constructs:
+
+\begin{description}
+\item[href:] \verb|html:<a href = "href_string">|
+\item[name:] \verb|html:<a name = "name_string">|
+\item[end:] \verb|html:</a>|
+\item[image:] \verb|html:<img src = "href_string">|
+\item[base\_name:] \verb|html:<base href = "href_string">|
+\end{description}
+
+The \emph{href}, \emph{name} and \emph{end} commands are used to do the
+basic hypertext operations of establishing links between sections of
+documents. The \emph{image} command is intended (as with current HTML
+viewers) to place an image of arbitrary graphical format on the page in
+the current location. The \emph{base\_name} command is be used to
+communicate to the DVI viewer the full (URL) location of the current
+document so that files specified by relative URL's may be retrieved
+correctly.
+
+The \emph{href} and \emph{name} commands must be paired with an
+\emph{end} command later in the \TeX\ file---the \TeX\ commands between
+the two ends of a pair form an \emph{anchor} in the document. In the
+case of an \emph{href} command, the \emph{anchor} is to be highlighted
+in the \emph{DVI viewer}, and when clicked on will cause the scene to
+shift to the destination specified by \emph{href\_string}. The
+\emph{anchor} associated with a name command represents a possible
+location to which other hypertext links may refer, either as local
+references (of the form \verb|href="#name_string"| with the
+\emph{name\_string} identical to the one in the name command) or as part
+of a URL (of the form \emph{URL\#name\_string}). Here
+\emph{href\_string} is a valid URL or local identifier, while
+\emph{name\_string} could be any string at all: the only caveat is that
+`$\verb|"|$' characters should be escaped with a backslash
+($\backslash$), and if it looks like a URL name it may cause problems.
+
+However, the drivers intended to produce \emph{only} PDF use literal
+PostScript or PDF \verb|\special| commands. The commands are defined in
+configuration files for different drivers, selected by package options;
+at present, the following drivers are supported:
+
+\begin{description}
+\item[hypertex] DVI processors conforming to the Hyper\TeX\ guidelines (i.e.\ \textsf{xdvi}, \textsf{dvips} (with
+the \textsf{-z} option), \textsf{OzTeX}, and \textsf{Textures})
+\item[dvips] produces \verb|\special| commands tailored for \textsf{dvips}
+\item[dvipsone] produces \verb|\special| commands tailored for \textsf{dvipsone}
+\item[ps2pdf] a special case of output suitable for processing by earlier versions of Ghost\-script's
+PDF writer; this is basically the same as that for \textsf{dvips}, but a few variations remained before version 5.21
+\item[tex4ht] produces \verb|\special| commands for use with \textsf{\TeX4ht}
+\item[pdftex] pdf\TeX, \Hanh{}'s \TeX{} variant that writes PDF directly
+% \item[dvipdf] produces \verb|\special| commands for the DVI to PDF driver \textsf{dvipdf}
+% (deprecated)
+\item[dvipdfm] produces \verb|\special| commands for Mark Wicks' DVI to PDF driver \textsf{dvipdfm}
+\item[dviwindo] produces \verb|\special| commands that Y\&Y's Windows previewer interprets as hypertext jumps within the previewer
+\item[vtex] produces \verb|\special| commands that MicroPress' HTML and
+ PDF-producing \TeX\ variants interpret as hypertext jumps within the
+ previewer
+\item[textures] produces \verb|\special| commands that \textsf{Textures} interprets as hypertext jumps within the previewer
+\end{description}
+
+Output from \textsf{dvips} or \textsf{dvipsone} must be processed using
+Acrobat Distiller to obtain a PDF file.\footnote{Make sure you turn off
+the partial font downloading supported by \textsf{dvips} and
+\textsf{dvipsone} in favor of Distiller's own system.} The result is
+generally preferable to that produced by using the \textsf{hypertex}
+driver, and then processing with \textsf{dvips -z}, but the DVI file is
+not portable. The main advantage of using the Hyper\TeX\ \ci{special}
+commands is that you can also use the document in hypertext DVI viewers,
+such as \textsf{xdvi}.
+
+\section{Implicit behavior}
+
+This package can be used with more or less any normal \LaTeX\ document
+by specifying in the document preamble
+
+\begin{verbatim}
+\usepackage{hyperref}
+\end{verbatim}
+
+Make sure it comes \emph{last} of your loaded packages, to give it a
+fighting chance of not being over-written, since its job is to redefine
+many \LaTeX\ commands. Hopefully you will find that all cross-references
+work correctly as hypertext. For example, \ci{section} commands will
+produce a bookmark and a link, whereas \ci{section*} commands will only
+show links when paired with a corresponding \ci{addcontentsline}
+command.
+
+In addition, the \texttt{hyperindex} option (see below) attempts to make
+items in the index by hyperlinked back to the text, and the option
+\texttt{backref} inserts extra `back' links into the bibliography for
+each entry. Other options control the appearance of links, and give
+extra control over PDF output. For example, \texttt{colorlinks}, as its
+name well implies, colors the links instead of using boxes; this is the
+option used in this document.
+
+
+\section{Package options}
+
+All user-configurable aspects of \textsf{hyperref} are set using a
+single `key=value' scheme (using the \textsf{keyval} package) with the
+key \texttt{Hyp}. The options can be set either in the optional argument
+to the \verb|\usepackage| command, or using the \verb|\hypersetup|
+macro. When the package is loaded, a file \texttt{hyperref.cfg} is read
+if it can be found, and this is a convenient place to set options on a
+site-wide basis.
+
+As an example, the behavior of a particular file could be controlled by:
+\begin{itemize}
+
+\item a site-wide \texttt{hyperref.cfg} setting up the look of links,
+adding backreferencing, and setting a PDF display default:
+
+\begin{verbatim}
+\hypersetup{backref,
+pdfpagemode=FullScreen,
+colorlinks=true}
+\end{verbatim}
+
+\item A global option in the file, which is passed down to
+\textsf{hyperref}:
+
+\begin{verbatim}
+\documentclass[dvips]{article}
+\end{verbatim}
+
+\item File-specific options in the \verb|\usepackage| commands, which
+override the ones set in \texttt{hyperref.cfg}:
+
+\begin{verbatim}
+\usepackage[pdftitle={A Perfect Day},colorlinks=false]{hyperref}
+\end{verbatim}
+\end{itemize}
+
+Some options can be given at any time, but many are restricted: before
+\verb|\begin{document}|, only in \verb|\usepackage[...]{hyperref}|,
+before first use, etc.
+
+In the key descriptions that follow, many options do not need a value,
+as they default to the value true if used. These are the ones classed as
+`boolean'. The values true and false can always be specified, however.
+
+\subsection{General options}
+
+Firstly, the options to specify general behavior and page size.
+
+\medskip
+\noindent\begin{longtable}{>{\ttfamily}ll>{\itshape}ll}
+draft & boolean & false & all hypertext options are turned off \\
+final & boolean & true & all hypertext options are turned on \\
+debug & boolean & false & extra diagnostic messages are printed in \\
+ & & & the log file \\
+verbose & boolean & false & same as debug \\
+implicit & boolean & true & redefines \LaTeX\ internals \\
+hypertexnames & boolean & true & use guessable names for links \\
+naturalnames & boolean & false & use \LaTeX-computed names for links \\
+a4paper & boolean & true & sets paper size to 210mm $\times$ 297mm \\
+a5paper & boolean & false & sets paper size to 148mm $\times$ 210mm \\
+b5paper & boolean & false & sets paper size to 176mm $\times$ 250mm \\
+letterpaper & boolean & false & sets paper size to 8.5in $\times$ 11in \\
+legalpaper & boolean & false & sets paper size to 8.5in $\times$ 14in \\
+executivepaper & boolean & false & sets paper size to 7.25in $\times$ 10.5in \\
+setpagesize & boolean & true & sets page size by special driver commands
+\end{longtable}
+
+\subsection{Configuration options}
+
+\noindent\begin{longtable}{>{\ttfamily}ll>{\itshape}lp{7cm}}
+raiselinks & boolean & true & In the hypertex driver, the height of links is normally calculcated by the driver as
+ simply the base line of contained text; this options forces \verb|\special| commands to
+ reflect the real height of the link (which could contain a graphic) \\
+breaklinks & boolean & false & Allows link text to break across lines; since this cannot be accommodated in PDF, it is
+ only set true by default if the pdftex driver is used. This makes links on multiple lines
+ into different PDF links to the same target. \\
+pageanchor & boolean & true & Determines whether every page is given an implicit anchor at the top left corner. If this
+ is turned off, \verb|\printindex| will not contain
+ valid hyperlinks. \\
+plainpages & boolean & false & Forces page anchors to be named by the arabic form of the page number, rather than the
+ formatted form. \\
+nesting & boolean & false & Allows links to be nested; no drivers currently support this.
+\end{longtable}
+
+Note for option \verb|breaklinks|:
+The correct value is automatically set according to the driver features.
+It can be overwritten for drivers that do not support broken links.
+However, at any case, the link area will be wrong and displaced.
+
+\subsection{Backend drivers}
+
+If no driver is specified, the package defaults to loading the
+\textsf{hypertex} driver. All of these are boolean options.
+
+\noindent\begin{longtable}{>{\ttfamily}lp{.8\hsize}}
+dvipdfm & Sets up \textsf{hyperref} for use with the \textsf{dvipdfm} driver.\\
+dvips & Sets up \textsf{hyperref} for use with the \textsf{dvips} driver. \\
+dvipsone & Sets up \textsf{hyperref} for use with the \textsf{dvipsone} driver. \\
+dviwindo & Sets up \textsf{hyperref} for use with the \textsf{dviwindo} Windows previewer. \\
+hypertex & Sets up \textsf{hyperref} for use with the Hyper\TeX-compliant drivers. \\
+latex2html & Redefines a few macros for compatibility with \textsf{latex2html}. \\
+nativepdf & an alias for \textsf{dvips} \\
+pdfmark & an alias for \textsf{dvips} \\
+pdftex & Sets up \textsf{hyperref} for use with the \textsf{pdftex} program.\\
+ps2pdf & Redefines a few macros for compatibility with
+ Ghostscript's PDF writer, otherwise identical to
+ \textsf{dvips}. \\
+tex4ht & for use with \textsf{\TeX4ht} \\
+textures & for use with \textsf{Textures} \\
+vtex & For use with MicroPress' \textsf{VTeX}; the PDF
+ and HTML backends are detected automatically. \\
+vtexpdfmark & for use with \textsf{VTeX}'s PostScript backend. \\
+\end{longtable} \smallskip
+
+If you use \textsf{dviwindo}, you may need to redefine the macro
+\ci{wwwbrowser} (the default is \verb|C:\netscape\netscape|) to tell
+\textsf{dviwindo} what program to launch. Thus, users of Internet
+Explorer might add something like this to hyperref.cfg:
+
+\begin{verbatim}
+\renewcommand{wwwbrowser}{C:\string\Program\space
+ Files\string\Plus!\string\Microsoft\space
+ Internet\string\iexplore.exe}
+\end{verbatim}
+
+\subsection{Extension options}
+\noindent\begin{longtable}{>{\ttfamily}ll>{\itshape}lp{6cm}}
+extension & text & & Set the file extension (e.g.\ \textsf{dvi}) which will be appended to file links
+ created if you use the \textsf{xr} package. \\
+hyperfigures & boolean & & \\
+backref & boolean & false & Adds `backlink' text to the end of each item in the bibliography, as a list of
+ section numbers. This can only work properly \emph{if} there is a blank line after
+ each \verb|\bibitem|. \\
+pagebackref & boolean & false & Adds `backlink' text to the end of each item in the bibliography, as a list of page
+ numbers. \\
+hyperindex & boolean & true & Makes the page numbers of index entries into hyperlinks. Relays on unique
+ page anchors (\verb|pageanchor|, \ldots)\\
+ \verb|pageanchors| and \verb|plainpages=false|. \\
+hyperfootnotes & boolean & true & Makes the footnote marks into hyperlinks to the footnote text.
+ Easily broken \ldots\\
+encap & & & Sets encap character for hyperindex \\
+linktocpage & boolean & false & make page number, not text, be link on TOC, LOF and LOT \\
+breaklinks & boolean & false & allow links to break over lines by making links over multiple lines into PDF links to
+ the same target \\
+colorlinks & boolean & false & Colors the text of links and anchors. The colors chosen depend on the the type of
+ link. At present the only types of link distinguished are citations, page references,
+ URLs, local file references, and other links. \\
+linkcolor & color & red & Color for normal internal links. \\
+anchorcolor & color & black & Color for anchor text. \\
+citecolor & color & green & Color for bibliographical citations in text. \\
+filecolor & color & magenta & Color for URLs which open local files. \\
+menucolor & color & red & Color for Acrobat menu items. \\
+pagecolor & color & red & Color for links to other pages, but
+ currently unused. \\
+urlcolor & color & cyan & Color for linked URLs. \\
+frenchlinks & boolean & false & use small caps instead of color for links
+\end{longtable} \smallskip
+
+Note that all color names must be defined before use, following the
+normal system of the standard \LaTeX\ \textsf{color} package.
+
+\subsection{PDF-specific display options}
+\noindent\begin{longtable}{@{}>{\ttfamily}ll>{\itshape}lp{7.5cm}@{}}
+bookmarks & boolean & true & A set of Acrobat bookmarks are written, in a manner similar to the
+ table of contents, requiring two passes of \LaTeX. Some postprocessing
+ of the bookmark file (file extension \texttt{.out}) may be needed to
+ translate \LaTeX\ codes, since bookmarks must be written in PDFEncoding.
+ To aid this process, the \texttt{.out} file is not rewritten by \LaTeX\
+ if it is edited to contain a line \verb|\let\WriteBookmarks\relax| \\
+bookmarksopen & boolean & false & If Acrobat bookmarks are requested, show them with all the subtrees
+ expanded. \\
+bookmarksopenlevel & parameter & & level (\ci{maxdimen}) to which bookmarks are open \\
+bookmarksnumbered & boolean & false & If Acrobat bookmarks are requested, include section numbers. \\
+bookmarkstype & text & toc & to specify which `toc' file to mimic \\
+CJKbookmarks & boolean & false &
+ This option should be used to produce CJK bookmarks.
+ Package \verb|hyperref|
+ supports both normal and preprocessed mode of the CJK package;
+ during the creation of bookmarks, it simply replaces CJK's macros
+ with special versions which expand to the corresponding character
+ codes. Note that without the `unicode' option of hyperref you get
+ PDF files which actually violate the PDF specification because
+ non-Unicode character codes are used -- some PDF readers localized
+ for CJK languages (most notably Acroread itself) support this.
+
+ No mechanism is provided to translate non-Unicode bookmarks to
+ Unicode; for portable PDF documents only Unicode encoding should
+ be used.\\
+pdfhighlight & name & /I & How link buttons behave when selected; /I is for inverse (the default);
+ the other possibilities are /N (no effect), /O (outline), and /P (inset
+ highlighting). \\
+citebordercolor & RGB color & 0 1 0 & The color of the box around citations \\
+filebordercolor & RGB color & 0 .5 .5 & The color of the box around links to files \\
+linkbordercolor & RGB color & 1 0 0 & The color of the box around normal links \\
+menubordercolor & RGB color & 1 0 0 & The color of the box around Acrobat menu links \\
+pagebordercolor & RGB color & 1 1 0 & The color of the box around links to pages \\
+urlbordercolor & RGB color & 0 1 1 & The color of the box around links to URLs \\
+runbordercolor & RGB color & 0 .7 .7 & color of border around `run' links \\
+pdfborder & & 0 0 1 & The style of box around links; defaults to a box with lines of 1pt thickness,
+ but the colorlinks option resets it to produce no border.
+\end{longtable}
+
+Note that the color of link borders can be specified \emph{only} as 3
+numbers in the range 0..1, giving an RGB color. You cannot use colors
+defined in \TeX.
+
+The bookmark commands are stored in a file called
+\textit{jobname}\texttt{.out}. The files is not processed by \LaTeX\ so
+any markup is passed through. You can postprocess this file as needed;
+as an aid for this, the \texttt{.out} file is not overwritten on the
+next \TeX\ run if it is edited to contain the line \\
+
+\begin{verbatim}
+\let\WriteBookmarks\relax
+\end{verbatim}
+
+\subsection{PDF display and information options}
+\noindent\begin{longtable}{>{\ttfamily}ll>{\itshape}lp{6cm}}
+baseurl & URL & & Sets the base URL of the PDF document \\
+pdfpagemode & text & None & Determines how the file is opening in Acrobat; the possibilities are
+ \texttt{None}, \texttt{UseThumbs} (show thumbnails), \texttt{UseOutlines} (show
+ bookmarks), and \texttt{FullScreen}. If no mode if explicitly chosen, but the
+ bookmarks option is set, \texttt{UseOutlines} is used. \\
+pdftitle & text & & Sets the document information Title field \\
+pdfauthor & text & & Sets the document information Author field \\
+pdfsubject & text & & Sets the document information Subject field \\
+pdfcreator & text & & Sets the document information Creator field \\
+pdfproducer & text & & Sets the document information Producer field \\
+pdfkeywords & text & & Sets the document information Keywords field \\
+pdfview & text & XYZ & Sets the default PDF `view' for each link \\
+pdfstartpage & text & 1 & Determines on which page the PDF file is opened. \\
+pdfstartview & text & Fit & Set the startup page view \\
+pdfpagescrop & n n n n & & Sets the default PDF crop box for pages. This should be a set of four numbers \\
+pdfcenterwindow & boolean & false & position the document window in the center of the screen \\
+pdffitwindow & boolean & false & resize document window to fit document size \\
+pdfmenubar & boolean & true & make PDF viewer's menu bar visible \\
+pdfnewwindow & boolean & false & make links that open another PDF file start a new window \\
+pdfpagelayout & text & empty & set layout of PDF pages \\
+pdfpagelabels & boolean & true & set PDF page labels \\
+pdfpagetransition & text & empty & set PDF page transition style \\
+pdftoolbar & boolean & true & make PDF toolbar visible \\
+pdfwindowui & boolean & true & make PDF user interface elements visible \\
+unicode & boolean & false & Unicode encoded PDF strings
+\end{longtable}
+
+Each link in Acrobat carries its own magnification level, which is set
+using PDF coordinate space, which is not the same as \TeX's. The unit
+is bp and the origin is in the lower left corner. See also
+\verb|\hypercalcbp| that is explained on page \pageref{hypercalcbp}.
+pdf\TeX\
+works by supplying default values for \texttt{XYZ} (horizontal $\times$
+vertical $\times$ zoom) and \texttt{FitBH}. However, drivers using
+\texttt{pdfmark} do not supply defaults, so \textsf{hyperref} passes in
+a value of -32768, which causes Acrobat to set (usually) sensible
+defaults. The following are possible values for the \texttt{pdfview} and
+\texttt{pdfstartview} parameters.
+
+\noindent\begin{longtable}{>{\ttfamily}l>{\itshape}lp{7cm}}
+XYZ & left top zoom & Sets a coordinate and a zoom factor. If any one is null, the source link value is used.
+ \textit{null null null} will give the same values as the current page. \\
+Fit & & Fits the page to the window. \\
+FitH & top & Fits the width of the page to the window. \\
+FitV & left & Fits the height of the page to the window. \\
+FitR & left bottom right top & Fits the rectangle specified by the four coordinates to the window. \\
+FitB & & Fits the page bounding box to the window. \\
+FitBH & top & Fits the width of the page bounding box to the window. \\
+FitBV & left & Fits the height of the page bounding box to the window. \\
+\end{longtable}
+
+The \texttt{pdfpagelayout} can be one of the following values.
+
+\noindent\begin{longtable}{>{\ttfamily}lp{10cm}}
+SinglePage & Displays a single page; advancing flips the page \\
+OneColumn & Displays the document in one column; continuous scrolling. \\
+TwoColumnLeft & Displays the document in two columns, odd-numbered pages to the left. \\
+TwoColumnRight & Displays the document in two columns, odd-numbered pages to the right.
+\end{longtable}
+
+Finally, the \texttt{pdfpagetransition} can be one of the following
+values, where \textit{/Di} stands for direction of motion in degrees,
+generally in 90$^{\circ}$\ steps, \textit{/Dm} is a horizontal
+(\texttt{/H}) or vertical (\texttt{/V}) dimension (e.g.\ \texttt{Blinds
+/Dm /V}), and \textit{/M} is for motion, either in (\texttt{/I}) or out
+(\texttt{/O}).
+
+\noindent\begin{longtable}{>{\ttfamily}llp{8.5cm}}
+Blinds & /Dm & Multiple lines distributed evenly across the screen sweep in the same direction to reveal the new
+ page. \\
+Box & /M & A box sweeps in or out. \\
+Dissolve & & The page image dissolves in a piecemeal fashion to reveal the new page. \\
+Glitter & /Di & Similar to Dissolve, except the effect sweeps across the screen. \\
+Split & /Dm /M & Two lines sweep across the screen to reveal the new page. \\
+Wipe & /Di & A single line sweeps across the screen to reveal the new page.
+\end{longtable}
+
+\subsection{Big alphabetical list}
+
+The following is a complete listing of available options for
+\textsf{hyperref}, arranged alphabetically.
+
+\noindent\begin{longtable}{>{\ttfamily}llp{6cm}}
+a4paper & & use A4 paper \\
+a5paper & & use A5 paper \\
+anchorcolor & \textit{black} & set color of anchors \\
+b5paper & & use B5 paper \\
+backref & \textit{false} & do bibliographical back references \\
+baseurl & \textit{empty} & set base URL for document \\
+bookmarks & \textit{true} & make bookmarks \\
+bookmarksnumbered & \textit{false} & put section numbers in bookmarks \\
+bookmarksopen & \textit{false} & open up bookmark tree \\
+bookmarksopenlevel & \ttfamily\ci{maxdimen} & level to which bookmarks are open \\
+bookmarkstype & \textit{toc} & to specify which `toc' file to mimic \\
+breaklinks & \textit{false} & allow links to break over lines \\
+CJKbookmarks & \textit{false} & to produce CJK bookmarks\\
+citebordercolor & \textit{0 1 0} & color of border around cites \\
+citecolor & \textit{green} & color of citation links \\
+colorlinks & \textit{false} & color links \\
+ & \textit{true} & (\textsf{tex4ht}, \textsf{dviwindo}) \\
+debug & \textit{false} & provide details of anchors defined; same as verbose \\
+draft & \textit{false} & do not do any hyperlinking \\
+dvipdf & & use \textsf{dvipdf} backend (deprecated)\\
+dvipdfm & & use \textsf{dvipdfm} backend \\
+dvips & & use \textsf{dvips} backend \\
+dvipsone & & use \textsf{dvipsone} backend \\
+dviwindo & & use \textsf{dviwindo} backend \\
+encap & & to set encap character for hyperindex \\
+executivepaper & & use executivepaper \\
+extension & \textit{dvi} & suffix of linked files \\
+filebordercolor & \textit{0 .5 .5} & color of border around file links \\
+filecolor & \textit{cyan} & color of file links \\
+final & \textit{true} & opposite of option draft \\
+frenchlinks & \textit{false} & use small caps instead of color for links \\
+hyperfigures & \textit{false} & make figures hyper links \\
+hyperfootnotes & \textit{true} & set up hyperlinked footnotes \\
+hyperindex & \textit{true} & set up hyperlinked indices \\
+hypertex & & use \textsf{Hyper\TeX} backend \\
+hypertexnames & \textit{true} & use guessable names for links \\
+implicit & \textit{true} & redefine \LaTeX\ internals \\
+latex2html & & use \textsf{\LaTeX2HTML} backend \\
+legalpaper & & use legalpaper \\
+letterpaper & & use letterpaper \\
+linkbordercolor & \textit{1 0 0} & color of border around links \\
+linkcolor & \textit{red} & color of links \\
+linktocpage & \textit{false} & make page number, not text, be link on TOC, LOF and LOT \\
+menubordercolor & \textit{1 0 0} & color of border around menu links \\
+menucolor & \textit{red} & color for menu links \\
+nativepdf & \textit{false} & an alias for \textsf{dvips} \\
+naturalnames & \textit{false} & use \LaTeX-computed names for links \\
+nesting & \textit{false} & allow nesting of links \\
+pageanchor & \textit{true} & put an anchor on every page \\
+pagebackref & \textit{false} & backreference by page number \\
+pagebordercolor & \textit{1 1 0} & color of border around page links \\
+pagecolor & \textit{red} & color of page links, but
+ currently unused \\
+pdfauthor & \textit{empty} & text for PDF Author field \\
+pdfborder & \textit{0 0 1} & width of PDF link border \\
+ & \textit{0 0 0} & (\texttt{colorlinks)} \\
+pdfcenterwindow & \textit{false} & position the document window in the center of the screen \\
+pdfcreator & \textit{LaTeX with} & text for PDF Creator field \\
+ & \textit{hyperref} & \\
+ & \textit{package} & \\
+pdffitwindow & \textit{false} & resize document window to fit document size \\
+pdfhighlight & \textit{/I} & set highlighting of PDF links \\
+pdfkeywords & \textit{empty} & text for PDF Keywords field \\
+pdfmark & \textit{false} & an alias for \textsf{dvips} \\
+pdfmenubar & \textit{true} & make PDF viewer's menu bar visible \\
+pdfnewwindow & \textit{false} & make links that open another PDF \\
+ & & file start a new window \\
+pdfpagelayout & \textit{empty} & set layout of PDF pages \\
+pdfpagemode & \textit{empty} & set default mode of PDF display \\
+pdfpagelabels & \textit{true} & set PDF page labels \\
+pdfpagescrop & \textit{empty} & set crop size of PDF document \\
+pdfpagetransition & \textit{empty} & set PDF page transition style \\
+pdfproducer & \textit{empty} & text for PDF Producer field \\
+pdfstartpage & \textit{1} & page at which PDF document opens \\
+pdfstartview & \textit{Fit} & starting view of PDF document \\
+pdfsubject & \textit{empty} & text for PDF Subject field \\
+pdftex & & use \textsf{pdf\TeX} backend \\
+pdftitle & \textit{empty} & text for PDF Title field \\
+pdftoolbar & \textit{true} & make PDF toolbar visible \\
+pdfview & \textit{XYZ} & PDF `view' when on link traversal \\
+pdfwindowui & \textit{true} & make PDF user interface elements visible \\
+plainpages & \textit{false} & do page number anchors as plain arabic \\
+ps2pdf & & use \textsf{ps2pdf} backend \\
+raiselinks & \textit{false} & raise up links (for \textsf{Hyper\TeX} backend) \\
+runbordercolor & \textit{0 .7 .7} & color of border around `run' links \\
+setpagesize & \textit{true} & set page size by special driver commands \\
+tex4ht & & use \textsf{\TeX4ht} backend \\
+textures & & use \textsf{Textures} backend \\
+unicode & \textit{false} & Unicode encoded pdf strings \\
+urlbordercolor & \textit{0 1 1} & color of border around URL links \\
+urlcolor & \textit{magenta} & color of URL links \\
+verbose & \textit{false} & be chatty \\
+vtex & & use \textsf{VTeX} backend\\
+\end{longtable}
+
+\section{Additional user macros}
+
+If you need to make references to URLs, or write explicit links, the
+following low-level user macros are provided:
+
+\begin{cmdsyntax}
+\ci{href}\verb|{|\emph{URL}\verb|}{|\emph{text}\verb|}|
+\end{cmdsyntax}
+
+\noindent The \emph{text} is made a hyperlink to the \emph{URL}; this
+must be a full URL (relative to the base URL, if that is defined). The
+special characters \# and \~{} do \emph{not} need to be escaped in any
+way.
+
+\begin{cmdsyntax}
+\ci{url}\verb|{|\emph{URL}\verb|}|
+\end{cmdsyntax}
+
+\noindent Similar to
+\ci{href}\verb|{|\emph{URL}\verb|}{|\ci{nolinkurl}\verb|{|\emph{URL}\verb|}}|.
+Depending on the driver \verb|\href| also tries to detect the link type.
+Thus the result can be a url link, file link, \dots
+
+\begin{cmdsyntax}
+\ci{nolinkurl}\verb|{|\emph{URL}\verb|}|
+\end{cmdsyntax}
+
+\noindent Write \emph{URL} in the same way as \verb|\url|,
+ without creating a hyperlink.
+
+\begin{cmdsyntax}
+\ci{hyperbaseurl}\verb|{|\emph{URL}\verb|}|
+\end{cmdsyntax}
+
+\noindent A base \emph{URL} is established, which is prepended to other
+specified URLs, to make it easier to write portable documents.
+
+\begin{cmdsyntax}
+\ci{hyperimage}\verb|{|\emph{imageURL}\verb|}{|\emph{text}\verb|}|
+\end{cmdsyntax}
+
+\noindent The link to the image referenced by the URL is inserted, using
+\emph{text} as the anchor.
+
+ For drivers that produce HTML, the image itself is inserted by the
+browser, with the \emph{text} being ignored completely.
+
+\begin{cmdsyntax}
+\ci{hyperdef}\verb|{|\emph{category}\verb|}{|\emph{name}\verb|}{|\emph{text}\verb|}|
+\end{cmdsyntax}
+
+\noindent A target area of the document (the \emph{text}) is marked, and
+given the name \emph{category.name}
+
+\begin{cmdsyntax}
+\ci{hyperref}\verb|{|\emph{URL}\verb|}{|\emph{category}\verb|}{|\emph{name}\verb|}{|\emph{text}\verb|}|
+\end{cmdsyntax}
+
+\noindent \emph{text} is made into a link to \emph{URL\#category.name}
+
+\begin{cmdsyntax}
+\ci{hyperlink}\verb|{|\emph{name}\verb|}{|\emph{text}\verb|}|
+\end{cmdsyntax}
+\begin{cmdsyntax}
+\ci{hypertarget}\verb|{|\emph{name}\verb|}{|\emph{text}\verb|}|
+\end{cmdsyntax}
+
+\noindent A simple internal link is created with \verb|\hypertarget|,
+with two parameters of an anchor \emph{name}, and anchor
+\emph{text}. \verb|\hyperlink| has two arguments, the name of a
+hypertext object defined somewhere by \verb|\hypertarget|, and the
+\emph{text} which be used as the link on the page.
+
+Note that in HTML parlance, the \verb|\hyperlink| command inserts a
+notional \# in front of each link, making it relative to the current
+testdocument; \verb|\href| expects a full URL.
+
+\begin{cmdsyntax}
+\ci{phantomsection}
+\end{cmdsyntax}
+
+\noindent
+This sets an anchor at this location. It works similar to
+\verb|\hypertarget{}{}| with an automatically choosen anchor name.
+Often it is used in conjunction
+with \verb|\addcontentsline| for sectionlike things (index, bibliography,
+preface). \verb|\addcontentsline| refers to the latest previous location
+where an anchor is set. Example:
+\begin{quote}
+\begin{verbatim}
+\cleardoublepage
+\phantomsection
+\addcontentsline{toc}{chapter}{\indexname}
+\printindex
+\end{verbatim}
+\end{quote}
+Now the entry in the table of contents (and bookmarks) for the
+index points to the start of the index page, not to a location
+before this page.
+
+\begin{cmdsyntax}
+\ci{autoref}\verb|{|\emph{label}\verb|}|
+\end{cmdsyntax}
+
+\noindent
+This is a replacement for the usual \verb|\ref| command that places a
+contextual label in front of the reference. This gives your users a
+bigger target to click for hyperlinks (e.g.\ `section 2' instead of
+merely the number `2').
+
+The label is worked out from the context of the original \verb|\label|
+command by \textsf{hyperref} by using the macros listed below (shown
+with their default values). The macros can be (re)defined in documents
+using \verb|\(re)newcommand|; note that some of these macros are already
+defined in the standard document classes. The mixture of lowercase and
+uppercase initial letters is deliberate and corresponds to the author's
+practice.
+
+For each macro below, \textsf{hyperref} checks \ci{*autorefname} before
+\ci{*name}. For instance, it looks for \ci{figureautorefname} before
+\ci{figurename}.
+
+\noindent\begin{longtable}{lp{10cm}}
+\textit{Macro} & \textit{Default} \\
+\ci{figurename} & Figure \\
+\ci{tablename} & Table \\
+\ci{partname} & Part \\
+\ci{appendixname} & Appendix \\
+\ci{equationname} & Equation \\
+\ci{Itemname} & item \\
+\ci{chaptername} & chapter \\
+\ci{sectionname} & section \\
+\ci{subsectionname} & subsection \\
+\ci{subsubsectionname} & subsubsection \\
+\ci{paragraphname} & paragraph \\
+\ci{Hfootnotename} & footnote \\
+\ci{AMSname} & Equation \\
+\ci{theoremname} & Theorem
+\end{longtable}
+
+For instances where you want a reference to use the correct counter, but
+not to create a link, there are two starred forms:
+
+\begin{cmdsyntax}
+\ci{ref*}\verb|{|\emph{label}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{pageref*}\verb|{|\emph{label}\verb|}|
+\end{cmdsyntax}
+
+A typical use would be to write
+\begin{verbatim}
+\hyperref[other]{that nice section (\ref*{other}) we read before}
+\end{verbatim}
+
+We want \verb|\ref*{other}| to generate the correct number, but not to
+form a link, since we do this ourselves with \ci{hyperref}.
+
+\begin{cmdsyntax}
+\ci{pdfstringdef}\verb|{|\emph{macroname}\verb|}{|\emph{\TeX string}\verb|}|
+\end{cmdsyntax}
+
+\ci{pdfstringdef} returns a macro containing the PDF string. (Currently
+this is done globally, but do not rely on it.) All the following tasks,
+definitions and redefinitions are made in a group to keep them local:
+
+\begin{itemize}
+\item Switching to PD1 or PU encoding
+\item Defining the \Quote{octal sequence commands} (\verb|\345|): \verb|\edef\3{\string\3}|
+\item Special glyphs of \TeX: \verb|\{|, \verb|\%|, \verb|\&|, \verb|\space|, \verb|\dots|, etc.
+\item National glyphs (\textsf{german.sty}, \textsf{french.sty}, etc.)
+\item Logos: \verb|\TeX|, \verb|\eTeX|, \verb|\MF|, etc.
+\item Disabling commands that do not provide useful functionality in bookmarks:
+\verb|\label|, \verb|\index|, \verb|\glossary|, \verb|\discretionary|, \verb|\def|, \verb|\let|, etc.
+\item \LaTeX's font commands like \verb|\textbf|, etc.
+\item Support for \verb|\xspace| provided by the \textsf{xspace} package
+\end{itemize}
+
+In addition, parentheses are protected to avoid the danger of unsafe
+unbalanced parentheses in the PDF string. For further details, see Heiko
+Oberdiek's Euro\TeX\ paper distributed with \textsf{hyperref}.
+
+
+\subsection{Replacement macros}
+
+\textsf{hyperref} takes the text for bookmarks from the arguments of
+commands like \ci{section}, which can contain things like math, colors,
+or font changes, none of which will display in bookmarks as is.
+
+\begin{cmdsyntax}
+\ci{texorpdfstring}\verb|{|\emph{\TeX string}\verb|}{|\emph{PDFstring}\verb|}|
+\end{cmdsyntax}
+
+For example,
+\begin{verbatim}
+\section{Pythagoras:
+ \texorpdfstring{$ a^2 + b^2 = c^2 $}{%
+ a\texttwosuperior\ + b\texttwosuperior\ =
+ c\texttwosuperior
+ }%
+}
+\section{\texorpdfstring{\textcolor{red}}{}{Red} Mars}
+\end{verbatim}
+
+\ci{pdfstringdef} executes the hook \pdfstringdefPreHook before it
+expands the string. Therefore, you can use this hook to perform
+additional tasks or to disable additional commands.
+
+\begin{verbatim}
+\expandafter\def\expandafter\pdfstringdefPreHook
+\expandafter{%
+ \pdfstringdefPreHook
+ \renewcommand{\mycommand}[1]{}%
+}
+\end{verbatim}
+
+However, for disabling commands, an easier way is via
+\ci{pdfstringdefDisableCommands}, which adds its argument to the
+definition of \ci{pdfstringdefPreHook} (`@' can here be used as letter in
+command names):
+
+\begin{verbatim}
+\pdfstringdefDisableCommands{%
+ \let~\textasciitilde
+ \def\url{\pdfstringdefwarn\url}%
+ \let\textcolor\@gobble
+}
+\end{verbatim}
+
+\subsection{Utility macros}
+
+\label{hypercalcbp}
+\begin{cmdsyntax}
+\ci{hypercalcbp}\verb|{|\emph{dimen specification}\verb|}|
+\end{cmdsyntax}
+\noindent
+\verb|\hypercalcbp| takes a \TeX\ dimen specification and
+converts it to bp and returns the number without the unit.
+This is useful for options \verb|pdfstartview| and \verb|pdfview|.
+Example:
+\begin{quote}
+\begin{verbatim}
+\hypersetup{
+ pdfstartview={FitBH \hypercalcbp{\paperheight-\topmargin-1in
+ -\headheight-\headsep}
+}
+\end{verbatim}
+\end{quote}
+The origin of the PDF coordinate system is the lower left corner.
+
+Note, for calculations you need either package |calc| or
+\eTeX. Nowadays the latter should automatically be enabled
+for \LaTeX\ formats. Users without \eTeX, please, look
+in the source documentation \verb|hyperref.dtx| for further
+limitations.
+
+Also \verb|\hypercalcbp| cannot be used in option specifications
+of \verb|\documentclass| and \verb|\usepackage|, because
+\LaTeX\ expands the option lists of these commands. However
+package \verb|hyperref| is not yet loaded and an undefined control
+sequence error would arise.
+
+\section{Acrobat-specific behavior}
+If you want to access the menu options of Acrobat Reader or Exchange, the following
+macro is provided in the appropriate drivers:
+
+\begin{cmdsyntax}
+\ci{Acrobatmenu}\verb|{|\emph{menuoption}\verb|}{|\emph{text}\verb|}|
+\end{cmdsyntax}
+
+\noindent The \emph{text} is used to create a button which activates the appropriate \emph{menuoption}. The following table lists the option names you can use---comparison of this with the menus in Acrobat Reader or Exchange will show what they do. Obviously some are only appropriate to Exchange.
+
+\medskip
+\noindent\begin{longtable}{lp{9cm}}
+File & Open, Close, Scan, Save, SaveAs, Optimizer:SaveAsOpt, Print, PageSetup, Quit \\
+File$\rightarrow$Import & ImportImage, ImportNotes, AcroForm:ImportFDF \\
+File$\rightarrow$Export & ExportNotes, AcroForm:ExportFDF \\
+File$\rightarrow$DocumentInfo & GeneralInfo, OpenInfo, FontsInfo, SecurityInfo, Weblink:Base, AutoIndex:DocInfo \\
+File$\rightarrow$Preferences & GeneralPrefs, NotePrefs, FullScreenPrefs, Weblink:Prefs, AcroSearch:Preferences(Windows)
+ or, AcroSearch:Prefs(Mac), Cpt:Capture \\
+Edit & Undo, Cut, Copy, Paste, Clear, SelectAll, Ole:CopyFile, TouchUp:TextAttributes,
+ TouchUp:FitTextToSelection, TouchUp:ShowLineMarkers, TouchUp:ShowCaptureSuspects,
+ TouchUp:FindSuspect, \\
+ & Properties \\
+Edit$\rightarrow$Fields & AcroForm:Duplicate, AcroForm:TabOrder \\
+Document & Cpt:CapturePages, AcroForm:Actions, CropPages, RotatePages, InsertPages, ExtractPages,
+ ReplacePages, DeletePages, NewBookmark, SetBookmarkDest, CreateAllThumbs,
+ DeleteAllThumbs \\
+View & ActualSize, FitVisible, FitWidth, FitPage, ZoomTo, FullScreen, FirstPage, PrevPage,
+ NextPage, LastPage, GoToPage, GoBack, GoForward, SinglePage, OneColumn, TwoColumns,
+ ArticleThreads, PageOnly, ShowBookmarks, ShowThumbs \\
+Tools & Hand, ZoomIn, ZoomOut, SelectText, SelectGraphics, Note, Link, Thread, AcroForm:Tool,
+ Acro\_Movie:MoviePlayer, TouchUp:TextTool, Find, FindAgain, FindNextNote,
+ CreateNotesFile \\
+Tools$\rightarrow$Search & AcroSrch:Query, AcroSrch:Indexes, AcroSrch:Results, AcroSrch:Assist, AcroSrch:PrevDoc,
+ AcroSrch:PrevHit, AcroSrch:NextHit, AcroSrch:NextDoc \\
+Window & ShowHideToolBar, ShowHideMenuBar, ShowHideClipboard, Cascade, TileHorizontal,
+ TileVertical, CloseAll \\
+Help & HelpUserGuide, HelpTutorial, HelpExchange, HelpScan, HelpCapture, HelpPDFWriter,
+ HelpDistiller, HelpSearch, HelpCatalog, HelpReader, Weblink:Home \\
+Help(Windows) & About
+\end{longtable}
+
+\section{PDF and HTML forms}
+You must put your fields inside a \texttt{Form} environment (only one per file).
+
+There are six macros to prepare fields:
+
+\begin{cmdsyntax}
+\ci{TextField}\verb|[|\emph{parameters}\verb|]{|\emph{label}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{CheckBox}\verb|[|\emph{parameters}\verb|]{|\emph{label}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{ChoiceMenu}\verb|[|\emph{parameters}\verb|]{|\emph{label}\verb|}{|\emph{choices}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{PushButton}\verb|[|\emph{parameters}\verb|]{|\emph{label}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{Submit}\verb|[|\emph{parameters}\verb|]{|\emph{label}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{Reset}\verb|[|\emph{parameters}\verb|]{|\emph{label}\verb|}|
+\end{cmdsyntax}
+
+The way forms and their labels are laid out is determined by:
+\begin{cmdsyntax}
+\ci{LayoutTextField}\verb|{|\emph{label}\verb|}{|\emph{field}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{LayoutChoiceField}\verb|{|\emph{label}\verb|}{|\emph{field}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{LayoutCheckField}\verb|{|\emph{label}\verb|}{|\emph{field}\verb|}|
+\end{cmdsyntax}
+
+These macros default to \#1 \#2
+
+What is actually shown in as the field is determined by:
+\begin{cmdsyntax}
+\ci{MakeRadioField}\verb|{|\emph{width}\verb|}{|\emph{height}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{MakeCheckField}\verb|{|\emph{width}\verb|}{|\emph{height}\verb|}|
+\end{cmdsyntax}
+\begin{cmdsyntax}
+\ci{MakeTextField}\verb|{|\emph{width}\verb|}{|\emph{height}\verb|}|
+\end{cmdsyntax}
+\begin{cmdsyntax}
+\ci{MakeChoiceField}\verb|{|\emph{width}\verb|}{|\emph{height}\verb|}|
+\end{cmdsyntax}
+
+\begin{cmdsyntax}
+\ci{MakeButtonField}\verb|{|\emph{text}\verb|}|
+\end{cmdsyntax}
+
+These macros default to \verb|\vbox to #2{\hbox to #1{\hfill}\vfill}|, except the
+last, which defaults to \#1; it is used for buttons, and the special \ci{Submit} and \ci{Reset}
+macros.
+
+You may also want to redefine the following macros:
+\begin{verbatim}
+\def\DefaultHeightofSubmit{12pt}
+\def\DefaultWidthofSubmit{2cm}
+\def\DefaultHeightofReset{12pt}
+\def\DefaultWidthofReset{2cm}
+\def\DefaultHeightofCheckBox{0.8\baselineskip}
+\def\DefaultWidthofCheckBox{0.8\baselineskip}
+\def\DefaultHeightofChoiceMenu{0.8\baselineskip}
+\def\DefaultWidthofChoiceMenu{0.8\baselineskip}
+\def\DefaultHeightofText{\baselineskip}
+\def\DefaultWidthofText{3cm}
+\end{verbatim}
+
+\subsection{Forms environment parameters}
+
+\smallskip\noindent\begin{longtable}{>{\ttfamily}l>{\itshape}lp{9cm}}
+action & URL & The URL that will receive the form data if a \textsf{Submit} button is included in the form \\
+encoding & name & The encoding for the string set to the URL; FDF-encoding is usual, and \texttt{html} is the only
+ valid value \\
+method & name & Used only when generating HTML; values can be \texttt{post} or \texttt{get} \\
+\end{longtable}
+
+\subsection{Forms optional parameters}
+Note that all colors must be expressed as RGB triples, in the range 0..1 (i.e.\ \texttt{color=0 0
+0.5})
+
+\smallskip\noindent\begin{longtable}{>{\ttfamily}ll>{\itshape}ll}
+accesskey & key & & (as per HTML) \\
+align & number & 0 & alignment within text field; 0 is left-aligned, \\
+ & & & 1 is centered, 2 is right-aligned. \\
+backgroundcolor & & & color of box \\
+bordercolor & & & color of border \\
+bordersep & & & box border gap \\
+borderwidth & & & width of box border \\
+calculate & & & JavaScript code to calculate the value of the field \\
+charsize & dimen & & font size of field text \\
+checked & boolean & false & whether option selected by default \\
+color & & & color of text in box \\
+combo & boolean & false & choice list is `combo' style \\
+default & & & default value \\
+disabled & boolean & false & field disabled \\
+format & & & JavaScript code to format the field \\
+height & dimen & & height of field box \\
+hidden & boolean & false & field hidden \\
+ketstroke & & & JavaScript code to control the keystrokes on entry \\
+maxlen & number & 0 & number of characters allowed in text field \\
+menulength & number & 4 & number of elements shown in list \\
+multiline & boolean & false & whether text box is multiline \\
+name & name & & name of field (defaults to label) \\
+onblur & & & JavaScript code \\
+onchange & & & JavaScript code \\
+onclick & & & JavaScript code \\
+ondblclick & & & JavaScript code \\
+onfocus & & & JavaScript code \\
+onkeydown & & & JavaScript code \\
+onkeypress & & & JavaScript code \\
+onkeyup & & & JavaScript code \\
+onmousedown & & & JavaScript code \\
+onmousemove & & & JavaScript code \\
+onmouseout & & & JavaScript code \\
+onmouseover & & & JavaScript code \\
+onmouseup & & & JavaScript code \\
+onselect & & & JavaScript code \\
+password & boolean & false & text field is `password' style \\
+popdown & boolean & false & choice list is `popdown' style \\
+radio & boolean & false & choice list is `radio' style \\
+readonly & boolean & false & field is readonly \\
+tabkey & & & (as per HTML) \\
+validate & & & JavaScript code to validate the entry \\
+value & & & initial value \\
+width & dimen & & width of field box
+\end{longtable}
+
+\section{Defining a new driver}
+A hyperref driver has to provide definitions for eight macros:
+
+\smallskip
+\noindent 1. \verb|\hyper@anchor|
+
+\noindent 2. \verb|\hyper@link|
+
+\noindent 3. \verb|\hyper@linkfile|
+
+\noindent 4. \verb|\hyper@linkurl|
+
+\noindent 5. \verb|\hyper@anchorstart|
+
+\noindent 6. \verb|\hyper@anchorend|
+
+\noindent 7. \verb|\hyper@linkstart|
+
+\noindent 8. \verb|\hyper@linkend|
+\smallskip
+
+The draft option defines the macros as follows
+\qquad\begin{verbatim}
+\let\hyper@@anchor\@gobble
+\gdef\hyper@link##1##2##3{##3}%
+\def\hyper@linkurl##1##2{##1}%
+\def\hyper@linkfile##1##2##3{##1}%
+\let\hyper@anchorstart\@gobble
+\let\hyper@anchorend\@empty
+\let\hyper@linkstart\@gobbletwo
+\let\hyper@linkend\@empty
+\end{verbatim}
+
+\section{Special support for other packages}
+
+\textsf{hyperref} aims to cooperate with other packages, but there are
+several possible sources for conflict, such as
+
+\begin{itemize}
+
+\item Packages that manipulate the bibliographic mechanism. Peter
+William's \textsf{harvard} package is supported. However, the
+recommended package is Patrick Daly's \textsf{natbib} package that has
+specific \textsf{hyperref} hooks to allow reliable interaction. This
+package covers a very wide variety of layouts and citation styles, all
+of which work with \textsf{hyperref}.
+
+\item Packages that typeset the contents of the \ci{label} and \ci{ref}
+macros, such as \textsf{showkeys}. Since the \textsf{hyperref} package
+redefines these commands, you must set \texttt{implicit=false} for these
+packages to work.
+
+\item Packages that do anything serious with the index.
+\end{itemize}
+
+The \textsf{hyperref} package is distributed with variants on two useful
+packages designed to work especially well with it. These are \textsf{xr}
+and \textsf{minitoc}, which support crossdocument links using \LaTeX's
+normal \verb|\label/\ref| mechanisms and per-chapter tables of contents,
+respectively.
+
+\section{History and acknowledgments}
+
+The original authors of \textsf{hyperbasics.tex} and
+\textsf{hypertex.sty}, from which this package descends, are Tanmoy
+Bhattacharya (\texttt{tanmoy@qcd.lanl.gov}) and Thorsten Ohl
+\linebreak(\texttt{thorsten.ohl@physik.th-darmstadt.de}). \textsf{hyperref}
+started as a simple port of their work to \LaTeXe\ standards, but
+eventually I rewrote nearly everything, because I didn't understand a
+lot of the original, and was only interested in getting it to work with
+\LaTeX. I would like to thank Arthur Smith, Tanmoy Bhattacharya, Mark
+Doyle, Paul Ginsparg, David Carlisle, T.\ V.\ Raman and Leslie Lamport
+for comments, requests, thoughts and code to get the package into its
+first useable state. Various other people are mentioned at the point in
+the source where I had to change the code in later versions because of
+problems they found.
+
+Tanmoy found a great many of the bugs, and (even better) often provided
+fixes, which has made the package more robust. The days spent on
+Rev\TeX\ are entirely due to him! The investigations of Bill Moss
+(\texttt{bmoss@math.clemson.edu}) into the later versions including
+native PDF support uncovered a good many bugs, and his testing is
+appreciated. Hans Hagen (\texttt{pragma@pi.net}) provided a lot of
+insight into PDF.
+
+Berthold Horn provided help, encouragement and sponsorship for the
+\textsf{dvipsone} and \textsf{dviwindo} drivers. Sergey Lesenko provided
+the changes needed for \textsf{dvipdf}, and \Hanh{} supplied all the
+information needed for \textsf{pdftex}. Patrick Daly kindly updated his
+\textsf{natbib} package to allow easy integration with
+\textsf{hyperref}. Michael Mehlich's \textsf{hyper} package (developed
+in parallel with \textsf{hyperref}) showed me solutions for some
+problems. Hopefully the two packages will combine one day.
+
+The forms creation section owes a great deal to: T.\ V.\ Raman, for
+encouragement, support and ideas; Thomas Merz, whose book \emph{Web
+Publishing with Acrobat/PDF} provided crucial insights; D.\ P.\ Story,
+whose detailed article about pdfmarks and forms solved many practical
+problems; and Hans Hagen, who explained how to do it in \textsf{pdftex}.
+
+Steve Dandy recreated the manual source in July 2003 after it had been
+lost.
+
+Especial extra thanks to David Carlisle for the \textsf{backref} module,
+the ps2pdf and dviwindo support, frequent general rewrites of my bad
+code, and for working on changes to the \textsf{xr} package to suit
+\textsf{hyperref}.
+
+\begingroup
+ \makeatletter
+ \let\chapter=\section
+ % subsections goes into bookmarks but not toc
+ \hypersetup{bookmarksopenlevel=1}
+ \addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
+ % The \section command acts as \subsection.
+ % Additionally the title is converted to lowercase except
+ % for the first letter.
+ \def\section{%
+ \let\section\lc@subsection
+ \lc@subsection
+ }
+ \def\lc@subsection{%
+ \@ifstar{\def\mystar{*}\lc@sec}%
+ {\let\mystar\@empty\lc@sec}%
+ }
+ \def\lc@sec#1{%
+ \lc@@sec#1\@nil
+ }
+ \def\lc@@sec#1#2\@nil{%
+ \begingroup
+ \def\a{#1}%
+ \lowercase{%
+ \edef\x{\endgroup
+ \noexpand\subsection\mystar{\a#2}%
+ }%
+ }%
+ \x
+ }
+ \include{fdl}
+\endgroup
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/doc/options.tex b/Master/texmf-dist/source/latex/hyperref/doc/options.tex
new file mode 100644
index 00000000000..6ad73f4e136
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/doc/options.tex
@@ -0,0 +1,113 @@
+\documentclass[a4paper,11pt]{article}
+\usepackage{geometry}
+\geometry{
+ includefoot,
+ hmargin=10mm,
+ vmargin=15mm,
+}
+\usepackage{array}
+\usepackage{longtable}
+\usepackage{pslatex}
+\title{hyperref package options}
+\author{Sebastian Rahtz et. al.}
+%\date{October 7th 1999}
+\date{July 31st 2006}% HO
+\newcommand{\optempty}{{\rmfamily\textit{empty}}}
+\newcommand*{\for}[1]{{\rmfamily(#1)}}
+\begin{document}
+\maketitle
+\begin{longtable}{@{}>{\ttfamily}lp{70mm}>{\ttfamily}l@{}}
+\hline
+a4paper &use A4 paper\\
+a5paper &use A5 paper\\
+anchorcolor &set color of anchors&black\\
+b5paper &use B5 paper\\
+backref &do bibliographical back references&false\\
+baseurl &set base URL for document&\optempty\\
+bookmarks &make bookmarks&true\\
+bookmarksnumbered &put section numbers in bookmarks&false\\
+bookmarksopen &open up bookmark tree&false\\
+bookmarksopenlevel &level to which bookmarks are open&\string\maxdimen\\
+bookmarkstype &to specify which `toc' file to mimic&toc\\
+breaklinks &allow links to break over lines&false\\
+citebordercolor &color of border around cites& 0 1 0\\
+citecolor &color of citation links&green\\
+colorlinks &color links&false\\
+&&true \for{tex4ht, dviwindo}\\
+debug &provide details of anchors defined&false\\
+&same as verbose&\\
+draft &do not do any hyper linking&false\\
+dvipdf &use dvipdf backend\\
+dvipdfm &use dvipdfm backend\\
+dvips &use dvips backend\\
+dvipsone &use dvipsone backend\\
+dviwindo &use dviwindo backend\\
+encap &to set encap character for hyperindex\\
+executivepaper &use executivepaper\\
+extension &suffix of linked files&dvi\\
+filebordercolor &color of border around file links& 0 .5 .5\\
+filecolor &color of file links&cyan\\
+final &opposite of option draft&true\\
+frenchlinks &use small caps instead of color for links&false\\
+hyperfigures &make figures hyper links&false\\
+hyperfootnotes &set up hyperlinked footnotes&true\\
+hyperindex &set up hyperlinked indices&true\\
+hypertex &use HyperTeX backend\\
+hypertexnames &use guessable names for links&true\\
+implicit &redefine \LaTeX\ internals&true\\
+latex2html &use \LaTeX2HTML backend\\
+legalpaper &use legalpaper\\
+letterpaper &use letterpaper\\
+linkbordercolor &color of border around links& 1 0 0\\
+linkcolor &color of links&red\\
+linktocpage &make page number, not text, be link on TOC, LOF and LOT&false\\
+menubordercolor &color of border around menu links& 1 0 0\\
+menucolor &color for menu links&red\\
+naturalnames &use \LaTeX-computed names for links&false\\
+nesting &allow nesting of links&false\\
+pageanchor &put an anchor on every page&true\\
+pagebackref &backreference by page number&false\\
+pagebordercolor &color of border around page links& 1 1 0\\
+pagecolor &color of page links&red\\
+pdfauthor &text for PDF Author field&\optempty\\
+pdfborder &width of PDF link border&0 0 1\\
+&&0 0 0 \for{colorlinks}\\
+pdfcenterwindow &position the document window center of the screen&false\\
+pdfcreator &text for PDF Creator field&LaTeX with hyperref package\\
+pdfdisplaydoctitle &display document title instead of file name in title bar&true\\
+pdffitwindow &resize document window to fit document size&false\\
+pdfhighlight &set highlighting of PDF links& /I\\
+pdfkeywords &text for PDF Keywords field&\optempty\\
+pdfmenubar &make PDF viewer's menu bar visible&true\\
+pdfnewwindow &make links that open another PDF file start a new window&false\\
+pdfnonfullscreenpagemode &page mode setting on exiting full-screen mode&\optempty\\
+pdfpagelayout &set layout of PDF pages&\optempty\\
+pdfpagemode &set default mode of PDF display&\optempty\\
+pdfpagelabels &set PDF page labels&false\\
+pdfpagescrop &set crop size of PDF document&\optempty\\
+pdfpagetransition &set PDF page transition style&\optempty\\
+pdfproducer &text for PDF Producer field&\optempty\\
+pdfstartpage &page at which PDF document opens&1\\
+pdfstartview &starting view of PDF document& /Fit\\
+pdfsubject &text for PDF Subject field&\optempty\\
+pdftex &use pdf\TeX\ backend\\
+pdftitle &text for PDF Title field&\optempty\\
+pdftoolbar &make PDF toolbar visible&true\\
+pdfview &PDF `view' when on link traversal&\optempty\\
+pdfwindowui &make PDF user interface elements visible&true\\
+plainpages &do page number anchors as plain arabic&true\\
+ps2pdf &use ps2pdf backend\\
+raiselinks &raise up links (for HyperTeX backend)&false\\
+runbordercolor &color of border around `run' links& 0 .7 .7\\
+setpagesize &set page size by special driver commands&true\\
+tex4ht &use \TeX4ht backend\\
+textures &use Textures backend\\
+unicode &Unicode encoded pdf strings\\
+urlbordercolor &color of border around URL links& 0 1 1\\
+urlcolor &color of URL links&magenta\\
+verbose &be chatty&false\\
+vtex &use V\TeX\ backend\\
+vtexpdfmark &use backend for V\TeX\ in PDF/PS mode (pdfmark specials)\\
+\hline
+\end{longtable}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.drv b/Master/texmf-dist/source/latex/hyperref/hyperref.drv
deleted file mode 100644
index a3ec258fe43..00000000000
--- a/Master/texmf-dist/source/latex/hyperref/hyperref.drv
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `hyperref.drv',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% hyperref.dtx (with options: `driver')
-%%
-%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
-%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
-%%
-%% This file is part of the `Hyperref Bundle'.
-%% -------------------------------------------
-%%
-%% It may be distributed under the conditions of the LaTeX Project Public
-%% License, either version 1.2 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.2 or later is part of all distributions of LaTeX
-%% version 1999/12/01 or later.
-%%
-%% The list of all files belonging to the `Hyperref Bundle' is
-%% given in the file `manifest.txt'.
-%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{hyperref.drv}
- [2003/11/30 v6.74m
- Hyperref documentation driver file]
-\documentclass{ltxdoc}
-\usepackage{array,times}
-\def\ttdefault{cmtt}
-\usepackage[colorlinks,hyperindex]{hyperref}
-\pdfstringdefDisableCommands{\let\\\textbackslash}%
-\EnableCrossrefs
-\CodelineIndex
-\begin{document}
- \GetFileInfo{hyperref.sty}
- \title{Hypertext marks in \LaTeX}
- \author{Sebastian Rahtz\\
- Email: \texttt{sebastian.rahtz@oucs.ox.ac.uk}}
- \date{processed \today}
- \maketitle
- \tableofcontents
- \let\Email\texttt
- \DocInput{hyperref.dtx}
- \PrintIndex
-\end{document}
-\endinput
-%%
-%% End of file `hyperref.drv'.
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
index a26fd8ae8e1..b87911f4a58 100644
--- a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
@@ -1,7 +1,6 @@
% \iffalse
%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
% with portions written by David Carlisle and Heiko Oberdiek.
-%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
%%
%% This file is part of the `Hyperref Bundle'.
%% -------------------------------------------
@@ -37,7 +36,8 @@
%<tex4htcfg>\ProvidesFile{htex4ht.cfg}
%<pd1enc>\ProvidesFile{pd1enc.def}
%<puenc>\ProvidesFile{puenc.def}
-%<!none> [2003/11/30 v6.74m
+%<puvnenc>\ProvidesFile{puvnenc.def}
+%<!none> [2006/08/16 v6.75c
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -58,29 +58,62 @@
%<tex4htcfg> Hyperref configuration file for TeX4ht]
%<pd1enc> Hyperref: PDFDocEncoding definition (HO)]
%<puenc> Hyperref: PDF Unicode definition (HO)]
+%<puvnenc> Hyperref: Additions to puenc.def for VnTeX]
%<*driver>
\documentclass{ltxdoc}
+\IfFileExists{bmhydoc.sty}{\usepackage{bmhydoc}}{}
\usepackage{array,times}
\def\ttdefault{cmtt}
-\usepackage[colorlinks,hyperindex]{hyperref}
+\usepackage[
+ colorlinks,
+ hyperindex=false,% done by hypdoc
+ pdfusetitle,
+ pdfpagelabels
+]{hyperref}
+\usepackage[numbered]{hypdoc}
\pdfstringdefDisableCommands{\let\\\textbackslash}%
\EnableCrossrefs
\CodelineIndex
\begin{document}
+ %
+ % title
+ %
\GetFileInfo{hyperref.sty}
\title{Hypertext marks in \LaTeX}
\author{Sebastian Rahtz\\
- Email: \texttt{sebastian.rahtz@oucs.ox.ac.uk}}
+ Email: \texttt{sebastian.rahtz@oucs.ox.ac.uk}\\[1.5ex]
+ Heiko Oberdiek\\
+ Email: \texttt{oberdiek@uni-freiburg.de}}
\date{processed \today}
\maketitle
- \tableofcontents
+ %
+ % overview
+ %
+ \makeatletter
+ \@ifundefined{HyperrefOverview}{}{%
+ \HyperrefOverview\relax
+ \newpage
+ }
+ %
+ % table of contents
+ %
+ \section{\contentsname}
+ \makeatletter
+ \@starttoc{toc}
+ \newpage
+ %
+ % source code documentation
+ %
\let\Email\texttt
\DocInput{hyperref.dtx}
+ %
+ % index
+ %
\PrintIndex
\end{document}
%</driver>
% \fi
-% \CheckSum{17219}
+% \CheckSum{19023}
%
% \MakeShortVerb{|}
% \StopEventually{}
@@ -90,6 +123,12 @@
% \DoNotIndex{\csname,\endcsname,\relax,\begingroup,\endgroup}
% \DoNotIndex{\DeclareTextCommand,\DeclareTextCompositeCommand}
% \DoNotIndex{\space,\@empty,\special}
+% \DoNotIndex{\\,\0,\1,\2,\8}
+% \makeatletter
+% \g@addto@macro\theindex{^^A
+% \parfillskip=0pt plus 1fil
+% }
+% \makeatother
%
% \section{File hycheck.tex}
%
@@ -535,6 +574,9 @@
\newif\ifHy@CJKbookmarks
\newif\ifHy@colorlinks
\newif\ifHy@draft
+\let\Hy@finaltrue\Hy@draftfalse
+\let\Hy@finalfalse\Hy@drafttrue
+\newif\ifHy@escapeform
\newif\ifHy@figures
\newif\ifHy@fitwindow
\newif\ifHy@frenchlinks
@@ -573,6 +615,7 @@
\Hy@breaklinksfalse
\Hy@centerwindowfalse
\Hy@CJKbookmarksfalse
+\Hy@escapeformfalse
\Hy@figuresfalse
\Hy@fitwindowfalse
\Hy@hyperfootnotestrue
@@ -585,10 +628,10 @@
\Hy@nestingfalse
\Hy@newwindowfalse
\Hy@pageanchortrue
-\Hy@pagelabelsfalse
+\Hy@pagelabelstrue
\Hy@pdfpagehiddenfalse
\Hy@pdfstringfalse
-\Hy@plainpagestrue
+\Hy@plainpagesfalse
\Hy@raiselinksfalse
\Hy@setpagesizetrue
\Hy@texhtfalse
@@ -667,7 +710,7 @@
% \begin{itemize}
% \item Works only in options that use \cmd{\hypercalcbpdef}
% (currently only |pdfstartview|).
-% \item For calculations package |calc| have to be loaded.
+% \item For calculations package |calc| has to be loaded.
% \item The expansion of the argument is done at definition time.
% \end{itemize}
% \end{itemize}
@@ -729,7 +772,7 @@
%
% \section{Dealing with PDF strings}\label{sec:pdfstring}
% The PDF string stuff done by Heiko Oberdiek.\\
-% Email: \Email{oberdiek@ruf.uni-freiburg.de}.
+% Email: \Email{oberdiek@uni-freiburg.de}.
%
% Naming convention: All internal commands that are only
% needed by \cs{pdfstringdef} are prefixed with \cs{HyPsd@}.
@@ -847,6 +890,7 @@
\edef\8{\string\8}%
\edef\9{\string\9}%
\fontencoding{PU}%
+ \HyPsd@UTFviii
\else
\fontencoding{PD1}%
\fi
@@ -870,7 +914,7 @@
% as a usable hook. While an \cs{edef} a warning message by
% \cs{@inmathwarn} or \cs{TextSymbolUnavailable} cannot be give out,
% so \cs{@inmathwarn} should be disabled. And with the help of it
-% the assignments in \cs{@changed@cmd} can easily be catched
+% the assignments in \cs{@changed@cmd} can easily be caught
% (see below).
% \begin{macrocode}
\let\@inmathwarn\HyPsd@inmathwarn
@@ -994,6 +1038,11 @@
\let\cyr\relax
% \end{macrocode}
%
+% Redefine \cs{es@roman}, used in spanish.ldf.
+% \begin{macrocode}
+ \let\es@roman\@Roman
+% \end{macrocode}
+%
% \paragraph{Package german.}
% \begin{macrocode}
\let\glqq\textglqq
@@ -1009,12 +1058,20 @@
% \paragraph{Package french.} The support is deferred, because
% it needs |\GenericError| to be disabled (see below).
%
+% \paragraph{Package FrenchPro.} This package uses:
+% \begin{quote}
+% |\if@mid@expandable{|not fully expandable code|}{|fully expandable code|}|
+% \end{quote}
+% \begin{macrocode}
+ \let\if@mid@expandable\@firstoftwo
+% \end{macrocode}
+%
% \paragraph{AMS classes.}
% \begin{macrocode}
\HyPSD@AMSclassfix
% \end{macrocode}
%
-% \paragraph{Redefintion of \cs{hspace}}
+% \paragraph{Redefinition of \cs{hspace}}
% \cs{hspace} don't work in bookmarks, the following fix
% tries to set a space if the argument is a positive length.
% \begin{macrocode}
@@ -1066,6 +1123,7 @@
% \paragraph{Miscellaneous commands.}
% \begin{macrocode}
\let\leavevmode\@empty
+ \let\mbox\@empty
% \end{macrocode}
% \cs{halign} causes error messages because of the template
% character |#|.
@@ -1101,7 +1159,7 @@
%
% \paragraph{Spaces.}
% For checking the token of the string, spaces must be masked, because
-% they cannot by catched by undelimited arguments.
+% they cannot by caught by undelimited arguments.
% \begin{macrocode}
\HyPsd@LetUnexpandableSpace\space
\HyPsd@LetUnexpandableSpace\ %
@@ -1143,6 +1201,7 @@
% in order to get rid of the error message at least:
% \begin{macrocode}
\let\@ifnextchar\HyPsd@ifnextchar
+ \let\@ifnextchar\HyPsd@new@ifnextchar
\let\@protected@testopt\HyPsd@protected@testopt
% \end{macrocode}
%
@@ -1313,7 +1372,7 @@
%\end{verbatim}
% \paragraph{Looking for wrong glyphs.}
% The case that glyphs aren't defined in the PD1 encoding
-% is catched above in such a way, that the glyph name and
+% is caught above in such a way, that the glyph name and
% a marker is inserted into the string. Now we can safely
% scan the string for this marker and provide a descriptive
% warning.
@@ -1953,7 +2012,7 @@
% In \cmd{\HyPsd@@ProtectSpaces} the space tokens are replaced
% by not expandable commands, that work like spaces:
% \begin{itemize}
-% \item So they can catched by undelimited arguments.
+% \item So they can caught by undelimited arguments.
% \item And they work in number, dimen, and skip
% assignments.
% \end{itemize}
@@ -2152,6 +2211,10 @@
% of the \cs{let} commands cannot be canceled with an undelimited
% parameter because of a possible space token after \cs{futurelet}.
%
+% To avoid unmachted \cs{if...} tokens, the cases
+% \verb|\let\if...\iftrue| and \verb|\let\if...\iffalse|
+% are checked and ignored.
+%
% \begin{macro}{\HyPsd@DefCommand}
% \begin{macro}{\HyPsd@LetCommand}
% \begin{macrocode}
@@ -2166,14 +2229,32 @@
\@gobble
}%
\let#2\let
- \def\HyPsd@LetCommand##1{%
- #2%
- \expandafter\noexpand
- \csname\expandafter\@gobble\string##1\@empty\endcsname
+ \def\HyPsd@@LetCommand##1{%
+ \expandafter\ifx\csname##1\expandafter\endcsname
+ \csname iftrue\endcsname
+ \pdfstringdefWarn\let
+ \expandafter\@gobble
+ \else
+ \expandafter\ifx\csname##1\expandafter\endcsname
+ \csname iffalse\endcsname
+ \pdfstringdefWarn\let
+ \expandafter\expandafter\expandafter\@gobble
+ \else
+ #2%
+ \expandafter\noexpand
+ \csname##1\expandafter\expandafter\expandafter\endcsname
+ \fi
+ \fi
}%
}%
\expandafter\x\csname <def>-command\expandafter\endcsname
\csname <let>-command\endcsname
+\def\HyPsd@LetCommand#1{%
+ \expandafter\expandafter\expandafter\HyPsd@@LetCommand
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@gobble\string#1\@empty
+ }%
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2196,6 +2277,18 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\HyPsd@new@ifnextchar}
+% Package \verb|amsgen.sty| redefines \cs{@ifstar} using
+% \cs{new@ifnextchar} instead of \cs{@ifnextchar}. See
+% bug report latex/3662.
+% \begin{macrocode}
+\def\HyPsd@new@ifnextchar{%
+ \pdfstringdefWarn\new@ifnextchar
+ \expandafter\@gobbletwo\@gobble
+}
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{^^A
% \texorpdfstring{\cs{@protected@testoptifnextchar}}^^A
% {\\@protected@testopt}^^A
@@ -2695,9 +2788,15 @@
% \begin{macrocode}
|gdef|HyPsd@ConvertToUnicode#1{%
|xdef#1{%
- \376\377%
|expandafter|HyPsd@DoConvert#1|@empty|@empty|@empty
}%
+ |xdef#1{%
+ |ifx#1|@empty
+ |else
+ \376\377%
+ #1%
+ |fi
+ }%
}
% \end{macrocode}
% \end{macro}
@@ -2767,6 +2866,188 @@
% \end{macrocode}
% \end{macro}
%
+% \subsubsection{Support for UTF-8 input encoding}
+%
+% After |\usepackage[utf8]{inputenc}| there are macros that
+% expect the UTF-8 octets as arguments. Therefore we can
+% calculate the PDF octal sequences directly. Because the
+% PDF format is limited to UCS-2, conversion macros are
+% needed for UTF-8 sequences with two and three octets only.
+%
+% This calculation must be done in an expandable context,
+% so we use e\TeX here for performance reasons. Unhappily
+% the results of divisions are rounded. Thus a
+% circumvention via |\dimexpr| is used, e.g.:
+% \begin{quote}
+% |\numexpr 123/4\relax| is replaced by\\
+% |\number\dimexpr.25\dimexpr 123sp\relax\relax|
+% \end{quote}
+% \begin{macrocode}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname numexpr\endcsname\relax
+ \let\HyPsd@UTFviii\relax
+\else
+ \def\HyPsd@UTFviii{%
+ \let\UTFviii@two@octets\HyPsd@UTFviii@two
+ \let\UTFviii@three@octets\HyPsd@UTFviii@three
+ \let\unichar\HyPsd@unichar
+ }%
+% \end{macrocode}
+%
+% The two octet form of UTF-8 |110aaabb| (A) and |10cccddd| (B)
+% must be converted into octal numbers |00a| and |bcd|. The
+% result is |\8a\bcd| (with a, b, c, d as octal numbers).
+% The conversion equations.
+% \begin{eqnarray}
+% a &:= A/4 - 48\\
+% b &:= A - 4*(A/4)\\
+% c &:= B/8 - 8*((8*(B/8))/8)\\
+% d &:= B - 8*(B/8)\\
+% \end{eqnarray}
+% ^^A #1 = A/4 #2 = A
+% ^^A #3 = B/8 #4 = B
+% \begin{macrocode}
+ \def\HyPsd@UTFviii@two#1#2{%
+ \expandafter\HyPsd@UTFviii@@two
+ \number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|%
+ \number`#1\expandafter|%
+ \number\dimexpr.125\dimexpr`#2sp\expandafter\relax\expandafter|%
+ \number`#2 \@nil
+ }%
+ \def\HyPsd@UTFviii@@two#1|#2|#3|#4\@nil{%
+ \expandafter\8%
+ \number\numexpr #1-48\expandafter\relax
+ \csname\number\numexpr #2-4*#1\relax\expandafter\endcsname
+ \number\numexpr #3-8*%
+ \number\dimexpr.125\dimexpr#3sp\relax\relax\expandafter\relax
+ \number\numexpr #4-8*#3\relax
+ }%
+% \end{macrocode}
+%
+% Three octet form: |1110aabb| (A), |10bcccdd| (B), and |10eeefff|
+% (C). The result is |\9abc\def| (with a, \dots, f as octal numbers).
+% The conversion equations:
+% \begin{eqnarray}
+% a &:= A/4 - 56\\
+% b &:= 2*(A - 4*(A/4)) + ((B-128 < 32) ? 0 : 1)\\
+% c &:= B/4 - 32 - ((B-128 < 32) ? 0 : 8)\\
+% d &:= B - 4*(B/4)\\
+% e &:= C/8 - 16\\
+% f &:= C - 8*(C/8)\\
+% \end{eqnarray}
+% ^^A #1 = A/4 #2 = A
+% ^^A #3 = (B-128 < 32) ? 0 : 1
+% ^^A #4 = B/4 #5 = B
+% ^^A #6 = C/8 #7 = C
+% \begin{macrocode}
+ \def\HyPsd@UTFviii@three#1#2#3{%
+ \expandafter\HyPsd@UTFviii@@three
+ \number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|%
+ \number`#1\expandafter|%
+ \number\ifnum\numexpr`#2-128\relax <32 0\else 1\fi\expandafter|%
+ \number\dimexpr.25\dimexpr`#2sp\expandafter\relax\expandafter|%
+ \number`#2\expandafter|%
+ \number\dimexpr.125\dimexpr`#3sp\expandafter\relax\expandafter|%
+ \number`#3 \@nil
+ }%
+ \def\HyPsd@UTFviii@@three#1|#2|#3|#4|#5|#6|#7\@nil{%
+ \expandafter\9%
+ \number\numexpr #1-56\expandafter\relax
+ \number\numexpr 2*(#2-4*#1)+#3\expandafter\relax
+ \number\numexpr #4 - 32 -\ifcase#3 0\else 8\fi\expandafter\relax
+ \csname\number\numexpr #5-4*#4\relax\expandafter\endcsname
+ \number\numexpr #6-16\expandafter\relax
+ \number\numexpr #7-8*#6\relax
+ }%
+% \end{macrocode}
+%
+% Four octet form: |11110aab| (A), |10bcccdd| (B), |10deeeff| (C),
+% and |10ggghhh| (D). The result are two surrogate characters
+% |110010aabbcccddd| and |11001eeeffggghhh|, or as octal numbers
+% |\931a\bcd| and |\931e\fgh|.
+% The conversion equations:
+% \begin{eqnarray}
+% a &:= A/2 - 120\\
+% b &:= (isodd(A) ? 2 : 0) + (B/32 - 4)\\
+% c &:= (B - 32*(B/32))/4\\
+% d &:= 2*(B - 4*(B/4)) + (C/32 - 4)\\
+% e &:= (C - 32*(C/32))/4\\
+% f &:= C - 4*C/4\\
+% g &:= D/8 - 16\\
+% h &:= D - 8*(D/8)\\
+% \end{eqnarray}
+% ^^A \HyPsd@UTFviii@four/\HyPsd@UTFviii@@four
+% ^^A #1 = A (char/number)
+% ^^A #2 = B (char)
+% ^^A #3 = C (char)
+% ^^A #4 = D (char)
+% ^^A \HyPsd@UTFviii@@@four
+% ^^A #1 = A (number)
+% ^^A #2 = B (char)
+% ^^A #3 = B/32 (number)
+% ^^A #4 = C (char)
+% ^^A #5 = C/32 (number)
+% ^^A #6 = D (char)
+% ^^A #7 = D/8 (number)
+% \begin{macrocode}
+ \def\HyPsd@UTFviii@four#1{%
+ \expandafter\HyPsd@UTFviii@@four\number`#1|%
+ }%
+ \def\HyPsd@UTFviii@@four#1|#2#3#4{%
+ \expandafter\HyPsd@UTFviii@@@four\number#1\expandafter|%
+ \number`#2\expandafter|
+ \number\dimexpr.03125\dimexpr`#2sp\expandafter|%
+ \number`#3\expandafter|%
+ \number\dimexpr.03125\dimexpr`#3sp\expandafter|%
+ \number`#4\expandafter|%
+ \number\dimexpr.125\dimexpr`#4|%
+ }%
+ \def\HyPsd@UTFviii@@@four#1|#2|#3|#4|#5|#6|#7|{%
+ \931%
+ \number\numexpr\dimexpr.5\dimexpr#1sp\relax\relax -120\relax
+ \csname\number\numexpr\ifodd#1 2\else 0\fi +#3-4\relax\endcsname
+ \number\dimexpr.25\dimexpr #2sp - 32\dimexpr#3sp\relax\relax\relax
+ % ...
+ }%
+% \end{macrocode}
+%
+% Input encoding |utf8x| of package |ucs| uses macro
+% \cmd{\unichar}. It takes a macro name as argument.
+% Then name obeys the following structure:
+%\begin{verbatim}
+%\u8-<first byte as decimal number>-[continuation byte]+
+%\end{verbatim}
+% \begin{macrocode}
+ \def\HyPsd@unichar#1{%
+ \expandafter\HyPsd@@unichar\string#1\@empty\@empty\@empty\@nil
+ }%
+ \def\HyPsd@@unichar #1-#2-#3#4#5#6\@nil{%
+ \ifnum#2>191 %
+ \ifnum#2<224 %
+ \expandafter\HyPsd@UTFviii@@two
+ \number\dimexpr.25\dimexpr#2sp\expandafter\relax\expandafter|%
+ \number#2\expandafter|%
+ \number\dimexpr.125\dimexpr`#3sp\expandafter\relax\expandafter|%
+ \number`#3 \@nil
+ \else
+ \ifnum#2<240 %
+ \expandafter\HyPsd@UTFviii@@three
+ \number\dimexpr.25\dimexpr#2sp\expandafter\relax\expandafter|%
+ \number#2\expandafter|%
+ \number\ifnum\numexpr`#3-128\relax <32 0\else 1\fi\expandafter|%
+ \number\dimexpr.25\dimexpr`#3sp\expandafter\relax\expandafter|%
+ \number`#3\expandafter|%
+ \number\dimexpr.125\dimexpr`#4sp\expandafter\relax\expandafter|%
+ \number`#4 \@nil
+ \else
+ ?% unsupported
+ \fi
+ \fi
+ \fi
+ }%
+\fi
+% \end{macrocode}
+%
% \section{Support of other packages}
%
% \subsection{Package subfigure}
@@ -2779,20 +3060,22 @@
\renewcommand*{\sub@label}[1]{%
\@bsphack
\subfig@oldlabel{#1}%
- \begingroup
- \edef\@currentlabstr{%
- \expandafter\strip@prefix\meaning\@currentlabelname
- }%
- \protected@write\@auxout{}{%
- \string\newlabel{sub@#1}{%
- {\@nameuse{@@thesub\@captype}}%
- {\thepage}%
- {\expandafter\strip@period\@currentlabstr\relax.\relax\@@@}%
- {\@currentHref}%
- {}%
+ \if@filesw
+ \begingroup
+ \edef\@currentlabstr{%
+ \expandafter\strip@prefix\meaning\@currentlabelname
}%
- }%
- \endgroup
+ \protected@write\@auxout{}{%
+ \string\newlabel{sub@#1}{%
+ {\@nameuse{@@thesub\@captype}}%
+ {\thepage}%
+ {\expandafter\strip@period\@currentlabstr\relax.\relax\@@@}%
+ {\@currentHref}%
+ {}%
+ }%
+ }%
+ \endgroup
+ \fi
\@esphack
}%
\@ifpackagelater{subfigure}{2002/03/26}{}{%
@@ -2867,6 +3150,7 @@
\ifvmode
#1%
\else
+ \penalty\@M
\smash{\raise\HyperRaiseLinkLength\hbox{#1}}%
\fi
}
@@ -2997,12 +3281,7 @@
\Hy@boolkey{draft}{#1}%
}
\define@key{Hyp}{final}[true]{%
- \Hy@boolkey{draft}{#1}%
- \ifHy@draft
- \Hy@draftfalse
- \else
- \Hy@drafttrue
- \fi
+ \Hy@boolkey{final}{#1}%
}
\let\KV@Hyp@nolinks\KV@Hyp@draft
\define@key{Hyp}{a4paper}[true]{%
@@ -3131,6 +3410,10 @@
\Hy@breaklinkstrue
}
\define@key{Hyp}{dvipdf}[true]{%
+ \Hy@WarningNoLine{%
+ Option `dvipdf' is deprecated.\MessageBreak
+ See the user manual for available driver options%
+ }%
}
\define@key{Hyp}{nativepdf}[true]{%
\def\Hy@driver{hdvips}%
@@ -3401,6 +3684,40 @@
\def\FancyVerbLineautorefname{Lyn}%
\def\theoremautorefname{Teorema}%
}
+\def\HyLang@french{%
+ \def\equationautorefname{\'Equation}%
+ \def\footnoteautorefname{note}%
+ \def\itemautorefname{item}%
+ \def\figureautorefname{Figure}%
+ \def\tableautorefname{Tableau}%
+ \def\partautorefname{Partie}%
+ \def\appendixautorefname{Appendice}%
+ \def\chapterautorefname{chapitre}%
+ \def\sectionautorefname{section}%
+ \def\subsectionautorefname{sous-section}%
+ \def\subsubsectionautorefname{sous-sous-section}%
+ \def\paragraphautorefname{paragraphe}%
+ \def\subparagraphautorefname{sous-paragraphe}%
+ \def\FancyVerbLineautorefname{ligne}%
+ \def\theoremautorefname{Th\'eor\`eme}%
+}
+\def\HyLang@vietnamese{%
+ \def\equationautorefname{Ph\uhorn{}\ohorn{}ng tr\`inh}%
+ \def\footnoteautorefname{Ch\'u th\'ich}%
+ \def\itemautorefname{m\d{u}c}%
+ \def\figureautorefname{H\`inh}%
+ \def\tableautorefname{B\h{a}ng}%
+ \def\partautorefname{Ph\`\acircumflex{}n}%
+ \def\appendixautorefname{Ph\d{u} l\d{u}c}%
+ \def\chapterautorefname{ch\uhorn{}\ohorn{}ng}%
+ \def\sectionautorefname{m\d{u}c}%
+ \def\subsectionautorefname{m\d{u}c}%
+ \def\subsubsectionautorefname{m\d{u}c}%
+ \def\paragraphautorefname{\dj{}o\d{a}n}%
+ \def\subparagraphautorefname{\dj{}o\d{a}n}%
+ \def\FancyVerbLineautorefname{d\`ong}%
+ \def\theoremautorefname{\DJ{}\d{i}nh l\'y}%
+}
% \end{macrocode}
%
% Instead of package babel's definition of \cmd{\addto} the
@@ -3436,7 +3753,7 @@
}%
}%
\expandafter\x\csname extras#1\expandafter\endcsname
- \csname HyLang@#2\expandafter\endcsname
+ \csname HyLang@#2\endcsname
}
\HyLang@DeclareLang{english}{english}
\HyLang@DeclareLang{UKenglish}{english}
@@ -3452,6 +3769,30 @@
\HyLang@DeclareLang{portuguese}{portuges}
\HyLang@DeclareLang{spanish}{spanish}
\HyLang@DeclareLang{afrikaans}{afrikaans}
+\HyLang@DeclareLang{french}{french}
+\HyLang@DeclareLang{frenchb}{french}
+\HyLang@DeclareLang{francais}{french}
+\HyLang@DeclareLang{acadian}{french}
+\HyLang@DeclareLang{canadien}{french}
+% \end{macrocode}
+% More work is needed in case of options |vietnamese| and |vietnam|.
+% \begin{macrocode}
+\define@key{Hyp}{vietnamese}[]{%
+ \HyLang@addto\extrasvietnamese\HyLang@vietnamese
+ \AtEndOfPackage{%
+ \@ifundefined{T@PU}{}{%
+ \input{puvnenc.def}%
+ }%
+ }%
+}
+\define@key{Hyp}{vietnam}[]{%
+ \HyLang@addto\extrasvietnam\HyLang@vietnamese
+ \AtEndOfPackage{%
+ \@ifundefined{T@PU}{}{%
+ \input{puvnenc.def}%
+ }%
+ }%
+}
% \end{macrocode}
%
% \section{Options to change appearance of links}\label{appearance}
@@ -3473,10 +3814,60 @@
\define@key{Hyp}{bookmarks}[true]{%
\Hy@boolkey{bookmarks}{#1}%
}
+% \end{macrocode}
+% \begin{macrocode}
\define@key{Hyp}{bookmarksopen}[true]{%
\Hy@boolkey{bookmarksopen}{#1}%
}
+% \end{macrocode}
+%
+% The depth of the outlines is controlled by option
+% \verb|bookmarksdepth|.
+% The option acts globally and distinguishes three cases:
+% \begin{itemize}
+% \item \verb|bookmarksdepth|: Without value hyperref uses
+% counter \texttt{tocdepth} (compatible behaviour and default).
+% \item \verb|bookmarksdepth=<number>|: the depth is set to
+% \verb|<number>|.
+% \item \verb|bookmarksdepth=<name>|: The \verb|<name>| must
+% not start with a number or minus sign. It is a document
+% division name (part, chapter, section, \dots). Internally
+% the value of macro \verb|\toclevel@<name>| is used.
+% \end{itemize}
+% \begin{macrocode}
+\let\Hy@bookmarksdepth\c@tocdepth
+\define@key{Hyp}{bookmarksdepth}[]{%
+ \begingroup
+ \edef\x{#1}%
+ \ifx\x\empty
+ \global\let\Hy@bookmarksdepth\c@tocdepth
+ \else
+ \@ifundefined{toclevel@\x}{%
+ \@onelevel@sanitize\x
+ \edef\y{\expandafter\@car\x\@nil}%
+ \ifcase 0\expandafter\ifx\y-1\fi
+ \expandafter\ifnum\expandafter`\y>47 %
+ \expandafter\ifnum\expandafter`\y<58 1\fi\fi\relax
+ \Hy@Warning{Unknown document division name (\x)}%
+ \else
+ \setbox\z@=\hbox{%
+ \count@=\x
+ \xdef\Hy@bookmarksdepth{\the\count@}%
+ }%
+ \fi
+ }{%
+ \setbox\z@=\hbox{%
+ \count@=\csname toclevel@\x\endcsname
+ \xdef\Hy@bookmarksdepth{\the\count@}%
+ }%
+ }%
+ \fi
+ \endgroup
+}
+% \end{macrocode}
+%
% `bookmarksopenlevel' to specify the open level. From Heiko Oberdiek.
+% \begin{macrocode}
\define@key{Hyp}{bookmarksopenlevel}{%
\def\@bookmarksopenlevel{#1}%
}
@@ -3501,7 +3892,7 @@
\define@key{Hyp}{CJKbookmarks}[true]{%
\Hy@boolkey{CJKbookmarks}{#1}%
}
-% \end{macrcode}
+% \end{macrocode}
%
% \begin{macrocode}
\define@key{Hyp}{linkcolor}{\def\@linkcolor{#1}}
@@ -3570,16 +3961,65 @@
}
% \end{macrocode}
%
+% The value of the |bordercolor| options are not processed
+% by the color package. Therefore the value consists of
+% space separated rgb numbers in the range 0 until 1.
+%
+% Package |xcolor| provides |\XC@bordercolor| since version 1.1.
+% If the two spaces in the color specification are missing,
+% then the value is processed as color specification from
+% package |xcolor| by using |\XC@bordercolor| (since
+% xcolor 2004/05/09 v1.11).
+% \begin{macrocode}
+\def\Hy@ColorList{cite,file,link,menu,page,run,url}
+\@for\Hy@temp:=\Hy@ColorList\do{%
+ \edef\Hy@temp{%
+ \noexpand\define@key{Hyp}{\Hy@temp bordercolor}{%
+ \noexpand\Hy@bordercolor{\Hy@temp}{##1}{ }%
+ }%
+ }%
+ \Hy@temp
+}
+\def\Hy@bordercolor#1#2#3{%
+ \begingroup
+ \csname @safe@activestrue\endcsname
+ \@ifundefined{XC@edef}{\edef}{\XC@edef}\x{#2}%
+ \expandafter\Hy@CheckColorSpec\x#3#3\@nil{#1}{#2}%
+}
+\def\Hy@CheckColorSpec#1 #2 #3\@nil#4#5{%
+ \ifx\\#3\\%
+ \@ifundefined{XC@bordercolor}{%
+ \Hy@Warning{%
+ Unsupported color specification (#4bordercolor).\MessageBreak
+ Load package `xcolor' (version >= 1.11) first.\MessageBreak
+ Ignoring color specification%
+ }%
+ \endgroup
+ }{%
+ \endgroup
+ \XC@bordercolor{#4}{#5}%
+ }%
+ \else
+ \endgroup
+ \@namedef{@#4bordercolor}{#5}%
+ \fi
+}
+% \end{macrocode}
+%
% \begin{macrocode}
-\define@key{Hyp}{linkbordercolor}{\def\@linkbordercolor{#1}}
-\define@key{Hyp}{urlbordercolor}{\def\@urlbordercolor{#1}}
-\define@key{Hyp}{menubordercolor}{\def\@menubordercolor{#1}}
-\define@key{Hyp}{filebordercolor}{\def\@filebordercolor{#1}}
-\define@key{Hyp}{runbordercolor}{\def\@runbordercolor{#1}}
-\define@key{Hyp}{citebordercolor}{\def\@citebordercolor{#1}}
-\define@key{Hyp}{pagebordercolor}{\def\@pagebordercolor{#1}}
\define@key{Hyp}{pdfhighlight}{\def\@pdfhighlight{#1}}
\define@key{Hyp}{pdfborder}{\def\@pdfborder{#1}}
+\define@key{Hyp}{pdfborderstyle}{\def\@pdfborderstyle{#1}}
+\def\Hy@setpdfborder{%
+ \ifx\@pdfborder\@empty
+ \else
+ /Border[\@pdfborder]%
+ \fi
+ \ifx\@pdfborderstyle\@empty
+ \else
+ /BS<<\@pdfborderstyle>>%
+ \fi
+}
\define@key{Hyp}{pdfpagemode}{%
\def\Hy@tempa{#1}%
\ifx\Hy@tempa\@empty
@@ -3603,6 +4043,8 @@
\define@key{Hyp}{pdfauthor}{\pdfstringdef\@pdfauthor{#1}}
\define@key{Hyp}{pdfproducer}{\pdfstringdef\@pdfproducer{#1}}
\define@key{Hyp}{pdfcreator}{\pdfstringdef\@pdfcreator{#1}}
+\define@key{Hyp}{pdfcreationdate}{\pdfstringdef\@pdfcreationdate{#1}}
+\define@key{Hyp}{pdfmoddate}{\pdfstringdef\@pdfmoddate{#1}}
\define@key{Hyp}{pdfsubject}{\pdfstringdef\@pdfsubject{#1}}
\define@key{Hyp}{pdfkeywords}{\pdfstringdef\@pdfkeywords{#1}}
\define@key{Hyp}{pdfview}{\calculate@pdfview#1 \\}
@@ -3651,6 +4093,9 @@
\define@key{Hyp}{pdfpagelabels}[true]{%
\Hy@boolkey[pdfpagelabels]{pagelabels}{#1}%
}
+\define@key{Hyp}{pdfescapeform}[true]{%
+ \Hy@boolkey[pdfescapeform]{escapeform}{#1}%
+}
% \end{macrocode}
% Default values:
% \begin{macrocode}
@@ -3666,8 +4111,10 @@
\def\@pdfnonfullscreenpagemode{}
\def\@pdftitle{}
\def\@pdfauthor{}
-\def\@pdfproducer{}
+\let\@pdfproducer\relax
\def\@pdfcreator{LaTeX with hyperref package}
+\def\@pdfcreationdate{}
+\def\@pdfmoddate{}
\def\@pdfsubject{}
\def\@pdfkeywords{}
\def\@pdfpagescrop{}
@@ -3709,43 +4156,13 @@
% To add flexibility, we will not use the ordinary processing of
% package options, but put them through the \emph{keyval} package.
% This section was written by David Carlisle.
-% \begin{macrocode}
-\def\ProcessOptionsWithKV#1{%
- \let\@tempc\relax
- \let\Hy@tempa\@empty
-% \end{macrocode}
-% Add any global options that are known to KV to the start of the list
-% being built in |\Hy@tempa| and mark them used (by removing them from
-% the unused option list).
-% \begin{macrocode}
- \@for\CurrentOption:=\@classoptionslist\do{%
- \@ifundefined{KV@#1@\CurrentOption}%
- {}%
- {%
- \edef\Hy@tempa{\Hy@tempa,\CurrentOption,}%
- \@expandtwoargs\@removeelement\CurrentOption
- \@unusedoptionlist\@unusedoptionlist
- }%
- }%
-% \end{macrocode}
%
-% Now stick the package options at the end of the list and wrap in a call
-% to |\setkeys|. Can simply use |\edef|, normally KV takes care to avoid
-% expansion, but the package system has already fully expanded the package
-% option list before passing it to the package, so no more harm can occur
-% here.
+% Package kvoptions is used for processing options that are
+% given as key value pairs. The package provides
+% |\ProcessKeyvalOptions|, formerly known as
+% |\ProcessOptionsWithKV|.
% \begin{macrocode}
- \edef\Hy@tempa{%
- \noexpand\setkeys{#1}{%
- \Hy@tempa\@ptionlist{\@currname.\@currext}%
- }%
- }%
-% \end{macrocode}
-%
-% Do it.
-% \begin{macrocode}
- \Hy@tempa
-}
+\RequirePackage{kvoptions}
% \end{macrocode}
%
% Add option |tex4ht| if package |tex4ht| is loaded.
@@ -3759,7 +4176,7 @@
%
% \begin{macrocode}
\let\ReadBookmarks\relax
-\ProcessOptionsWithKV{Hyp}
+\ProcessKeyvalOptions{Hyp}
% \end{macrocode}
%
% After processing options.
@@ -3816,7 +4233,7 @@
\let\HyPsd@InitUnicode\@undefined
% \end{macrocode}
%
-% \subsubsection{Patch for babel's
+% \subsection{Patch for babel's
% \texorpdfstring{\cs{texttilde}}{\\texttilde}}
% Babel does not define \cmd{\texttilde} in NFSS2 manner,
% so the NFSS2 definitions of PD1 or PU encoding is not
@@ -3920,7 +4337,7 @@
\fi
\fi
\else
- \ifcase\pdfoutput
+ \ifnum\pdfoutput<1 %
\let\Hy@driver\Hy@defaultdriver
\else
\def\Hy@driver{hpdftex}%
@@ -3929,6 +4346,32 @@
\Hy@breaklinkstrue
\fi
\fi
+ \ifx\Hy@driver\Hy@defaultdriver
+ \def\Hy@temp{hdvips}%
+ \ifx\Hy@temp\Hy@driver
+ \def\Hy@raisedlink{}%
+ \def\XR@ext{pdf}%
+ \fi
+ \def\Hy@temp{hdvipdfm}%
+ \ifx\Hy@temp\Hy@driver
+ \def\XR@ext{pdf}%
+ \Hy@breaklinkstrue
+ \fi
+ \def\Hy@temp{hdviwind}%
+ \ifx\Hy@temp\Hy@driver
+ \setkeys{Hyp}{colorlinks}%
+ \PassOptionsToPackage{dviwindo}{color}%
+ \fi
+ \def\Hy@temp{hdvipson}%
+ \ifx\Hy@temp\Hy@driver
+ \def\XR@ext{pdf}%
+ \def\Hy@raisedlink{}%
+ \fi
+ \def\Hy@temp{textures}%
+ \ifx\Hy@temp\Hy@driver
+ \def\XR@ext{pdf}%
+ \fi
+ \fi
\typeout{*hyperref using default driver \Hy@driver*}%
\else
\typeout{*hyperref using driver \Hy@driver*}%
@@ -3991,11 +4434,25 @@
\Hy@DisableOption{bookmarks}
% \end{macrocode}
%
+% |\Hy@colorlink| expects a macro as argument. It contains
+% the color specification.
% \begin{macrocode}
\AtBeginDocument{%
\ifHy@colorlinks
\ifHy@typexml\else\RequirePackage{color}\fi
- \def\Hy@colorlink#1{\begingroup\color{#1}}%
+ \def\Hy@colorlink#1{%
+ \begingroup
+ \expandafter\Hy@colorscan\expandafter#1#1\@nil%
+ }%
+ \def\Hy@colorscan#1{%
+ \@ifnextchar[% ]
+ {%
+ \Hy@@colorscan
+ }{%
+ \expandafter\color\expandafter#1\@car{}%
+ }%
+ }%
+ \def\Hy@@colorscan#1\@nil{\color#1}%
\def\Hy@endcolorlink{\endgroup}%
\Hy@Info{Link coloring ON}%
\else
@@ -4077,6 +4534,7 @@
\catcode`\%\active
\catcode`\#\active
\catcode`\_\active
+ \catcode`\$\active
\gdef\hyper@normalise{
\begingroup
\catcode`\^^M\active
@@ -4087,6 +4545,7 @@
\catcode`\#\active
\def#{\hyper@hash}
\def\#{\hyper@hash}
+ \@makeother\&
\edef\textunderscore{\string_}
\let\_\textunderscore
\catcode`\_\active
@@ -4094,6 +4553,8 @@
\let~\hyper@tilde
\let\~\hyper@tilde
\let\textasciitilde\hyper@tilde
+ \let\\\@backslashchar
+ \edef${\string$}
\ifx\@safe@activestrue\@undefined\else\@safe@activestrue\fi
\hyper@n@rmalise
}
@@ -4226,8 +4687,10 @@
\def\label@hyperdef[#1]#2#3#4{% label name, category, name,
% anchor text
\@bsphack
- \protected@write\@auxout{}%
- {\string\newlabel{#1}{{}{}{}\##2.#3}}%
+ \if@filesw
+ \protected@write\@auxout{}%
+ {\string\newlabel{#1}{{}{}{}\##2.#3}}%
+ \fi
\@esphack
\ifHy@nesting
\hyper@@anchor{#2.#3}{#4}%
@@ -4330,7 +4793,7 @@
% \end{macrocode}
% otherwise its a URL
% \begin{macrocode}
- \hyper@linkurl{#3}{#7\ifx\\#2\\\else\##2\fi}%
+ \hyper@linkurl{#3}{#7\ifx\\#2\\\else\hyper@hash#2\fi}%
\fi
\fi
\fi
@@ -4340,7 +4803,7 @@
% By default, turn |run:| into |file:|
% \begin{macrocode}
\def\@hyper@launch run:#1\\#2#3{% filename, anchor text, linkname
- \hyper@linkurl{#2}{\Hy@linkfileprefix#1\ifx\\#3\\\else\##3\fi}%
+ \hyper@linkurl{#2}{\Hy@linkfileprefix#1\ifx\\#3\\\else\hyper@hash#3\fi}%
}
% \end{macrocode}
% D P Story <story@uakron.edu> pointed out that relative paths
@@ -4359,10 +4822,10 @@
\else
\ifx\@baseurl\@empty
\hyper@linkurl{#2}{%
- \Hy@linkfileprefix\use@file\ifx\\#3\\\else\##3\fi
+ \Hy@linkfileprefix\use@file\ifx\\#3\\\else\hyper@hash#3\fi
}%
\else
- \hyper@linkurl{#2}{\use@file\ifx\\#3\\\else\##3\fi}%
+ \hyper@linkurl{#2}{\use@file\ifx\\#3\\\else\hyper@hash#3\fi}%
\fi
\fi
}
@@ -4496,8 +4959,9 @@
\csname Form@#2\ifx\relax#1\relax true\else#1\fi\endcsname
}
\define@key{Form}{action}{%
- \def\Form@action{#1}%
+ \hyper@normalise\Hy@DefFormAction{#1}%
}
+\def\Hy@DefFormAction{\def\Form@action}
\def\enc@@html{html}
\define@key{Form}{encoding}{%
\def\Hy@tempa{#1}%
@@ -4917,12 +5381,12 @@
% to cope with the extra arguments.
% \begin{macrocode}
\if@filesw
- \ifHy@typexml
- \immediate\closeout\@mainaux
- \immediate\openout\@mainaux\jobname.aux
- \immediate\write\@auxout{<relaxxml>\relax}%
- \fi
- \immediate\write\@auxout{%
+ \ifHy@typexml
+ \immediate\closeout\@mainaux
+ \immediate\openout\@mainaux\jobname.aux
+ \immediate\write\@auxout{<relaxxml>\relax}%
+ \fi
+ \immediate\write\@auxout{%
% \end{macrocode}
%
% \begin{macrocode}
@@ -5298,12 +5762,13 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\HyPL@Useless}
-% The |/PageLabels| entry does not make sense,
-% if the absolute page numbers and the page labels are the
-% same. Then \cmd{\HyPL@Labels} has the meaning of \cmd{\HyPL@Useless}.
-% \begin{macrocode}
+% \begin{macro}{\HyPL@Useless}
+% The |/PageLabels| entry does not make sense,
+% if the absolute page numbers and the page labels are the
+% same. Then \cmd{\HyPL@Labels} has the meaning of \cmd{\HyPL@Useless}.
+% \begin{macrocode}
\def\HyPL@Useless{0 << /S /D >> }%
+ \@onelevel@sanitize\HyPL@Useless
% \end{macrocode}
% \end{macro}
%
@@ -5313,6 +5778,7 @@
% driver files.
% \begin{macrocode}
\def\HyPL@SetPageLabels{%
+ \@onelevel@sanitize\HyPL@Labels
\ifx\HyPL@Labels\@empty
\else
\ifx\HyPL@Labels\HyPL@Useless
@@ -5321,8 +5787,8 @@
\fi
\fi
}
-% \end{macrocode}
-% \end{macro}
+% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\HyPL@EveryPage}
% Without option `pdfpagelabels' we need a dummy for
@@ -5732,8 +6198,7 @@
\ifHy@plainpages
\def\Hy@temp{\arabic{page}}%
\else
- \let\textlatin\@firstofone
- \edef\Hy@temp{\thepage}%
+ \pdfstringdef\Hy@temp{\thepage}%
\fi
\else
\def\Hy@temp{\the\Hy@pagecounter}%
@@ -5767,72 +6232,16 @@
%
% \section{Package ifthen support}
%
-% \begin{macro}{\hypergetpageref}
-% Package ifthen's \cmd{\isodd} does not work with
-% \cmd{\pageref} because of the extra link and the
-% star form. Therefore we need an expandable variant:
-% \begin{macrocode}
-\newcommand*{\hypergetpageref}[1]{%
- \expandafter\Hy@getpageref\csname r@#1\endcsname{#1}%
-}
-\def\Hy@getpageref#1#2{%
- \ifx#1\relax
- 0%
- \protect\G@refundefinedtrue
- \@latex@warning{Reference `#2' on page \thepage\space
- undefined%
- }%
- \else
- \expandafter\Hy@GetSecondArg#1\@nil
- \fi
-}
-\long\def\Hy@GetSecondArg#1#2#3\@nil{#2}
-% \end{macrocode}
-% \end{macro}
+% Since version 6.75a this is done in package nameref.
%
-% \begin{macro}{\hypergetref}
-% The corresponding macro of \cmd{\hypergetpageref} is
-% \cmd{\hypergetref}:
+% For compatibility \cmd{\hypergetref} and
+% \cmd{\hypergetpageref} are still provided.
+% But they do not generate warnings, if the reference is
+% undefined.
% \begin{macrocode}
-\newcommand*{\hypergetref}[1]{%
- \expandafter\Hy@getref\csname r@#1\endcsname{#1}%
-}
-\def\Hy@getref#1#2{%
- \ifx#1\relax
- ??%
- \protect\G@refundefinedtrue
- \@latex@warning{Reference `#2' on page \thepage\space
- undefined%
- }%
- \else
- \expandafter\@car#1\@nil
- \fi
-}
+\def\hypergetref#1{\getrefbykeydefault{#1}{}{??}}
+\def\hypergetpageref#1{\getrefbykeydefault{#1}{page}{0}}
% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Hy@TE@begingroup}
-% Unfortunately there is no hook in \cmd{\ifthenelse} in order
-% to provide expandable versions without link of \cmd{\ref}
-% and \cmd{\pageref}. As possible target I could only find
-% \cmd{\begingroup}:
-% \begin{macrocode}
-\@ifpackageloaded{ifthen}{%
- \let\HyOrg@ifthenelse\ifthenelse
- \def\ifthenelse{%
- \let\begingroup\Hy@TE@begingroup
- \HyOrg@ifthenelse
- }%
- \let\HyOrg@begingroup\begingroup
- \def\Hy@TE@begingroup{%
- \let\begingroup\HyOrg@begingroup
- \begingroup
- \let\ref\hypergetref
- \let\pageref\hypergetpageref
- }%
-}{}
-% \end{macrocode}
-% \end{macro}
%
% \section{Package titlesec and titletoc support}
%
@@ -5870,12 +6279,13 @@
% Package nameref uses five arguments for the ref system.
% Fix provided by Felix Neubauer (\Email{felix.neubauer@gmx.net}).
% \begin{macrocode}
+\def\Hy@varioref@undefined{{???}{??}{}{}{}}
\@ifpackageloaded{varioref}{%
\def\vref@pagenum#1#2{%
\@ifundefined{r@#2}{%
- \@namedef{r@#2}{{??}{??}{}{}{}}%
+ \expandafter\let\csname r@#2\endcsname\Hy@varioref@undefined
}{}%
- \edef#1{\hypergetpageref{#2}}%
+ \edef#1{\getpagerefnumber{#2}}%
}%
}{}
% \end{macrocode}
@@ -6292,6 +6702,7 @@
}
\long\def\@caption#1[#2]#3{%
\hyper@makecurrent{\@captype}%
+ \def\@currentlabelname{#2}%
\par\addcontentsline{\csname ext@#1\endcsname}{#1}{%
\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}%
}%
@@ -6331,7 +6742,10 @@
\renewcommand{\float@makebox}[1]{%
\HyOrg@float@makebox{%
#1\relax
- \hyper@@anchor{\@currentHref}{\relax}%
+ \begingroup
+ \hyper@makecurrent{\@captype}%
+ \hyper@@anchor{\@currentHref}{\relax}%
+ \endgroup
}%
}%
}{}
@@ -6420,7 +6834,6 @@
}%
\endgroup
% \end{macrocode}
-% \begin{macrocode}
% |\@BIBLABEL| is working around a `feature' of Rev\TeX.
% \begin{macrocode}
\providecommand*{\@BIBLABEL}{\@biblabel}%
@@ -6601,13 +7014,15 @@
\ifx\@empty\@currentlabel
\else
\@bsphack
- \protected@write\@auxout{}{%
- \string\@writefile{brf}{%
- \string\backcite{#1}{%
- {\thepage}{\@currentlabel}{\@currentHref}%
+ \if@filesw
+ \protected@write\@auxout{}{%
+ \string\@writefile{brf}{%
+ \string\backcite{#1}{%
+ {\thepage}{\@currentlabel}{\@currentHref}%
+ }%
}%
}%
- }%
+ \fi
\@esphack
\fi
\fi
@@ -6734,9 +7149,7 @@
\global\let\@begindvi\Hy@begindvi
}
\def\Hy@begindvi{%
- \ifHy@pageanchor
- \@hyperfixhead
- \fi
+ \@hyperfixhead
\HyPL@EveryPage
}
\def\pagenumbering#1{%
@@ -6773,20 +7186,23 @@
% \begin{macrocode}
\def\@hyperfixhead{%
\Hy@DistillerDestFix
- \ifHy@hypertexnames
- \ifHy@plainpages
- \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}%
+ \ifHy@pageanchor
+ \ifHy@hypertexnames
+ \ifHy@plainpages
+ \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}%
+ \else
+ \begingroup
+ \let\@number\@firstofone
+ \pdfstringdef\@the@H@page{\thepage}%
+ \endgroup
+ \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
+ \fi
\else
- \begingroup
- \let\@number\@firstofone
- \let\textlatin\@firstofone
- \xdef\@the@H@page{\thepage}%
- \endgroup
- \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
+ \Hy@GlobalStepCount\Hy@pagecounter
+ \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\the\Hy@pagecounter}}%
\fi
\else
- \Hy@GlobalStepCount\Hy@pagecounter
- \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\the\Hy@pagecounter}}%
+ \let\Hy@TempPageAnchor\@empty
\fi
\let\H@old@thehead\@thehead
\if^\@thehead^%
@@ -6879,9 +7295,11 @@
{\Hy@toclevel}%
{#1}%
\ifHy@verbose
+ \def\Hy@tempa{#3}%
+ \@onelevel@sanitize\Hy@tempa
\typeout{pdftex: bookmark at \the\inputlineno:
{\csname the#2\endcsname}
- {#3}
+ {\Hy@tempa}
{\@currentHref}%
{\Hy@toclevel}%
{#1}%
@@ -7112,22 +7530,24 @@
\else
\def\@wrindex#1{\@@wrindex#1||\\}
\def\@@wrindex#1|#2|#3\\{%
- \ifx\\#2\\%
- \protected@write\@indexfile{}{%
- \string\indexentry{#1|hyperpage}{\thepage}%
- }%
- \else
- \def\Hy@temp@A{#2}%
- \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
- \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
- \relax
+ \if@filesw
+ \ifx\\#2\\%
\protected@write\@indexfile{}{%
- \string\indexentry{#1|#2}{\thepage}%
+ \string\indexentry{#1|hyperpage}{\thepage}%
}%
\else
- \protected@write\@indexfile{}{%
- \string\indexentry{#1|#2hyperpage}{\thepage}%
- }%
+ \def\Hy@temp@A{#2}%
+ \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
+ \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
+ \relax
+ \protected@write\@indexfile{}{%
+ \string\indexentry{#1|#2}{\thepage}%
+ }%
+ \else
+ \protected@write\@indexfile{}{%
+ \string\indexentry{#1|#2hyperpage}{\thepage}%
+ }%
+ \fi
\fi
\fi
\endgroup
@@ -7479,19 +7899,19 @@
\@safe@activesfalse
}
\def\auto@setref#1#2#3{% csname, extract group, refname
- \ifx#1\relax
- \protect\G@refundefinedtrue
- \nfss@text{\reset@font\bfseries ??}%
- \@latex@warning{%
- Reference `#3' on page \thepage \space undefined%
- }%
- \else
+ \ifcase 0\ifx#1\relax 1\fi\ifx#1\Hy@varioref@undefined 1\fi\relax
\edef\@thisref{\expandafter\@fourthoffive#1\@empty\@empty}%
\expandafter\test@reftype\@thisref\\%
\hyper@@link
{\expandafter\@fifthoffive#1}%
{\expandafter\@fourthoffive#1\@empty\@empty}%
{\@currentHtag\expandafter#2#1\@empty\@empty\null}%
+ \else
+ \protect\G@refundefinedtrue
+ \nfss@text{\reset@font\bfseries ??}%
+ \@latex@warning{%
+ Reference `#3' on page \thepage \space undefined%
+ }%
\fi
}
\def\test@reftype#1.#2\\{%
@@ -7534,12 +7954,81 @@
%
% \begin{macrocode}
%</package>
-%<*pdftex>
% \end{macrocode}
+%
% \section{Configuration files}
+%
+% \subsection{PS/PDF strings}
+%
+% Some drivers write PS or PDF strings. These strings are delimited
+% by parentheses, therefore a lonely unmatched parenthesis must be
+% avoided to avoid PS or PDF syntax errors. Also the backslash character
+% itself has to be protected.
+%
+% \begin{macro}{\Hy@pstringdef}
+% Therefore such strings should be passed through |\Hy@pstringdef|.
+% The first argument holds a macro for the result, the second
+% argument is the string that needs protecting.
+% Since version 1.30.0 pdf\TeX\ offers \cs{pdfescapestring}.
+% \begin{macrocode}
+%<*pdftex|dvipdfm|vtex|pdfmarkbase|dviwindo>
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname pdfescapestring\endcsname\relax
+ \begingroup
+ \catcode`\|=0 %
+ \@makeother\\%
+ |@firstofone{|endgroup
+ |def|Hy@pstringdef#1#2{%
+ |edef#1{#2}%
+ |@onelevel@sanitize#1%
+ |edef#1{|expandafter|Hy@ExchangeBackslash#1\|@nil}%
+ |edef#1{|expandafter|Hy@ExchangeLeftParenthesis#1(|@nil}%
+ |edef#1{|expandafter|Hy@ExchangeRightParenthesis#1)|@nil}%
+ }%
+ |def|Hy@ExchangeBackslash#1\#2|@nil{%
+ #1%
+ |ifx|\#2|\%
+ |else
+ \\%
+ |Hy@ReturnAfterFi{%
+ |Hy@ExchangeBackslash#2|@nil
+ }%
+ |fi
+ }%
+ }
+ \def\Hy@ExchangeLeftParenthesis#1(#2\@nil{%
+ #1%
+ \ifx\\#2\\%
+ \else
+ \@backslashchar(%
+ \Hy@ReturnAfterFi{%
+ \Hy@ExchangeLeftParenthesis#2\@nil
+ }%
+ \fi
+ }
+ \def\Hy@ExchangeRightParenthesis#1)#2\@nil{%
+ #1%
+ \ifx\\#2\\%
+ \else
+ \@backslashchar)%
+ \Hy@ReturnAfterFi{%
+ \Hy@ExchangeRightParenthesis#2\@nil
+ }%
+ \fi
+ }
+\else
+ \def\Hy@pstringdef#1#2{%
+ \edef#1{\pdfescapestring{#2}}%
+ }%
+\fi
+%</pdftex|dvipdfm|vtex|pdfmarkbase|dviwindo>
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{pdftex}
%
% \begin{macrocode}
+%<*pdftex>
% \end{macrocode}
% This driver is for Han The Thanh's \TeX{} variant
% which produces PDF directly. This has new primitives
@@ -7571,11 +8060,21 @@
\typeout{pdftex: define anchor at line \the\inputlineno: #1}%
\fi
\Hy@SaveLastskip
- \pdfdest name {#1}\@pdfview
+ \Hy@pstringdef\Hy@pstringDest{#1}%
+ \Hy@DestName\Hy@pstringDest\@pdfview
\Hy@RestoreLastskip
}
\let\pdf@endanchor\@empty
% \end{macrocode}
+% \begin{macro}{\Hy@DestName}
+% Wrap the call of \verb|\pdfdest name| in \cs{Hy@DestName}.
+% Then it can easier be catched by package |hypdestopt|.
+% \begin{macrocode}
+\def\Hy@DestName#1#2{%
+ \pdfdest name{#1}#2\relax
+}
+% \end{macrocode}
+% \end{macro}
%
% Now the links; the interesting part here is the set of attributes
% which define how the link looks. We probably want to add a border
@@ -7584,21 +8083,25 @@
% add an interface at some point.
% \begin{macrocode}
\providecommand\@pdfborder{0 0 1}
+\providecommand*\@pdfborderstyle{}
\def\Hy@undefinedname{UNDEFINED}
\def\find@pdflink#1#2{%
\leavevmode
\protected@edef\Hy@testname{#2}%
\ifx\Hy@testname\@empty
\let\Hy@testname\Hy@undefinedname
+ \else
+ \Hy@pstringdef\Hy@testname\Hy@testname
\fi
- \pdfstartlink
- attr{%
- /Border[\@pdfborder]%
- /H\@pdfhighlight
- /C[\CurrentBorderColor]%
- }%
- goto name {\Hy@testname}%
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \Hy@StartlinkName{%
+ \Hy@setpdfborder
+ /H\@pdfhighlight
+ /C[\CurrentBorderColor]%
+ }\Hy@testname
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
+}
+\def\Hy@StartlinkName#1#2{%
+ \pdfstartlink attr{#1}goto name{#2}\relax
}
\def\close@pdflink{\Hy@endcolorlink\pdfendlink}
\def\hyper@anchor#1{\new@pdflink{#1}\anchor@spot\pdf@endanchor}
@@ -7614,12 +8117,13 @@
}
\def\CurrentBorderColor{\@linkbordercolor}
\def\hyper@linkurl#1#2{%
- \bgroup
+ \begingroup
+ \Hy@pstringdef\Hy@pstringURI{#2}%
\hyper@chars
\leavevmode
\pdfstartlink
attr{%
- /Border[\@pdfborder]%
+ \Hy@setpdfborder
/H\@pdfhighlight
/C[\@urlbordercolor]%
}%
@@ -7628,28 +8132,31 @@
/A<<%
/Type/Action%
/S/URI%
- /URI(#2)%
+ /URI(\Hy@pstringURI)%
>>%
}%
- \Hy@colorlink{\@urlcolor}#1%
+ \relax
+ \Hy@colorlink\@urlcolor#1%
\close@pdflink
- \egroup
+ \endgroup
}
\def\hyper@linkfile#1#2#3{% anchor text, filename, linkname
- \bgroup
+ \begingroup
+ \Hy@pstringdef\Hy@pstringF{#2}%
+ \Hy@pstringdef\Hy@pstringD{#3}%
\leavevmode
\pdfstartlink
attr{%
- /Border[\@pdfborder]%
+ \Hy@setpdfborder
/H\@pdfhighlight
/C[\@filebordercolor]%
}%
user {%
/Subtype/Link%
/A<<%
- /F(#2)%
+ /F(\Hy@pstringF)%
/S/GoToR%
- \ifHy@newwindow /NewWindow true \fi
+ \ifHy@newwindow /NewWindow true\fi
% \end{macrocode}
% If |#3| is empty, page 0; if its a number, Page number, otherwise
% a named destination.
@@ -7667,66 +8174,81 @@
\ifx\\#3\\%
/D[0 \@pdfstartview]%
\else
- /D(#3)%
+ /D(\Hy@pstringD)%
\fi
>>%
}%
- \Hy@colorlink{\@filecolor}#1%
+ \relax
+ \Hy@colorlink\@filecolor#1%
\close@pdflink
- \egroup
+ \endgroup
}
\def\@hyper@launch run:#1\\#2#3{% filename, anchor text linkname
- \bgroup
+ \begingroup
+ \Hy@pstringdef\Hy@pstringF{#1}%
+ \Hy@pstringdef\Hy@pstringP{#3}%
\leavevmode
\pdfstartlink
attr{%
- /Border[\@pdfborder]%
+ \Hy@setpdfborder
/H\@pdfhighlight
/C[\@runbordercolor]%
}%
user {%
/Subtype/Link%
/A<<%
- /F(#1)%
+ /F(\Hy@pstringF)%
/S/Launch%
- \ifHy@newwindow /NewWindow true \fi
+ \ifHy@newwindow /NewWindow true\fi
\ifx\\#3\\%
\else
- /Win<</P(#3)/F(#1)>>%
+ /Win<</P(\Hy@pstringP)/F(\Hy@pstringF)>>%
\fi
>>%
}%
- \Hy@colorlink{\@filecolor}#2%
+ \relax
+ \Hy@colorlink\@filecolor#2%
\close@pdflink
- \egroup
+ \endgroup
}
% \end{macrocode}
% \begin{macro}{\@pdfproducer}
% \begin{macrocode}
-\def\@pdfproducer{pdfTeX}
-\ifx\eTeXversion\@undefined
-\else
- \ifx\eTeXversion\relax
+\ifx\@pdfproducer\relax
+ \def\@pdfproducer{pdfTeX}
+ \ifx\eTeXversion\@undefined
\else
- \ifnum\eTeXversion>0 %
- \def\@pdfproducer{pdfeTeX}
+ \ifx\eTeXversion\relax
+ \else
+ \ifnum\eTeXversion>0 %
+ \def\@pdfproducer{pdfeTeX}
+ \fi
\fi
\fi
-\fi
-\ifx\pdftexversion\@undefined
-\else
- \ifnum\pdftexversion<100 %
- \edef\@pdfproducer{%
- \@pdfproducer
- \the\pdftexversion.\pdftexrevision
- }
+ \ifx\pdftexversion\@undefined
\else
- \edef\@pdfproducer{%
- \@pdfproducer-%
- \expandafter\@car\the\pdftexversion\@empty\@nil.%
- \expandafter\@cdr\the\pdftexversion\@empty\@nil
- \pdftexrevision
- }
+ \ifnum\pdftexversion<100 %
+ \edef\@pdfproducer{%
+ \@pdfproducer
+ \the\pdftexversion.\pdftexrevision
+ }
+ \else
+ \ifnum\pdftexversion<130 %
+ \edef\@pdfproducer{%
+ \@pdfproducer-%
+ \expandafter\@car\the\pdftexversion\@empty\@nil.%
+ \expandafter\@cdr\the\pdftexversion\@empty\@nil
+ \pdftexrevision
+ }
+ \else
+ \edef\@pdfproducer{%
+ \@pdfproducer-%
+ \expandafter\@car\the\pdftexversion\@empty\@nil.%
+ \expandafter\@cdr\the\pdftexversion\@empty\@nil.%
+ \pdftexrevision
+ }%
+ \fi
+ \fi
\fi
\fi
% \end{macrocode}
@@ -7747,11 +8269,12 @@
}%
\process@me
\fi
+ \Hy@pstringdef\Hy@pstringB{\@baseurl}%
\pdfcatalog{%
- /PageMode \@pdfpagemode
+ /PageMode\@pdfpagemode
\ifx\@baseurl\@empty
\else
- /URI<</Base(\@baseurl)>>
+ /URI<</Base(\Hy@pstringB)>>%
\fi
}%
\ifx\@pdfstartview\@empty
@@ -7777,7 +8300,7 @@
\fi
\ifx\pdf@pagelayout\@empty
\else
- /PageLayout/\pdf@pagelayout\space
+ /PageLayout/\pdf@pagelayout
\fi
}%
}
@@ -7792,13 +8315,26 @@
/Title(\@pdftitle)%
/Subject(\@pdfsubject)%
/Creator(\@pdfcreator)%
- /Producer(\@pdfproducer)%
+ \ifx\@pdfcreationdate\@empty
+ \else
+ /CreationDate(\@pdfcreationdate)%
+ \fi
+ \ifx\@pdfmoddate\@empty
+ \else
+ /ModDate(\@pdfmoddate)%
+ \fi
+ \ifx\@pdfproducer\relax
+ \else
+ /Producer(\@pdfproducer)%
+ \fi
/Keywords(\@pdfkeywords)%
}%
\Hy@DisableOption{pdfauthor}%
\Hy@DisableOption{pdftitle}%
\Hy@DisableOption{pdfsubject}%
\Hy@DisableOption{pdfcreator}%
+ \Hy@DisableOption{pdfcreationdate}%
+ \Hy@DisableOption{pdfmoddate}%
\Hy@DisableOption{pdfproducer}%
\Hy@DisableOption{pdfkeywords}%
}
@@ -7995,17 +8531,18 @@
\leavevmode
\pdfstartlink
attr{%
- /Border [\@pdfborder]
- /H \@pdfhighlight\space
- /C [\@menubordercolor]%
+ \Hy@setpdfborder
+ /H \@pdfhighlight
+ /C[\@menubordercolor]%
}%
user{
/Subtype /Link
- /A <<
- /S /Named /N /#1
- >>
+ /A<<%
+ /S/Named/N/#1%
+ >>%
}%
- \Hy@colorlink{\@menucolor}#2\close@pdflink
+ \relax
+ \Hy@colorlink\@menucolor#2\close@pdflink
}
%</pdftex>
%<*hypertex>
@@ -8066,7 +8603,7 @@
\special{html:<a name=\hyper@quote #1\hyper@quote>}%
\endgroup
\Hy@activeanchortrue
- \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+ \Hy@colorlink\@anchorcolor\anchor@spot\Hy@endcolorlink
\special{html:</a>}%
\Hy@activeanchorfalse
\Hy@RestoreLastskip
@@ -8086,7 +8623,7 @@
}
\def\@urltype{url}
\def\hyper@linkstart#1#2{%
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
\def\Hy@tempa{#1}%
\ifx\Hy@tempa\@urltype
\special{html:<a href=\hyper@quote#2\hyper@quote>}%
@@ -8118,7 +8655,7 @@
\hyper@chars
\special{html:<a href=\hyper@quote#2\hyper@quote>}%
}%
- \Hy@colorlink{\@urlcolor}#1%
+ \Hy@colorlink\@urlcolor#1%
\@linkdim\ht\@tempboxa
% \end{macrocode}
% Because of the interaction with the dvihps processor, we have to subtract a
@@ -8133,7 +8670,7 @@
\begingroup
\hyper@chars
\special{html:<a href=\hyper@quote#2\hyper@quote>}%
- \Hy@colorlink{\@urlcolor}#1%
+ \Hy@colorlink\@urlcolor#1%
\special{html:</a>}%
\Hy@endcolorlink
\endgroup
@@ -8180,7 +8717,7 @@
\special{mark: #1}%
\endgroup
\Hy@activeanchortrue
- \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+ \Hy@colorlink\@anchorcolor\anchor@spot\Hy@endcolorlink
\Hy@activeanchorfalse
\Hy@RestoreLastskip
}
@@ -8194,7 +8731,7 @@
\Hy@RestoreLastskip
}
\def\hyper@linkstart#1#2{%
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
\special{button:
10000000
\number\baselineskip\space
@@ -8215,7 +8752,7 @@
\number\ht\@tempboxa\space
#2%
}%
- \Hy@colorlink{\csname @#1color\endcsname}#3%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname#3%
\Hy@endcolorlink
}%
\@linkdim\ht\@tempboxa
@@ -8227,7 +8764,7 @@
\number\ht\@tempboxa\space
#2%
}%
- \Hy@colorlink{\csname @#1color\endcsname}#3\Hy@endcolorlink
+ \exandafter\Hy@colorlink\csname @#1color\endcsname#3\Hy@endcolorlink
\fi
}
\def\hyper@linkurl#1#2{%
@@ -8244,7 +8781,7 @@
launch: \wwwbrowser\space
#2%
}%
- \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@urlcolor#1\Hy@endcolorlink
}%
\@linkdim\ht\@tempboxa
\advance\@linkdim by -6.5\p@
@@ -8256,7 +8793,7 @@
launch: \wwwbrowser\space
#2%
}%
- \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@urlcolor#1\Hy@endcolorlink
\fi
\endgroup
}
@@ -8274,7 +8811,7 @@
#3,
file: #2%
}%
- \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@filecolor#1\Hy@endcolorlink
}%
\@linkdim\ht\@tempboxa
\advance\@linkdim by -6.5\p@
@@ -8286,23 +8823,38 @@
#3,
file: #2
}%
- \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@filecolor#1\Hy@endcolorlink
\fi
\endgroup
}
-\def\@pdfproducer{dviwindo + Distiller}
+\ifx\@pdfproducer\relax
+ \def\@pdfproducer{dviwindo + Distiller}
+\fi
\def\PDF@FinishDoc{%
\Hy@UseMaketitleInfos
\special{PDF: Keywords \@pdfkeywords}%
\special{PDF: Title \@pdftitle}%
\special{PDF: Creator \@pdfcreator}%
+ \ifx\@pdfcreationdate\@empty
+ \else
+ \special{PDF: CreationDate \@pdfcreationdate}%
+ \fi
+ \ifx\@pdfmoddate\@empty
+ \else
+ \special{PDF: ModDate \@pdfmoddate}%
+ \fi
\special{PDF: Author \@pdfauthor}%
- \special{PDF: Producer \@pdfproducer}%
+ \ifx\@pdfproducer\relax
+ \else
+ \special{PDF: Producer \@pdfproducer}%
+ \fi
\special{PDF: Subject \@pdfsubject}%
\Hy@DisableOption{pdfauthor}%
\Hy@DisableOption{pdftitle}%
\Hy@DisableOption{pdfsubject}%
\Hy@DisableOption{pdfcreator}%
+ \Hy@DisableOption{pdfcreationdate}%
+ \Hy@disableOption{pdfmoddate}%
\Hy@DisableOption{pdfproducer}%
\Hy@DisableOption{pdfkeywords}%
}
@@ -8360,11 +8912,13 @@
\def\@pdfm@mark#1{\special{pdf:#1}}
\def\@pdfm@dest#1{%
\Hy@SaveLastskip
- \@pdfm@mark{dest (#1) [@thispage /\@pdfview\space @xpos @ypos]}%
+ \Hy@pstringdef\Hy@pstringDest{#1}%
+ \@pdfm@mark{dest (\Hy@pstringDest) [@thispage /\@pdfview\space @xpos @ypos]}%
\Hy@RestoreLastskip
}
\providecommand\@pdfview{XYZ}
\providecommand\@pdfborder{0 0 1}
+\providecommand*\@pdfborderstyle{}
\def\hyper@anchor#1{%
\@pdfm@dest{#1}%
}
@@ -8380,12 +8934,14 @@
\protected@edef\Hy@testname{#2}%
\ifx\Hy@testname\@empty
\let\Hy@testname\Hy@undefinedname
+ \else
+ \Hy@pstringdef\Hy@testname\Hy@testname
\fi
\@pdfm@mark{%
bann <<
/Type /Annot
/Subtype /Link
- /Border [\@pdfborder]
+ \Hy@setpdfborder
/C [\csname @#1bordercolor\endcsname]
/A <<
/S /GoTo
@@ -8393,7 +8949,7 @@
>>
>>
}%
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
}
\def\hyper@linkend{%
\Hy@endcolorlink
@@ -8403,58 +8959,63 @@
\hyper@linkstart{#1}{#2}#3\hyper@linkend
}
\def\hyper@linkfile#1#2#3{%
+ \Hy@pstringdef\Hy@pstringF{#2}%
+ \Hy@pstringdef\Hy@pstringD{#3}%
\@pdfm@mark{%
bann <<
/Type /Annot
/Subtype /Link
- /Border [\@pdfborder]
+ \Hy@setpdfborder
/C [\@filebordercolor]
/A <<
/S /GoToR
- /F (#2)
- /D \ifx\\#3\\[0 \@pdfstartview]\else(#3)\fi\space
+ /F (\Hy@pstringF)
+ /D \ifx\\#3\\[0 \@pdfstartview]\else(\Hy@pstringD)\fi\space
\ifHy@newwindow /NewWindow true \fi
>>
>>%
}%
- \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@filecolor#1\Hy@endcolorlink
\@pdfm@mark{eann}%
}
\def\@hyper@launch run:#1\\#2#3{% filename, anchor text linkname
+ \Hy@pstringdef\Hy@pstringF{#1}%
+ \Hy@pstringdef\Hy@pstringP{#3}%
\@pdfm@mark{%
bann <<
/Type /Annot
/Subtype /Link
- /Border [\@pdfborder]
+ \Hy@setpdfborder
/C [\@filebordercolor]
/A <<
/S /Launch
- /F (#1)
+ /F (\Hy@pstringF)
\ifHy@newwindow /NewWindow true \fi
\ifx\\#3\\%
\else
- /Win << /P (#3) /F (#1) >>
+ /Win << /P (\Hy@pstringP) /F (\Hy@pstringF) >>
\fi
>>
>>%
}%
- \Hy@colorlink{\@filecolor}#2\Hy@endcolorlink
+ \Hy@colorlink\@filecolor#2\Hy@endcolorlink
\@pdfm@mark{eann}%
}
\def\hyper@linkurl#1#2{%
+ \Hy@pstringdef\Hy@pstringURI{#2}%
\@pdfm@mark{%
bann <<
/Type /Annot
/Subtype /Link
- /Border [\@pdfborder]
+ \Hy@setpdfborder
/C [\@urlbordercolor]
/A <<
/S /URI
- /URI (#2)
+ /URI (\Hy@pstringURI)
>>
>>%
}%
- \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@urlcolor#1\Hy@endcolorlink
\@pdfm@mark{eann}%
}
\def\Acrobatmenu#1#2{%
@@ -8466,14 +9027,16 @@
/S /Named
/N /#1
>>
- /Border [\@pdfborder]
+ \Hy@setpdfborder
/C [\@menubordercolor]
>>%
}%
- \Hy@colorlink{\@menucolor}#2\Hy@endcolorlink
+ \Hy@colorlink\@menucolor#2\Hy@endcolorlink
\@pdfm@mark{eann}%
}
-\def\@pdfproducer{dvipdfm}
+\ifx\@pdfproducer\relax
+ \def\@pdfproducer{dvipdfm}
+\fi
\def\PDF@FinishDoc{%
\Hy@UseMaketitleInfos
\@pdfm@mark{%
@@ -8481,8 +9044,19 @@
/Title (\@pdftitle)
/Subject (\@pdfsubject)
/Creator (\@pdfcreator)
+ \ifx\@pdfcreationdate\@empty
+ \else
+ /CreationDate(\@pdfcreationdate) %
+ \fi
+ \ifx\@pdfmoddate\@empty
+ \else
+ /ModDate(\@pdfmoddate) %
+ \fi
/Author (\@pdfauthor)
- /Producer (\@pdfproducer)
+ \ifx\@pdfproducer\relax
+ \else
+ /Producer (\@pdfproducer)
+ \fi
/Keywords (\@pdfkeywords)
>>%
}%
@@ -8490,6 +9064,8 @@
\Hy@DisableOption{pdftitle}%
\Hy@DisableOption{pdfsubject}%
\Hy@DisableOption{pdfcreator}%
+ \Hy@DisableOption{pdfcreationdate}%
+ \Hy@DisableOption{pdfmoddate}%
\Hy@DisableOption{pdfproducer}%
\Hy@DisableOption{pdfkeywords}%
}
@@ -8508,6 +9084,7 @@
/NonFullScreenPageMode\@pdfnonfullscreenpagemode
\fi
}%
+ \Hy@pstringdef\Hy@pstringB{\@baseurl}%
\@pdfm@mark{%
docview <<%
\ifx\@pdfstartview\@empty
@@ -8516,7 +9093,7 @@
\fi
\ifx\@baseurl\@empty
\else
- /URI<</Base(\@baseurl)>>%
+ /URI<</Base(\Hy@pstringB)>>%
\fi
/PageMode \@pdfpagemode
\ifx\Hy@temp\@empty
@@ -8681,7 +9258,8 @@
% Older versions of VTeX require |xyz| in lower case.
% \begin{macrocode}
\providecommand\@pdfview{xyz}
-\providecommand\@pdfborder{0 0 1}%
+\providecommand\@pdfborder{0 0 1}
+\providecommand*\@pdfborderstyle{}
\def\CurrentBorderColor{\@linkbordercolor}
\def\hyper@anchor#1{%
\Hy@SaveLastskip
@@ -8691,7 +9269,7 @@
\special{!aname #1;\@pdfview}%
\endgroup
\Hy@activeanchortrue
- \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+ \Hy@colorlink\@anchorcolor\anchor@spot\Hy@endcolorlink
\Hy@activeanchorfalse
\Hy@RestoreLastskip
}
@@ -8710,13 +9288,14 @@
\def\@urltype{url}
\def\Hy@undefinedname{UNDEFINED}
\def\hyper@linkstart#1#2{%
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \Hy@pstringdef\Hy@pstringURI{#2}%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
\edef\CurrentBorderColor{\csname @#1bordercolor\endcsname}%
\def\Hy@tempa{#1}%
\ifx\Hy@tempa\@urltype
\special{!%
- aref <u=/Type /Action /S /URI /URI (#2)>;%
- a=</Border [\@pdfborder] /C [\CurrentBorderColor]>%
+ aref <u=/Type /Action /S /URI /URI (\Hy@pstringURI)>;%
+ a=<\Hy@setpdfborder /C [\CurrentBorderColor]>%
}%
\else
\protected@edef\Hy@testname{#2}%
@@ -8725,7 +9304,7 @@
\fi
\special{!%
aref \Hy@testname;%
- a=</Border [\@pdfborder] /C [\CurrentBorderColor]>%
+ a=<\Hy@setpdfborder /C [\CurrentBorderColor]>%
}%
\fi
}
@@ -8739,20 +9318,21 @@
aref <%
\ifnum\Hy@VTeXversion>753 \ifHy@newwindow n\fi\fi
f=#2>#3;%
- a=</Border [\@pdfborder] /C [\@filebordercolor]>%
+ a=<\Hy@setpdfborder /C [\@filebordercolor]>%
}%
- \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@filecolor#1\Hy@endcolorlink
\special{!endaref}%
}
\def\hyper@linkurl#1#2{%
\begingroup
+ \Hy@pstringdef\Hy@pstringURI{#2}%
\hyper@chars
\leavevmode
\special{!%
- aref <u=/Type /Action /S /URI /URI (#2)>;%
- a=</Border [\@pdfborder] /C [\@urlbordercolor]>%
+ aref <u=/Type /Action /S /URI /URI (\Hy@pstringURI)>;%
+ a=<\Hy@setpdfborder /C [\@urlbordercolor]>%
}%
- \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@urlcolor#1\Hy@endcolorlink
\special{!endaref}%
\endgroup
}
@@ -8765,36 +9345,38 @@
\fi
\special{!%
aref \Hy@testname;%
- a=</Border [\@pdfborder] /C [\CurrentBorderColor]>%
+ a=<\Hy@setpdfborder /C [\CurrentBorderColor]>%
}%
- \Hy@colorlink{\csname @#1color\endcsname}#3\Hy@endcolorlink
+ \expandafter\Hy@colorlink\csname @#1color\endcsname#3\Hy@endcolorlink
\special{!endaref}%
}
\def\hyper@image#1#2{%
\hyper@linkurl{#2}{#1}%
}
\def\@hyper@launch run:#1\\#2#3{%
+ \Hy@pstringdef\Hy@pstringF{#1}%
+ \Hy@pstringdef\Hy@pstringP{#3}%
\leavevmode
\special{!aref
<u=%
/Type /Action
/S /Launch
- /F (#1)
+ /F (\Hy@pstringF)
\ifHy@newwindow /NewWindow true \fi
- \ifx\\#3\\\else /Win << /F (#1) /P (#3) >> \fi%
+ \ifx\\#3\\\else /Win << /F (\Hy@pstringF) /P (\Hy@pstringP) >> \fi%
>;%
- a=</Border [\@pdfborder] /C [\@runbordercolor]>%
+ a=<\Hy@setpdfborder /C [\@runbordercolor]>%
}%
- \Hy@colorlink{\@filecolor}#2\Hy@endcolorlink
+ \Hy@colorlink\@filecolor#2\Hy@endcolorlink
\special{!endaref}%
}
\def\Acrobatmenu#1#2{%
\leavevmode
\special{!%
aref <u=/S /Named /N /#1>;%
- a=</Border [\@pdfborder] /C [\@menubordercolor]>%
+ a=<\Hy@setpdfborder /C [\@menubordercolor]>%
}%
- \Hy@colorlink{\@menucolor}#2\Hy@endcolorlink
+ \Hy@colorlink\@menucolor#2\Hy@endcolorlink
\special{!endaref}%
}
% \end{macrocode}
@@ -9036,34 +9618,36 @@
% 5 & MacOS/X\\
% \end{tabular}
% \begin{macrocode}
-\def\@pdfproducer{VTeX}
-\ifnum\Hy@VTeXversion>\z@
- \count@\VTeXversion
- \divide\count@ 100
- \edef\@pdfproducer{\@pdfproducer\space v\the\count@}
- \multiply\count@ -100
- \advance\count@\VTeXversion
- \edef\@pdfproducer{%
- \@pdfproducer
- .\ifnum\count@<10 0\fi\the\count@
- \ifx\VTeXOS\@undefined\else
- \ifnum\VTeXOS>0 %
- \ifnum\VTeXOS<6 %
- \space(%
- \ifcase\VTeXOS
- \or Windows\or Linux\or OS/2\or MacOS\or MacOS/X%
+\ifx\@pdfproducer\relax
+ \def\@pdfproducer{VTeX}
+ \ifnum\Hy@VTeXversion>\z@
+ \count@\VTeXversion
+ \divide\count@ 100
+ \edef\@pdfproducer{\@pdfproducer\space v\the\count@}
+ \multiply\count@ -100
+ \advance\count@\VTeXversion
+ \edef\@pdfproducer{%
+ \@pdfproducer
+ .\ifnum\count@<10 0\fi\the\count@
+ \ifx\VTeXOS\@undefined\else
+ \ifnum\VTeXOS>0 %
+ \ifnum\VTeXOS<6 %
+ \space(%
+ \ifcase\VTeXOS
+ \or Windows\or Linux\or OS/2\or MacOS\or MacOS/X%
+ \fi
+ )%
\fi
- )%
\fi
\fi
- \fi
- ,\space
- \ifnum\OpMode=\@ne PDF\else PS\fi
- \space backend%
- \ifx\gexmode\@undefined\else
- \ifnum\gexmode>\z@\space with GeX\fi
- \fi
- }
+ ,\space
+ \ifnum\OpMode=\@ne PDF\else PS\fi
+ \space backend%
+ \ifx\gexmode\@undefined\else
+ \ifnum\gexmode>\z@\space with GeX\fi
+ \fi
+ }
+ \fi
\fi
% \end{macrocode}
%
@@ -9124,12 +9708,17 @@
\special{!pdfinfo t=<\@pdftitle>}%
\special{!pdfinfo s=<\@pdfsubject>}%
\special{!pdfinfo c=<\@pdfcreator>}%
- \special{!pdfinfo r=<\@pdfproducer>}%
+ \ifx\@pdfproducer\relax
+ \else
+ \special{!pdfinfo r=<\@pdfproducer>}%
+ \fi
\special{!pdfinfo k=<\@pdfkeywords>}%
\Hy@DisableOption{pdfauthor}%
\Hy@DisableOption{pdftitle}%
\Hy@DisableOption{pdfsubject}%
\Hy@DisableOption{pdfcreator}%
+ \Hy@DisableOption{pdfcreationdate}%
+ \Hy@DisableOption{pdfmoddate}%
\Hy@DisableOption{pdfproducer}%
\Hy@DisableOption{pdfkeywords}%
}
@@ -9232,7 +9821,7 @@
\def\hyper@anchorstart#1{\Hy@activeanchortrue}
\def\hyper@anchorend{\Hy@activeanchorfalse}
\def\hyper@linkstart#1#2{%
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
\xdef\hyper@currentanchor{#2}%
}
\def\hyper@linkend{%
@@ -9264,7 +9853,7 @@
\else
\leavevmode\hbox\bgroup
\fi
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
\literalps@out{H.S}%
\xdef\hyper@currentanchor{#2}%
\gdef\hyper@currentlinktype{#1}%
@@ -9279,6 +9868,7 @@
Dest=\hyper@currentanchor,%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
Color=\Hy@temp,%
Raw=H.B%
}%
@@ -9384,6 +9974,7 @@
linktype={#1},%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
Color=\Hy@temp,%
Dest=\Hy@testname
}%
@@ -9394,6 +9985,7 @@
linktype={#1},%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
pdfmark=/ANN,%
Subtype=/Link,%
Dest=\Hy@testname
@@ -9404,19 +9996,41 @@
\newtoks\pdf@docset
\def\PDF@FinishDoc{%
\Hy@UseMaketitleInfos
- \pdfmark{%
+ \let\Hy@temp\@empty
+ \ifx\@pdfcreationdate\@empty
+ \else
+ \def\Hy@temp{CreationDate=\@pdfcreationdate,}%
+ \fi
+ \ifx\@pdfmoddate\@empty
+ \else
+ \expandafter\def\expandafter\Hy@temp\expandafter{%
+ \Hy@temp
+ ModDate=\@pdfmoddate,%
+ }%
+ \fi
+ \ifx\@pdfproducer\relax
+ \else
+ \expandafter\def\expandafter\Hy@temp\expandafter{%
+ \Hy@temp
+ Producer=\@pdfproducer,%
+ }%
+ \fi
+ \expandafter
+ \pdfmark\expandafter{%
+ \Hy@temp
pdfmark=/DOCINFO,%
Title=\@pdftitle,%
Subject=\@pdfsubject,%
Creator=\@pdfcreator,%
Author=\@pdfauthor,%
- Producer=\@pdfproducer,%
Keywords=\@pdfkeywords
}%
\Hy@DisableOption{pdfauthor}%
\Hy@DisableOption{pdftitle}%
\Hy@DisableOption{pdfsubject}%
\Hy@DisableOption{pdfcreator}%
+ \Hy@DisableOption{pdfcreationdate}%
+ \Hy@DisableOption{pdfmoddate}%
\Hy@DisableOption{pdfproducer}%
\Hy@DisableOption{pdfkeywords}%
}
@@ -9443,6 +10057,7 @@
/NonFullScreenPageMode\@pdfnonfullscreenpagemode
\fi
}%
+ \Hy@pstringdef\Hy@pstringB{\@baseurl}%
\pdfmark{%
pdfmark=/PUT,%
Raw={%
@@ -9457,7 +10072,7 @@
\fi
\ifx\@baseurl\@empty
\else
- /URI << /Base (\@baseurl) >>%
+ /URI << /Base (\Hy@pstringB) >>%
\fi
>>%
}%
@@ -9476,12 +10091,16 @@
% values.
%
% \begin{macrocode}
+\newif\ifHy@pdfmarkerror
\def\pdfmark{\@ifnextchar[{\pdfmark@}{\pdfmark@[]}}
\def\pdfmark@[#1]#2{%
- \edef\@processme{\noexpand\pdf@toks={\the\pdf@defaulttoks}}%
- \@processme
- \let\pdf@type\relax
- \setkeys{PDF}{#2}%
+ \Hy@pdfmarkerrorfalse
+ \edef\@processme{\noexpand\pdf@toks={\the\pdf@defaulttoks}}%
+ \@processme
+ \let\pdf@type\relax
+ \setkeys{PDF}{#2}%
+ \ifHy@pdfmarkerror
+ \else
\ifx\pdf@type\relax
\Hy@WarningNoLine{no pdfmark type specified in #2!!}%
\ifx\\#1\\\relax\else\pdf@rect{#1}\fi
@@ -9490,28 +10109,49 @@
%<pdfmarkbase> \literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
%<dvipdf> \literalps@out{/ANN >>}%
\else
- \Hy@colorlink{\@ifundefined{@\pdf@linktype color}%
- {\@linkcolor}%
- {\csname @\pdf@linktype color\endcsname}}%
+ \@ifundefined{@\pdf@linktype color}{%
+ \Hy@colorlink\@linkcolor
+ }{%
+ \expandafter\Hy@colorlink
+ \csname @\pdf@linktype color\endcsname
+ }%
\pdf@rect{#1}%
%<pdfmarkbase> \literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
%<dvipdf> \literalps@out{/ANN >>}%
\Hy@endcolorlink
\fi
\fi
+ \fi
}
% \end{macrocode}
% The complicated bit is working out the right enclosing rectangle of
% some piece of \TeX\ text, needed by the /Rect key. This solution originates
% with Toby Thain (\texttt{tobyt@netspace.net.au}).
+%
+% For the case breaklinks is enabled, I have added two hooks,
+% the first one for package setouterhbox, it provides
+% a hopefully better method without setting the text twice.
+% \begin{quote}
+% \verb|\usepackage[hyperref]{setouterhbox}|
+% \end{quote}
+% With the second hook, also you can set the text twice, e.g.:
+% \begin{quote}
+% \verb|\long\def\Hy@setouterhbox#1#2{\long\def\my@temp{#2}}|\\
+% \verb|\def\Hy@breaklinksunhbox#1{\my@temp}|
+% \end{quote}
% \begin{macrocode}
\newsavebox{\pdf@box}
+\providecommand{\Hy@setouterhbox}{\sbox}
+\providecommand{\Hy@breaklinksunhbox}{\unhbox}
\def\pdf@rect#1{%
%<dvipdf> \literalps@out{/ANN \pdf@type\space\the\pdf@toks\space <<}#1%
\leavevmode
- \sbox\pdf@box{#1}%
+ \ifHy@breaklinks
+ \Hy@setouterhbox\pdf@box{#1}%
+ \else
+ \sbox\pdf@box{#1}%
+ \fi
\dimen@\ht\pdf@box
- \leavevmode
\ifdim\dp\pdf@box=\z@
\literalps@out{H.S}%
\else
@@ -9522,7 +10162,12 @@
% the saved box like this, which saves executing it twice, which can
% mess up counters etc (thanks DPC\ldots).
% \begin{macrocode}
- \ifHy@breaklinks\unhbox\else\box\fi\pdf@box
+ \ifHy@breaklinks
+ \expandafter\Hy@breaklinksunhbox
+ \else
+ \expandafter\box
+ \fi
+ \pdf@box
% \end{macrocode}
% but if it can have multiple paragraphs you'd need one of these,
% but in that case the measured box size would be wrong anyway.
@@ -9571,7 +10216,21 @@
% parameter is a name
\define@key{PDF}{Action}{\pdf@addtoks{#1}{Action}}
% parameter is a array
-\define@key{PDF}{Border}{\pdf@addtoks{[#1]}{Border}}
+\define@key{PDF}{Border}{%
+ \edef\Hy@temp{#1}%
+ \ifx\Hy@temp\@empty
+ \else
+ \pdf@addtoks{[#1]}{Border}%
+ \fi
+}
+% parameter is a dictionary
+\define@key{PDF}{BorderStyle}{%
+ \edef\Hy@temp{#1}%
+ \ifx\Hy@temp\@empty
+ \else
+ \pdf@addtoks{<<#1>>}{BS}%
+ \fi
+}
% parameter is a array
\define@key{PDF}{Color}{\pdf@addtoks{[#1]}{Color}}
% parameter is a string
@@ -9586,16 +10245,22 @@
\define@key{PDF}{DataSource}{\pdf@addtoks{(#1)}{DataSource}}
% parameter is a destination
\define@key{PDF}{Dest}{%
- \begingroup
- \edef\x{#1}%
- \expandafter\endgroup
- \ifx\x\@empty\else\pdf@addtoks{(#1) cvn}{Dest}\fi
+ \Hy@pstringdef\Hy@pstringDest{#1}%
+ \ifx\Hy@pstringDest\@empty
+ \Hy@pdfmarkerrortrue
+ \Hy@Warning{Destination with empty name ignored}%
+ \else
+ \pdf@addtoks{(\Hy@pstringDest) cvn}{Dest}%
+ \fi
}
\define@key{PDF}{DestAnchor}{%
- \begingroup
- \edef\x{#1}%
- \expandafter\endgroup
- \ifx\x\@empty\else\pdf@addtoks{(#1) cvn}{Dest}\fi
+ \Hy@pstringdef\Hy@pstringDest{#1}%
+ \ifx\Hy@pstringDest\@empty
+ \Hy@pdfmarkerrortrue
+ \Hy@Warning{Destination with empty name ignored}%
+ \else
+ \pdf@addtoks{(\Hy@pstringDest) cvn}{Dest}%
+ \fi
}
% parameter is a string
\define@key{PDF}{Dir}{\pdf@addtoks{(#1)}{Dir}}
@@ -9642,8 +10307,9 @@
% These are the keys used in the DOCINFO section.
% \begin{macrocode}
\define@key{PDF}{Author}{\pdf@addtoks{(#1)}{Author}}
-\define@key{PDF}{CreationDate}{\pdf@addtoks{(#1)}{CreationDate}}
\define@key{PDF}{Creator}{\pdf@addtoks{(#1)}{Creator}}
+\define@key{PDF}{CreationDate}{\pdf@addtoks{(#1)}{CreationDate}}
+\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
\define@key{PDF}{Producer}{\pdf@addtoks{(#1)}{Producer}}
\define@key{PDF}{Subject}{\pdf@addtoks{(#1)}{Subject}}
\define@key{PDF}{Keywords}{\pdf@addtoks{(#1)}{Keywords}}
@@ -9658,6 +10324,7 @@
pdfmark=/ANN,%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
Action={<< /Subtype /Named /N /#1 >>},%
Subtype=/Link%
}%
@@ -9667,14 +10334,30 @@
% \begin{macrocode}
\def\PDFNextPage{\@ifnextchar[{\PDFNextPage@}{\PDFNextPage@[]}}
\def\PDFNextPage@[#1]#2{%
- \pdfmark[{#2}]{#1,Border=\@pdfborder,Color=.2 .1 .5,
- pdfmark=/ANN,Subtype=/Link,Page=/Next}}
+ \pdfmark[{#2}]{%
+ #1,%
+ Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
+ Color=.2 .1 .5,
+ pdfmark=/ANN,%
+ Subtype=/Link,%
+ Page=/Next%
+ }%
+}
\def\PDFPreviousPage{%
\@ifnextchar[{\PDFPreviousPage@}{\PDFPreviousPage@[]}%
}
\def\PDFPreviousPage@[#1]#2{%
- \pdfmark[{#2}]{#1,Border=\@pdfborder,Color=.4 .4 .1,
- pdfmark=/ANN,Subtype=/Link,Page=/Prev}}
+ \pdfmark[{#2}]{%
+ #1,%
+ Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
+ Color=.4 .4 .1,%
+ pdfmark=/ANN,%
+ Subtype=/Link,%
+ Page=/Prev%
+ }%
+}
\def\PDFOpen#1{%
\pdfmark{#1,pdfmark=/DOCVIEW}%
}
@@ -9694,6 +10377,7 @@
Page={#2},%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
Color=\@pagebordercolor,%
pdfmark=/ANN,%
Subtype=/Link%
@@ -9711,6 +10395,7 @@
% \begin{macrocode}
\def\hyper@linkurl#1#2{%
\begingroup
+ \Hy@pstringdef\Hy@pstringURI{#2}%
\hyper@chars
\leavevmode
%<*pdfmarkbase>
@@ -9719,8 +10404,9 @@
linktype=url,%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
Color=\@urlbordercolor,%
- Action={<< /Subtype /URI /URI (#2) >>},%
+ Action={<< /Subtype /URI /URI (\Hy@pstringURI) >>},%
Subtype=/Link%
}%
%</pdfmarkbase>
@@ -9730,14 +10416,17 @@
linktype=url,%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
Color=\@urlbordercolor,%
- Action={URI /URI (#2)}%
+ Action={URI /URI <\Hy@hstringURI>}%
}%
%</dvipdf>
\endgroup
}
\def\hyper@linkfile#1#2#3{%
\begingroup
+ \Hy@pstringdef\Hy@pstringF{#2}%
+ \Hy@pstringdef\Hy@pstringD{#3}%
\leavevmode
%<*pdfmark>
\pdfmark[{#1}]{%
@@ -9745,13 +10434,14 @@
Subtype=/Link,
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
linktype=file,%
Color=\@filebordercolor,%
Action={<<
/S /GoToR
\ifHy@newwindow /NewWindow true \fi
- /F (#2)
- /D \ifx\\#3\\[0 \@pdfstartview]\else(#3) cvn\fi
+ /F (\Hy@pstringF)
+ /D \ifx\\#3\\[0 \@pdfstartview]\else(\Hy@pstringD) cvn\fi
>>}%
}%
%</pdfmark>
@@ -9761,12 +10451,13 @@
linktype=file,
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
Color=\@filebordercolor,%
Action={<<
/S /GoToR
\ifHy@newwindow /NewWindow true \fi
- /F (#2)
- /D \ifx\\#3\\[0 \@pdfstartview]\else(#3) cvn\fi
+ /F (\Hy@pstringF)
+ /D \ifx\\#3\\[0 \@pdfstartview]\else(\Hy@pstringD) cvn\fi
>>}%
}%
%</dvipdf>
@@ -9774,6 +10465,8 @@
}
\def\@hyper@launch run:#1\\#2#3{%
\begingroup
+ \Hy@pstringdef\Hy@pstringF{#1}%
+ \Hy@pstringdef\Hy@pstringP{#3}%
\leavevmode
%<*pdfmark>
\pdfmark[{#2}]{%
@@ -9781,13 +10474,17 @@
Subtype=/Link,%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
linktype=file,%
Color=\@filebordercolor,%
Action={<<
/S /Launch
\ifHy@newwindow /NewWindow true \fi
- /F (#1)
- \ifx\\#3\\\else /Win << /P (#3) /F (#1) >> \fi
+ /F (\Hy@pstringF)
+ \ifx\\#3\\%
+ \else
+ /Win << /P (\Hy@pstringP) /F (\Hy@pstringF) >>
+ \fi
>>}%
}%
%</pdfmark>
@@ -9797,12 +10494,16 @@
linktype=file,%
AcroHighlight=\@pdfhighlight,%
Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
Color=\@filebordercolor,%
Action={<<
/S /GoToR
\ifHy@newwindow /NewWindow true \fi
- /F (#1)
- /D \ifx\\#3\\[0 \@pdfstartview]\else(#3)\fi
+ /F (\Hy@pstringF)
+ \ifx\\#3\\%
+ \else
+ /Win << /P (\Hy@pstringP) /F (\Hy@pstringF) >>
+ \fi
>>}%
}%
%</dvipdf>
@@ -9825,10 +10526,13 @@
% \begin{macrocode}
%<*dvips>
\input{pdfmark.def}%
-\def\@pdfproducer{dvips + Distiller}
+\ifx\@pdfproducer\relax
+ \def\@pdfproducer{dvips + Distiller}
+\fi
\def\literalps@out#1{\special{ps:SDict begin #1 end}}%
\def\headerps@out#1{\special{! #1}}%
\providecommand\@pdfborder{0 0 12}
+\providecommand*\@pdfborderstyle{}
\providecommand\@pdfview{XYZ}
\providecommand\@pdfviewparams{ H.V}
% \end{macrocode}
@@ -9910,9 +10614,14 @@
currentpoint exch pop vsize 72 sub
exch DvipsToPDF sub /pdf@voff exch def
} def
- systemdict
- /pdfmark known not
- {userdict /pdfmark systemdict /cleartomark get put} if
+ systemdict /pdfmark known
+ {
+ userdict /?pdfmark systemdict /exec get put
+ }{
+ userdict /?pdfmark systemdict /pop get put
+ userdict /pdfmark systemdict /cleartomark get put
+ }
+ ifelse
}%
}
\AfterBeginDocument{%
@@ -9940,14 +10649,17 @@
% \begin{macrocode}
%<*vtexpdfmark>
\input{pdfmark.def}%
-\ifnum\OpMode=\@ne
- \def\@pdfproducer{VTeX}
-\else
- \def\@pdfproducer{VTeX + Distiller}
+\ifx\@pdfproducer\relax
+ \ifnum\OpMode=\@ne
+ \def\@pdfproducer{VTeX}
+ \else
+ \def\@pdfproducer{VTeX + Distiller}
+ \fi
\fi
\def\literalps@out#1{\special{pS:#1}}%
\def\headerps@out#1{\immediate\special{pS:#1}}%
\providecommand\@pdfborder{0 0 1}
+\providecommand*\@pdfborderstyle{}
\providecommand\@pdfview{XYZ}
\providecommand\@pdfviewparams{ H.V}
% \end{macrocode}
@@ -10015,6 +10727,14 @@
currentpoint exch pop vsize 72 sub add
/pdf@voff exch def
} def
+ systemdict /pdfmark known
+ {
+ userdict /?pdfmark systemdict /exec get put
+ }{
+ userdict /?pdfmark systemdict /pop get put
+ userdict /pdfmark systemdict /cleartomark get put
+ }
+ ifelse
}%
}
%</vtexpdfmark>
@@ -10102,13 +10822,23 @@
end
}def\Hy@ps@CR
__pdfmark__ not{/pdfmark /betterpdfmark load def}if
+ systemdict /pdfmark known
+ {
+ userdict /?pdfmark systemdict /load get put
+ }{
+ userdict /?pdfmark systemdict /pop get put
+ }
+ ifelse
}% end of \headerps@out
}% end of \AtBeginDvi
%
\input{pdfmark.def}%
%
-\def\@pdfproducer{Textures + Distiller}%
+\ifx\@pdfproducer\relax
+ \def\@pdfproducer{Textures + Distiller}%
+\fi
\providecommand\@pdfborder{0 0 1}
+\providecommand*\@pdfborderstyle{}
\providecommand\@pdfview{XYZ}
\providecommand\@pdfviewparams{ H.V}
%
@@ -10189,7 +10919,7 @@
\special{html:<a name=\hyper@quote #1\hyper@quote>}%
\endgroup
\Hy@activeanchortrue
- \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+ \Hy@colorlink\@anchorcolor\anchor@spot\Hy@endcolorlink
\special{html:</a>}%
\Hy@activeanchorfalse
\Hy@RestoreLastskip
@@ -10209,7 +10939,7 @@
}
\def\@urltype{url}
\def\hyper@linkstart#1#2{%
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
\def\Hy@tempa{#1}%
\ifx\Hy@tempa\@urltype
\special{html:<a href=\hyper@quote#2\hyper@quote>}%
@@ -10236,7 +10966,7 @@
\hyper@chars
\special{html:<a href=\hyper@quote#2\hyper@quote>}%
}%
- \Hy@colorlink{\@urlcolor}#1%
+ \Hy@colorlink\@urlcolor#1%
\@linkdim\ht\@tempboxa
\advance\@linkdim by -6.5\p@
\raise\@linkdim\hbox{\special{html:</a>}}%
@@ -10245,7 +10975,7 @@
\begingroup
\hyper@chars
\special{html:<a href=\hyper@quote#2\hyper@quote>}%
- \Hy@colorlink{\@urlcolor}#1%
+ \Hy@colorlink\@urlcolor#1%
\special{html:</a>}%
\Hy@endcolorlink
\endgroup
@@ -10269,8 +10999,11 @@
% |\special| commands.
%<*dvipsone>
\providecommand\@pdfborder{0 0 65781}
+\providecommand*\@pdfborderstyle{}
\input{pdfmark.def}%
-\def\@pdfproducer{dvipsone + Distiller}
+\ifx\@pdfproducer\relax
+ \def\@pdfproducer{dvipsone + Distiller}
+\fi
\def\literalps@out#1{\special{ps:#1}}%
\def\headerps@out#1{\special{! #1}}%
\def\PDF@FinishDoc{%
@@ -10278,13 +11011,26 @@
\special{PDF: Keywords \@pdfkeywords}%
\special{PDF: Title \@pdftitle}%
\special{PDF: Creator \@pdfcreator}%
+ \ifx\@pdfcreationdate\@empty
+ \else
+ \special{PDF: CreationDate \@pdfcreationdate}%
+ \fi
+ \ifx\@pdfmoddate\@empty
+ \else
+ \special{PDF: ModDate \@pdfmoddate}%
+ \fi
\special{PDF: Author \@pdfauthor}%
- \special{PDF: Producer \@pdfproducer}%
+ \ifx\@pdfproducer\relax
+ \else
+ \special{PDF: Producer \@pdfproducer}%
+ \fi
\special{PDF: Subject \@pdfsubject}%
\Hy@DisableOption{pdfauthor}%
\Hy@DisableOption{pdftitle}%
\Hy@DisableOption{pdfsubject}%
\Hy@DisableOption{pdfcreator}%
+ \Hy@DisableOption{pdfcreationdate}%
+ \Hy@DisableOption{pdfmoddate}%
\Hy@DisableOption{pdfproducer}%
\Hy@DisableOption{pdfkeywords}%
}
@@ -10311,6 +11057,7 @@
/NonFullScreenPageMode\@pdfnonfullscreenpagemode
\fi
}%
+ \Hy@pstringdef\Hy@pstringB{\@baseurl}%
\pdfmark{%
pdfmark=/PUT,%
Raw={%
@@ -10325,7 +11072,7 @@
\fi
\ifx\@baseurl\@empty
\else
- /URI << /Base (\@baseurl) >>%
+ /URI << /Base (\Hy@pstringB) >>%
\fi
>>%
}%
@@ -10383,13 +11130,20 @@
currentpoint exch pop DvipsToPDF /pdf@voff exch def
} def
systemdict
- /pdfmark known not
- {userdict /pdfmark systemdict /cleartomark get put} if
+ /pdfmark known
+ {
+ userdict /?pdfmark /exec load put
+ }{
+ userdict /?pdfmark /pop load put
+ userdict /pdfmark systemdict /cleartomark get put
+ }
+ ifelse
}
%</dvipsone>
%<*dvipdf>
\def\literalps@out#1{\special{pdf: #1}}%
\providecommand\@pdfborder{0 0 1}
+\providecommand*\@pdfborderstyle{}
%</dvipdf>
% \end{macrocode}
%
@@ -10413,7 +11167,7 @@
\special{t4ht=<a name=\hyper@quote #1\hyper@quote>}%
\endgroup
\Hy@activeanchortrue
- \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+ \Hy@colorlink\@anchorcolor\anchor@spot\Hy@endcolorlink
\special{t4ht=</a>}%
\Hy@activeanchorfalse
\Hy@RestoreLastskip
@@ -10432,7 +11186,7 @@
}
\def\@urltype{url}
\def\hyper@linkstart#1#2{%
- \Hy@colorlink{\csname @#1color\endcsname}%
+ \expandafter\Hy@colorlink\csname @#1color\endcsname
\def\Hy@tempa{#1}%
\ifx\Hy@tempa\@urltype
\special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
@@ -10457,7 +11211,7 @@
\hyper@chars\special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
\endgroup
}%
- \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@urlcolor#1\Hy@endcolorlink
\@linkdim\ht\@tempboxa
\advance\@linkdim by -6.5\p@
\raise\@linkdim\hbox{\special{t4ht=</a>}}%
@@ -10465,7 +11219,7 @@
\begingroup
\hyper@chars
\special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
- \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+ \Hy@colorlink\@urlcolor#1\Hy@endcolorlink
\special{t4ht=</a>}%
\endgroup
\fi
@@ -10563,24 +11317,26 @@
[ /_objdef {afields}
/type /array
/OBJ pdfmark
-[/BBox [0 0 100 100] /_objdef {Check} /BP pdfmark
-1 0 0 setrgbcolor /ZapfDingbats 80 selectfont 20 20 moveto (4) show
-[/EP pdfmark
-[/BBox [0 0 100 100] /_objdef {Cross} /BP pdfmark
-1 0 0 setrgbcolor /ZapfDingbats 80 selectfont 20 20 moveto (8) show
-[/EP pdfmark
-[/BBox [0 0 250 100] /_objdef {Submit} /BP pdfmark 0.6 setgray 0 0 250
-100 rectfill 1 setgray 2 2 moveto 2 98 lineto 248 98 lineto 246 96
-lineto 4 96 lineto 4 4 lineto fill 0.34 setgray 248 98 moveto 248 2
-lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
-/Helvetica 76 selectfont 0 setgray 8 22.5 moveto (Submit) show
-[/EP pdfmark
-[/BBox [0 0 250 100] /_objdef {SubmitP} /BP pdfmark 0.6 setgray 0 0
-250 100 rectfill 0.34 setgray 2 2 moveto 2 98 lineto 248 98 lineto 246
-96 lineto 4 96 lineto 4 4 lineto fill 1 setgray 248 98 moveto 248 2
-lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
-/Helvetica 76 selectfont 0 setgray 10 20.5 moveto (Submit) show
-[/EP pdfmark
+{
+ [/BBox [0 0 100 100] /_objdef {Check} /BP pdfmark
+ 1 0 0 setrgbcolor /ZapfDingbats 80 selectfont 20 20 moveto (4) show
+ [/EP pdfmark
+ [/BBox [0 0 100 100] /_objdef {Cross} /BP pdfmark
+ 1 0 0 setrgbcolor /ZapfDingbats 80 selectfont 20 20 moveto (8) show
+ [/EP pdfmark
+ [/BBox [0 0 250 100] /_objdef {Submit} /BP pdfmark 0.6 setgray 0 0 250
+ 100 rectfill 1 setgray 2 2 moveto 2 98 lineto 248 98 lineto 246 96
+ lineto 4 96 lineto 4 4 lineto fill 0.34 setgray 248 98 moveto 248 2
+ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
+ /Helvetica 76 selectfont 0 setgray 8 22.5 moveto (Submit) show
+ [/EP pdfmark
+ [/BBox [0 0 250 100] /_objdef {SubmitP} /BP pdfmark 0.6 setgray 0 0
+ 250 100 rectfill 0.34 setgray 2 2 moveto 2 98 lineto 248 98 lineto 246
+ 96 lineto 4 96 lineto 4 4 lineto fill 1 setgray 248 98 moveto 248 2
+ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
+ /Helvetica 76 selectfont 0 setgray 10 20.5 moveto (Submit) show
+ [/EP pdfmark
+} ?pdfmark
[ {aform}
<<
/Fields {afields}
@@ -10624,6 +11380,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\ifFld@hidden\def\Fld@width{1sp}\fi
\ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
\LayoutTextField{#2}{%
+ \Hy@escapeform\PDFForm@Text
\pdfmark[\MakeTextField{\Fld@width}{\Fld@height}]{%
pdfmark=/ANN,Raw={\PDFForm@Text}%
}%
@@ -10678,6 +11435,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\expandafter\Fld@checkequals\@curropt==\\%
\Hy@StepCount\Fld@listcount
\@currDisplay\space
+ \Hy@escapeform\PDFForm@Radio
\pdfmark[\MakeRadioField{\Fld@width}{\Fld@height}]{%
pdfmark=/ANN,%
Raw={\PDFForm@Radio /AP <</N <</\@currValue\space {Check}>> >>}%
@@ -10695,6 +11453,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\Choice@toks{\the\Choice@toks [(\@currValue) (\@currDisplay)]}%
}\@processme
}%
+ \Hy@escapeform\PDFForm@List
\pdfmark[\MakeChoiceField{\Fld@width}{\Fld@height}]{%
pdfmark=/ANN,Raw={\PDFForm@List}%
}%
@@ -10706,6 +11465,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\setkeys{Field}{#1}%
\ifFld@hidden\def\Fld@width{1sp}\fi
\LayoutPushButtonField{%
+ \Hy@escapeform\PDFForm@Push
\pdfmark[\MakeButtonField{#2}]{%
pdfmark=/ANN,Raw={\PDFForm@Push}%
}%
@@ -10720,6 +11480,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\Fld@name{Submit}%
\setkeys{Field}{#1}%
\ifFld@hidden\def\Fld@width{1sp}\fi
+ \Hy@escapeform\PDFForm@Submit
\pdfmark[\MakeButtonField{#2}]{%
pdfmark=/ANN,%
Raw={\PDFForm@Submit /AP << /N {Submit} /D {SubmitP} >>}%
@@ -10734,6 +11495,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\Fld@name{Reset}%
\setkeys{Field}{#1}%
\ifFld@hidden\def\Fld@width{1sp}\fi
+ \Hy@escapeform\PDFForm@Reset
\pdfmark[\MakeButtonField{#2}]{%
pdfmark=/ANN,Raw={\PDFForm@Reset}%
}%
@@ -10749,6 +11511,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\setkeys{Field}{#1}%
\ifFld@hidden\def\Fld@width{1sp}\fi
\LayoutCheckField{#2}{%
+ \Hy@escapeform\PDFForm@Check
\pdfmark[\MakeCheckField{\Fld@width}{\Fld@height}]{%
pdfmark=/ANN,Raw={\PDFForm@Check}%
}%
@@ -10954,7 +11717,6 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
\typeout{Sorry, pdftex does not support FORM gauges}%
}
-\RequirePackage{pifont}%
\def\MakeFieldObject#1#2{\sbox0{#1}%
\immediate\pdfxform0 %
\expandafter\edef\csname #2Object\endcsname{%
@@ -10972,7 +11734,19 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\pdfrefobj\OBJ@acroform
\fi
\pdfcatalog{/AcroForm \OBJ@acroform\space 0 R}%
- \MakeFieldObject{\ding{123}}{Ding}%
+ \MakeFieldObject{%
+% \end{macrocode}
+% Same as \verb|\ding{123}| of package pifont.
+% \begin{macrocode}
+ \begingroup
+ \fontfamily{pzd}%
+ \fontencoding{U}%
+ \fontseries{m}%
+ \fontshape{n}%
+ \selectfont
+ \char123 %
+ \endgroup
+ }{Ding}%
\MakeFieldObject{\fbox{\textcolor{yellow}{\textsf{Submit}}}}{Submit}%
\MakeFieldObject{\fbox{\textcolor{yellow}{\textsf{SubmitP}}}}{SubmitP}%
}
@@ -10998,8 +11772,10 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\ifFld@hidden\def\Fld@width{1sp}\fi
\ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
\LayoutTextField{#2}{%
- \pdfstartlink user {\PDFForm@Text}%
- \MakeTextField{\Fld@width}{\Fld@height}\pdfendlink}%
+ \Hy@escapeform\PDFForm@Text
+ \pdfstartlink user {\PDFForm@Text}\relax
+ \MakeTextField{\Fld@width}{\Fld@height}\pdfendlink
+ }%
\egroup
}
\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
@@ -11051,6 +11827,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\Hy@StepCount\Fld@listcount
\@currDisplay\space
\leavevmode
+ \Hy@escapeform\PDFForm@Radio
\pdfstartlink user {%
\PDFForm@Radio
/AP <<
@@ -11065,6 +11842,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
>>
>>
}%
+ \relax
\MakeRadioField{\Fld@width}{\Fld@height}\pdfendlink
\space% deliberate space between radio buttons
}%
@@ -11081,7 +11859,8 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
}\@processme
}%
\leavevmode
- \pdfstartlink user {\PDFForm@List}%
+ \Hy@escapeform\PDFForm@List
+ \pdfstartlink user {\PDFForm@List}\relax
\MakeChoiceField{\Fld@width}{\Fld@height}%
\pdfendlink
}
@@ -11093,7 +11872,8 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\ifFld@hidden\def\Fld@width{1sp}\fi
\LayoutPushButtonField{%
\leavevmode
- \pdfstartlink user {\PDFForm@Push}%
+ \Hy@escapeform\PDFForm@Push
+ \pdfstartlink user {\PDFForm@Push}\relax
\MakeButtonField{#2}%
\pdfendlink
}%
@@ -11108,10 +11888,12 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\setkeys{Field}{#1}%
\ifFld@hidden\def\Fld@width{1sp}\fi
\leavevmode
+ \Hy@escapeform\PDFForm@Submit
\pdfstartlink user {%
\PDFForm@Submit
/AP << /N \SubmitObject\space /D \SubmitPObject >>
}%
+ \relax
\MakeButtonField{#2}%
\pdfendlink
\egroup
@@ -11125,7 +11907,8 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\setkeys{Field}{#1}%
\ifFld@hidden\def\Fld@width{1sp}\fi
\leavevmode
- \pdfstartlink user {\PDFForm@Reset}%
+ \Hy@escapeform\PDFForm@Reset
+ \pdfstartlink user {\PDFForm@Reset}\relax
\MakeButtonField{#2}%
\pdfendlink
\egroup
@@ -11140,7 +11923,8 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\setkeys{Field}{#1}%
\ifFld@hidden\def\Fld@width{1sp}\fi
\LayoutCheckField{#2}{%
- \pdfstartlink user {\PDFForm@Check}%
+ \Hy@escapeform\PDFForm@Check
+ \pdfstartlink user {\PDFForm@Check}\relax
\MakeCheckField{\Fld@width}{\Fld@height}%
\pdfendlink
}%
@@ -11279,6 +12063,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\MakeTextField{\Fld@width}{\Fld@height}%
}%
\LayoutTextField{#2}{%
+ \Hy@escapeform\PDFForm@Text
\@pdfm@mark{%
ann @\Fld@name\space \dvipdfm@setdim << \PDFForm@Text >>%
}%
@@ -11347,6 +12132,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\Hy@StepCount\Fld@listcount
\@currDisplay\space
\leavevmode
+ \Hy@escapeform\PDFForm@Radio
\@pdfm@mark{%
ann \ifnum\Fld@listcount=1 @\Fld@name\space\fi
\dvipdfm@setdim
@@ -11381,6 +12167,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
}%
\setbox\pdfm@box=\hbox{\MakeChoiceField{\Fld@width}{\Fld@height}}%
\leavevmode
+ \Hy@escapeform\PDFForm@List
\@pdfm@mark{%
ann @\Fld@name\space\dvipdfm@setdim
<< \PDFForm@List >>%
@@ -11402,6 +12189,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
\LayoutPushButtonField{%
\leavevmode
+ \Hy@escapeform\PDFForm@Push
\@pdfm@mark{%
ann @\Fld@name\space\dvipdfm@setdim
<< \PDFForm@Push >>%
@@ -11426,6 +12214,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\ifFld@hidden\def\Fld@width{1sp}\fi
\setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
\leavevmode
+ \Hy@escapeform\PDFForm@Submit
\@pdfm@mark{%
ann @\Fld@name\space\dvipdfm@setdim
<< \PDFForm@Submit >>%
@@ -11449,6 +12238,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\ifFld@hidden\def\Fld@width{1sp}\fi
\setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
\leavevmode
+ \Hy@escapeform\PDFForm@Reset
\@pdfm@mark{%
ann @\Fld@name\space\dvipdfm@setdim
<< \PDFForm@Reset >>%
@@ -11473,6 +12263,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\ifFld@hidden\def\Fld@width{1sp}\fi
\setbox\pdfm@box=\hbox{\MakeCheckField{\Fld@width}{\Fld@height}}%
\LayoutCheckField{#2}{%
+ \Hy@escapeform\PDFForm@Check
\@pdfm@mark{%
ann @\Fld@name\space\dvipdfm@setdim
<< \PDFForm@Check >>%
@@ -11539,12 +12330,59 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
% \begin{macrocode}
%<*pdfform>
% \end{macrocode}
+%
+% \begin{macro}{\Hy@escapestring}
+% \begin{macrocode}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname pdfescapestring\endcsname\relax
+ \let\Hy@escapestring\@firstofone
+ \def\Hy@escapeform#1{%
+ \ifHy@escapeform
+ \def\Hy@escapestring##1{%
+ \noexpand\Hy@escapestring{\noexpand##1}%
+ }%
+ \edef\Hy@temp{#1}%
+ \expandafter\Hy@@escapeform\Hy@temp\Hy@escapestring{}\@nil
+ \def\Hy@escapestring##1{%
+ \@ifundefined{Hy@esc@\string##1}{%
+ ##1%
+ \ThisShouldNotHappen
+ }{%
+ \csname Hy@esc@\string##1\endcsname
+ }%
+ }%
+ \else
+ \let\Hy@escapestring\@firstofone
+ \fi
+ }%
+ \def\Hy@@escapeform#1\Hy@escapestring#2#3\@nil{%
+ \ifx\\#3\\%
+ \else
+ \expandafter\Hy@pstringdef\csname Hy@esc@\string#2\endcsname{#2}%
+ \Hy@ReturnAfterFi{%
+ \Hy@@escapeform#3\@nil
+ }%
+ \fi
+ }%
+\else
+ \def\Hy@escapeform#1{%
+ \ifHy@escapeform
+ \let\Hy@escapestring\pdfescapestring
+ \else
+ \let\Hy@escapestring\@firstofone
+ \fi
+ }%
+ \Hy@escapeform{}%
+\fi
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\PDFForm@Check}
% \begin{macrocode}
\def\PDFForm@Check{%
/Subtype /Widget
\ifFld@hidden /F 6 \else /F 4 \fi
- /T (\Fld@name)
+ /T (\Hy@escapestring{\Fld@name})
/Q \Fld@align\space
/BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
/MK <<
@@ -11553,7 +12391,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\else
/BG [\Fld@bcolor]
\fi
- /CA (\Fld@cbsymbol)
+ /CA (\Hy@escapestring{\Fld@cbsymbol})
>>
/DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
/FT /Btn
@@ -11567,7 +12405,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\PDFForm@Push{%
/Subtype /Widget
\ifFld@hidden /F 6 \else /F 4 \fi
- /T (\Fld@name)
+ /T (\Hy@escapestring{\Fld@name})
/FT /Btn
/Ff 65540
/H /P
@@ -11575,7 +12413,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
/MK <<
/BC [\Fld@bordercolor]
>>
- /A << /S /JavaScript /JS (\Fld@onclick;) >>
+ /A << /S /JavaScript /JS (\Hy@escapestring{\Fld@onclick}) >>
}
% \end{macrocode}
% \end{macro}
@@ -11589,70 +12427,70 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
% \begin{macrocode}
\ifx\Fld@keystroke@code\@empty
\else
- /K << /S /JavaScript /JS (\Fld@keystroke@code) >>
+ /K << /S /JavaScript /JS (\Hy@escapestring{\Fld@keystroke@code}) >>
\fi
% \end{macrocode}
% F display format
% \begin{macrocode}
\ifx\Fld@format@code\@empty
\else
- /F << /S /JavaScript /JS (\Fld@format@code) >>
+ /F << /S /JavaScript /JS (\Hy@escapestring{\Fld@format@code}) >>
\fi
% \end{macrocode}
% V validation
% \begin{macrocode}
\ifx\Fld@validate@code\@empty
\else
- /V << /S /JavaScript /JS (\Fld@validate@code) >>
+ /V << /S /JavaScript /JS (\Hy@escapestring{\Fld@validate@code}) >>
\fi
% \end{macrocode}
% C calculation
% \begin{macrocode}
\ifx\Fld@calculate@code\@empty
\else
- /C << /S /JavaScript /JS (\Fld@calculate@code) >>
+ /C << /S /JavaScript /JS (\Hy@escapestring{\Fld@calculate@code}) >>
\fi
% \end{macrocode}
% Fo receiving the input focus
% \begin{macrocode}
\ifx\Fld@onfocus@code\@empty
\else
- /Fo << /S /JavaScript /JS (\Fld@onfocus@code) >>
+ /Fo << /S /JavaScript /JS (\Hy@escapestring{\Fld@onfocus@code}) >>
\fi
% \end{macrocode}
% Bl loosing the input focus (blurred)
% \begin{macrocode}
\ifx\Fld@onblur@code\@empty
\else
- /Bl << /S /JavaScript /JS (\Fld@onblur@code) >>
+ /Bl << /S /JavaScript /JS (\Hy@escapestring{\Fld@onblur@code}) >>
\fi
% \end{macrocode}
% D pressing the mouse button (down)
% \begin{macrocode}
\ifx\Fld@onmousedown@code\@empty
\else
- /D << /S /JavaScript /JS (\Fld@onmousedown@code) >>
+ /D << /S /JavaScript /JS (\Hy@escapestring{\Fld@onmousedown@code}) >>
\fi
% \end{macrocode}
% U releasing the mouse button (up)
% \begin{macrocode}
\ifx\Fld@onmouseup@code\@empty
\else
- /U << /S /JavaScript /JS (\Fld@onmouseup@code) >>
+ /U << /S /JavaScript /JS (\Hy@escapestring{\Fld@onmouseup@code}) >>
\fi
% \end{macrocode}
% E cursor enters the annotation's active area.
% \begin{macrocode}
\ifx\Fld@onenter@code\@empty
\else
- /E << /S /JavaScript /JS (\Fld@onenter@code) >>
+ /E << /S /JavaScript /JS (\Hy@escapestring{\Fld@onenter@code}) >>
\fi
% \end{macrocode}
% X cursor exits the annotation's active area.
% \begin{macrocode}
\ifx\Fld@onexit@code\@empty
\else
- /X << /S /JavaScript /JS (\Fld@onexit@code) >>
+ /X << /S /JavaScript /JS (\Hy@escapestring{\Fld@onexit@code}) >>
\fi
>>
}
@@ -11664,7 +12502,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\PDFForm@List{%
/Subtype /Widget
\ifFld@hidden /F 6 \else /F 4 \fi
- /T (\Fld@name)
+ /T (\Hy@escapestring{\Fld@name})
/FT /Ch
/Q \Fld@align\space
/BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
@@ -11677,7 +12515,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
>>
/DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
/Opt [\the\Choice@toks]
- /DV (\Fld@default)
+ /DV (\Hy@escapestring{\Fld@default})
\Fld@additionalactions
\Fld@flags
}
@@ -11688,7 +12526,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\PDFForm@Radio{%
/Subtype /Widget
\ifFld@hidden /F 6 \else /F 4 \fi
- /T (\Fld@name)
+ /T (\Hy@escapestring{\Fld@name})
/FT /Btn
/Ff 49152
/H /P
@@ -11716,7 +12554,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\PDFForm@Text{%
/Subtype /Widget
\ifFld@hidden /F 6 \else /F 4 \fi
- /T (\Fld@name)
+ /T (\Hy@escapestring{\Fld@name})
/Q \Fld@align\space
/FT /Tx
/BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
@@ -11728,8 +12566,8 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\fi
>>
/DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
- /DV (\Fld@default)
- /V (\Fld@value)
+ /DV (\Hy@escapestring{\Fld@default})
+ /V (\Hy@escapestring{\Fld@value})
\Fld@additionalactions
\ifFld@multiline
\ifFld@readonly /Ff 4097 \else /Ff 4096 \fi
@@ -11749,7 +12587,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\PDFForm@Submit{%
/Subtype /Widget
\ifFld@hidden /F 6 \else /F 4 \fi
- /T (\Fld@name)
+ /T (\Hy@escapestring{\Fld@name})
/FT /Btn
/Ff 65540
/H /P
@@ -11761,7 +12599,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
/S /SubmitForm
/F <<
/FS /URL
- /F (\Form@action)
+ /F (\Hy@escapestring{\Form@action})
>>
\ifForm@html /Flags 4 \fi
>>
@@ -11773,7 +12611,7 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\def\PDFForm@Reset{%
/Subtype /Widget
\ifFld@hidden /F 6 \else /F 4 \fi
- /T (\Fld@name)
+ /T (\Hy@escapestring{\Fld@name})
/FT /Btn
/H /P
/DA (/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)
@@ -11807,9 +12645,9 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
% to get bookmarks when used with a manual |\addcontentsline|
% \begin{macrocode}
\def\phantomsection{%
- \Hy@GlobalStepCount\Hy@linkcounter
- \xdef\@currentHref{section*.\the\Hy@linkcounter}%
- \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+ \Hy@GlobalStepCount\Hy@linkcounter
+ \xdef\@currentHref{section*.\the\Hy@linkcounter}%
+ \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
}
%</package>
% \end{macrocode}
@@ -11829,11 +12667,10 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
% |doc| directory of hyperref.
%
% \begin{macrocode}
-\newwrite\@outlinefile
\def\Hy@writebookmark#1#2#3#4#5{% section number, text, label, level, file
\ifx\WriteBookmarks\relax%
\else
- \ifnum#4>\c@tocdepth
+ \ifnum#4>\Hy@bookmarksdepth\relax
\else
\@@writetorep{#1}{#2}{#3}{#4}{#5}%
\fi
@@ -11881,11 +12718,13 @@ lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
\let\numberline\@gobble
\fi
\pdfstringdef\Hy@tempa{#2}%
- \protected@write\@outlinefile{}{%
- \protect\BOOKMARK
- [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}%
- {\Hy@tempa}{\Hy@tempb}%
- }%
+ \if@filesw
+ \protected@write\@outlinefile{}{%
+ \protect\BOOKMARK
+ [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}%
+ {\Hy@tempa}{\Hy@tempb}%
+ }%
+ \fi
\fi
\endgroup
}
@@ -12029,6 +12868,7 @@ o\fi,t=#4}%
\ifx\WriteBookmarks\relax
\else
\if@filesw
+ \newwrite\@outlinefile
\immediate\openout\@outlinefile=\jobname.out
\ifHy@typexml
\immediate\write\@outlinefile{<relaxxml>\relax}%
@@ -12055,27 +12895,30 @@ o\fi,t=#4}%
\def\@@BOOKMARK[##1][##2]##3##4##5{%
\def\Hy@temp{##4}%
%<*pdftex>
- \pdfoutline goto
- name{##3}%
- count ##2\check@bm@number{##3}{%
- \expandafter\strip@prefix\meaning\Hy@temp
- }%
+ \Hy@pstringdef\Hy@pstringName{##3}%
+ \Hy@OutlineName{}\Hy@pstringName{%
+ ##2\check@bm@number{##3}%
+ }{%
+ \expandafter\strip@prefix\meaning\Hy@temp
+ }%
%</pdftex>
%<*pdfmark>
+ \Hy@pstringdef\Hy@pstringName{##3}%
\pdfmark{%
pdfmark=/OUT,%
Count={##2\check@bm@number{##3}},%
- Dest={##3},%
+ Dest={\Hy@pstringName},%
Title=\expandafter\strip@prefix\meaning\Hy@temp
}%
%</pdfmark>
%<*dvipdfm>
+ \Hy@pstringdef\Hy@pstringName{##3}%
\@pdfm@mark{%
outline ##1 <<
/Title (\expandafter\strip@prefix\meaning\Hy@temp)
/A <<
/S /GoTo
- /D (##3)
+ /D (\Hy@pstringName)
>>
>>
}%
@@ -12086,15 +12929,23 @@ o\fi,t=#4}%
\InputIfFileExists{\jobname.out}{}{}%
}%
%{\escapechar\m@ne\InputIfFileExists{\jobname.out}{}{}}%
- \ifx\WriteBookmarks\relax\else
- \if@filesw\immediate\openout\@outlinefile=\jobname.out
- \ifHy@typexml
- \immediate\write\@outlinefile{<relaxxml>\relax}%
- \fi
+ \ifx\WriteBookmarks\relax
+ \else
+ \if@filesw
+ \newwrite\@outlinefile
+ \immediate\openout\@outlinefile=\jobname.out
+ \ifHy@typexml
+ \immediate\write\@outlinefile{<relaxxml>\relax}%
+ \fi
\fi
\fi
\endgroup
}
+%<*pdftex>
+\def\Hy@OutlineName#1#2#3#4{%
+ \pdfoutline goto name{#2}count#3{#4}%
+}
+%</pdftex>
\def\check@bm@number#1{%
\expandafter\ifx\csname B_#1\endcsname\relax
0%
@@ -12170,6 +13021,21 @@ o\fi,t=#4}%
}
% \end{macrocode}
% \begin{macrocode}
+\let\H@old@part\@part
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname chapter\endcsname\relax
+ \let\Hy@secnum@part\z@
+\else
+ \let\Hy@secnum@part\m@ne
+\fi
+\def\@part{%
+ \ifnum\Hy@secnum@part>\c@secnumdepth
+ \phantomsection
+ \fi
+ \H@old@part
+}
+% \end{macrocode}
+% \begin{macrocode}
\let\H@old@spart\@spart
\def\@spart#1{%
\H@old@spart{#1}%
@@ -12302,6 +13168,7 @@ o\fi,t=#4}%
\DeclareTextCompositeCommand{\v}{PD1}{\@empty}{\textcaron}
\DeclareTextCompositeCommand{\.}{PD1}{\@empty}{\textdotaccent}
\DeclareTextCompositeCommand{\c}{PD1}{\@empty}{\textcedilla}
+\DeclareTextCommand{\k}{PD1}[1]{\TextSymbolUnavailable{\k{#1}}#1}
% \end{macrocode}
% Accent glyph names
% \begin{macrocode}
@@ -12598,6 +13465,10 @@ o\fi,t=#4}%
\DeclareTextCompositeCommand{\c}{PU}{\@empty}{\textcedilla}
\DeclareTextCompositeCommand{\U}{PU}{\@empty}{\textbreve}
\DeclareTextCompositeCommand{\C}{PU}{\@empty}{\textdoublegrave}
+\DeclareTextCommand{\=}{PU}[1]{\TextSymbolUnavailable{\={#1}}#1}
+\DeclareTextCommand{\H}{PU}[1]{\TextSymbolUnavailable{\H{#1}}#1}
+\DeclareTextCommand{\k}{PU}[1]{\TextSymbolUnavailable{\k{#1}}#1}
+\DeclareTextCommand{\u}{PU}[1]{\TextSymbolUnavailable{\u{#1}}#1}
% \end{macrocode}
% Accent glyph names
% \begin{macrocode}
@@ -12667,25 +13538,7 @@ o\fi,t=#4}%
%
% \subsubsection{Latin-1 Supplement}
% \begin{macrocode}
-\DeclareTextCommand{\textbullet}{PU}{\80\200} % bullet
-\DeclareTextCommand{\textdagger}{PU}{\80\201} % dagger
-\DeclareTextCommand{\textdaggerdbl}{PU}{\80\202} % daggerdbl
-\DeclareTextCommand{\textellipsis}{PU}{\80\203} % ellipsis
-\DeclareTextCommand{\textemdash}{PU}{\80\204} % emdash
-\DeclareTextCommand{\textendash}{PU}{\80\205} % endash
-\DeclareTextCommand{\textflorin}{PU}{\80\206} % florin
-\DeclareTextCommand{\textfractionmark}{PU}{/} % fraction, \80\207
-\DeclareTextCommand{\guilsinglleft}{PU}{\80\210} % guilsinglleft
-\DeclareTextCommand{\guilsinglright}{PU}{\80\211} % guilsinglright
\DeclareTextCommand{\textminus}{PU}{-} % minus, \80\212
-\DeclareTextCommand{\textperthousand}{PU}{\80\213} % perthousand
-\DeclareTextCommand{\quotedblbase}{PU}{\80\214} % quotedblbase
-\DeclareTextCommand{\textquotedblleft}{PU}{\80\215} % quotedblleft
-\DeclareTextCommand{\textquotedblright}{PU}{\80\216} % quotedblright
-\DeclareTextCommand{\textquoteleft}{PU}{\80\217} % quoteleft
-\DeclareTextCommand{\textquoteright}{PU}{\80\220} % quoteright
-\DeclareTextCommand{\quotesinglbase}{PU}{\80\221} % quotesinglbase
-\DeclareTextCommand{\texttrademark}{PU}{\80\222} % trademark
\DeclareTextCommand{\textfi}{PU}{fi} % fi ?? \80\223
\DeclareTextCommand{\textfl}{PU}{fl} % fl ?? \80\224
% \end{macrocode}
@@ -12695,8 +13548,8 @@ o\fi,t=#4}%
% Problematic are all positions, but especially \cmd{\OE},
% \cmd{\oe}, and \cmd{\i}.
% \begin{macrocode}
-\DeclareTextCommand{\OE}{PU}{\80\226} % OE
-\DeclareTextCommand{\oe}{PU}{\80\234} % oe
+%\DeclareTextCommand{\OE}{PU}{OE} % OE
+%\DeclareTextCommand{\oe}{PU}{oe} % oe
% \end{macrocode}
% The euro \cs{240} is inserted in version 1.3 of the pdf
% specification.
@@ -12807,7 +13660,6 @@ o\fi,t=#4}%
% Glyphs that consist of several characters.
% \begin{macrocode}
\DeclareTextCommand{\SS}{PU}{SS}
-\DeclareTextCommand{\textcelsius}{PU}{\textdegree C}
% \end{macrocode}
% Aliases (german.sty)
% \begin{macrocode}
@@ -12827,7 +13679,6 @@ o\fi,t=#4}%
\DeclareTextCommand{\textdiv}{PU}{\textdivide}
\DeclareTextCommand{\textpm}{PU}{\textplusminus}
\DeclareTextCommand{\textcdot}{PU}{\textperiodcentered}
-\DeclareTextCommand{\textbeta}{PU}{\ss}
% \end{macrocode}
%
% \subsubsection{Latin Extended-A}
@@ -12911,16 +13762,16 @@ o\fi,t=#4}%
\DeclareTextCompositeCommand{\v}{PU}{N}{\81\107} % Ncaron
\DeclareTextCompositeCommand{\v}{PU}{n}{\81\110} % ncaron
% n apostrophe
-\DeclareTextCommand{\NG}{PU}{NG} % \81\112
-\DeclareTextCommand{\ng}{PU}{ng} % \81\113
+\DeclareTextCommand{\NG}{PU}{\81\112} % NG
+\DeclareTextCommand{\ng}{PU}{\81\113} % ng
\DeclareTextCompositeCommand{\=}{PU}{O}{\81\114} % Omacron
\DeclareTextCompositeCommand{\=}{PU}{o}{\81\115} % omacron
\DeclareTextCompositeCommand{\u}{PU}{O}{\81\116} % Obreve
\DeclareTextCompositeCommand{\u}{PU}{o}{\81\117} % obreve
\DeclareTextCompositeCommand{\H}{PU}{O}{\81\120} % Odoubleacute
\DeclareTextCompositeCommand{\H}{PU}{o}{\81\121} % odoubleacute
-%\DeclareTextCommand{\OE}{PU}{\81\122} % OE
-%\DeclareTextCommand{\oe}{PU}{\81\123} % oe
+\DeclareTextCommand{\OE}{PU}{\81\122} % OE
+\DeclareTextCommand{\oe}{PU}{\81\123} % oe
\DeclareTextCompositeCommand{\'}{PU}{R}{\81\124} % Racute
\DeclareTextCompositeCommand{\'}{PU}{r}{\81\125} % racute
\DeclareTextCompositeCommand{\c}{PU}{R}{\81\126} % Rcedilla
@@ -12967,8 +13818,10 @@ o\fi,t=#4}%
\DeclareTextCompositeCommand{\v}{PU}{z}{\81\176} % zcaron
% \end{macrocode}
%
+%
% \subsubsection{Latin Extended-B}
% \begin{macrocode}
+\DeclareTextCommand{\textflorin}{PU}{\81\222} % florin
\DeclareTextCompositeCommand{\v}{PU}{A}{\81\315} % Acaron
\DeclareTextCompositeCommand{\v}{PU}{a}{\81\316} % acaron
\DeclareTextCompositeCommand{\v}{PU}{I}{\81\317} % Icaron
@@ -13304,9 +14157,30 @@ o\fi,t=#4}%
\DeclareTextCompositeCommand{\"}{PU}{\CYRERY}{\84\370}% YERU diaeresis
\DeclareTextCompositeCommand{\"}{PU}{\cyrery}{\84\371}% yeru diaeresis
% \end{macrocode}
-% \begin{macrocode}
+%
+% \subsubsection{Symbols}
+% \begin{macrocode}
+\DeclareTextCommand{\textendash}{PU}{\9040\023} % endash
+\DeclareTextCommand{\textemdash}{PU}{\9040\024} % emdash
+\DeclareTextCommand{\textquoteleft}{PU}{\9040\030} % quoteleft
+\DeclareTextCommand{\textquoteright}{PU}{\9040\031} % quoteright
+\DeclareTextCommand{\quotesinglbase}{PU}{\9040\032} % quotesinglbase
+\DeclareTextCommand{\textquotedblleft}{PU}{\9040\034} % quotedblleft
+\DeclareTextCommand{\textquotedblright}{PU}{\9040\035} % quotedblright
+\DeclareTextCommand{\quotedblbase}{PU}{\9040\036} % quotedblbase
+\DeclareTextCommand{\textdagger}{PU}{\9040\040} % dagger
+\DeclareTextCommand{\textdaggerdbl}{PU}{\9040\041} % daggerdbl
+\DeclareTextCommand{\textbullet}{PU}{\9040\042} % bullet
+\DeclareTextCommand{\textellipsis}{PU}{\9040\046} % ellipsis
+\DeclareTextCommand{\textperthousand}{PU}{\9040\060} % perthousand
+\DeclareTextCommand{\textpertenthousand}{PU}{\9040\061} % pertenthousand
+\DeclareTextCommand{\guilsinglleft}{PU}{\9040\071} % guilsinglleft
+\DeclareTextCommand{\guilsinglright}{PU}{\9040\072} % guilsinglright
+\DeclareTextCommand{\textfractionmark}{PU}{\9040\104} % fraction slash
\DeclareTextCommand{\texteuro}{PU}{\9040\254} % Euro
+\DeclareTextCommand{\textcelsius}{PU}{\9041\003}
\DeclareTextCommand{\textnumero}{PU}{\9041\026}
+\DeclareTextCommand{\texttrademark}{PU}{\9041\042} % trademark
%\DeclareTextCommand{\cyrlangle}{PU}{\9043\051}
%\DeclareTextCommand{\cyrrangle}{PU}{\9043\052}
% \end{macrocode}
@@ -13315,6 +14189,155 @@ o\fi,t=#4}%
%</puenc>
% \end{macrocode}
%
+% \subsection{PU encoding, additions for Vn\TeX}
+%
+% This file is provided by Han The Thanh.
+%
+% \begin{macrocode}
+%<*puvnenc>
+% \end{macrocode}
+% \begin{macrocode}
+\DeclareTextCommand{\abreve}{PU}{\81\003}
+\DeclareTextCommand{\acircumflex}{PU}{\80\342}
+\DeclareTextCommand{\dj}{PU}{\81\021}
+\DeclareTextCommand{\ecircumflex}{PU}{\80\352}
+\DeclareTextCommand{\ocircumflex}{PU}{\80\364}
+\DeclareTextCommand{\ohorn}{PU}{\81\241}
+\DeclareTextCommand{\uhorn}{PU}{\81\260}
+\DeclareTextCommand{\ABREVE}{PU}{\81\002}
+\DeclareTextCommand{\ACIRCUMFLEX}{PU}{\80\302}
+\DeclareTextCommand{\DJ}{PU}{\81\020}
+\DeclareTextCommand{\ECIRCUMFLEX}{PU}{\80\312}
+\DeclareTextCommand{\OCIRCUMFLEX}{PU}{\80\324}
+\DeclareTextCommand{\OHORN}{PU}{\81\240}
+\DeclareTextCommand{\UHORN}{PU}{\81\257}
+% \end{macrocode}
+% \begin{macrocode}
+\DeclareTextCompositeCommand{\'}{PU}{a}{\80\341}
+\DeclareTextCompositeCommand{\d}{PU}{a}{\9036\241}
+\DeclareTextCompositeCommand{\`}{PU}{a}{\80\340}
+\DeclareTextCompositeCommand{\h}{PU}{a}{\9036\243}
+\DeclareTextCompositeCommand{\~}{PU}{a}{\80\343}
+\DeclareTextCompositeCommand{\'}{PU}{\abreve}{\9036\257}
+\DeclareTextCompositeCommand{\d}{PU}{\abreve}{\9036\267}
+\DeclareTextCompositeCommand{\`}{PU}{\abreve}{\9036\261}
+\DeclareTextCompositeCommand{\h}{PU}{\abreve}{\9036\263}
+\DeclareTextCompositeCommand{\~}{PU}{\abreve}{\9036\265}
+\DeclareTextCompositeCommand{\'}{PU}{\acircumflex}{\9036\245}
+\DeclareTextCompositeCommand{\d}{PU}{\acircumflex}{\9036\255}
+\DeclareTextCompositeCommand{\`}{PU}{\acircumflex}{\9036\247}
+\DeclareTextCompositeCommand{\h}{PU}{\acircumflex}{\9036\251}
+\DeclareTextCompositeCommand{\~}{PU}{\acircumflex}{\9036\253}
+\DeclareTextCompositeCommand{\'}{PU}{e}{\80\351}
+\DeclareTextCompositeCommand{\d}{PU}{e}{\9036\271}
+\DeclareTextCompositeCommand{\`}{PU}{e}{\80\350}
+\DeclareTextCompositeCommand{\h}{PU}{e}{\9036\273}
+\DeclareTextCompositeCommand{\~}{PU}{e}{\9036\275}
+\DeclareTextCompositeCommand{\'}{PU}{\ecircumflex}{\9036\277}
+\DeclareTextCompositeCommand{\d}{PU}{\ecircumflex}{\9036\307}
+\DeclareTextCompositeCommand{\`}{PU}{\ecircumflex}{\9036\301}
+\DeclareTextCompositeCommand{\h}{PU}{\ecircumflex}{\9036\303}
+\DeclareTextCompositeCommand{\~}{PU}{\ecircumflex}{\9036\305}
+\DeclareTextCompositeCommand{\'}{PU}{i}{\80\355}
+\DeclareTextCompositeCommand{\d}{PU}{i}{\9036\313}
+\DeclareTextCompositeCommand{\`}{PU}{i}{\80\354}
+\DeclareTextCompositeCommand{\h}{PU}{i}{\9036\311}
+\DeclareTextCompositeCommand{\~}{PU}{i}{\81\051}
+\DeclareTextCompositeCommand{\'}{PU}{o}{\80\363}
+\DeclareTextCompositeCommand{\d}{PU}{o}{\9036\315}
+\DeclareTextCompositeCommand{\`}{PU}{o}{\80\362}
+\DeclareTextCompositeCommand{\h}{PU}{o}{\9036\317}
+\DeclareTextCompositeCommand{\~}{PU}{o}{\80\365}
+\DeclareTextCompositeCommand{\'}{PU}{\ocircumflex}{\9036\321}
+\DeclareTextCompositeCommand{\d}{PU}{\ocircumflex}{\9036\331}
+\DeclareTextCompositeCommand{\`}{PU}{\ocircumflex}{\9036\323}
+\DeclareTextCompositeCommand{\h}{PU}{\ocircumflex}{\9036\325}
+\DeclareTextCompositeCommand{\~}{PU}{\ocircumflex}{\9036\327}
+\DeclareTextCompositeCommand{\'}{PU}{\ohorn}{\9036\333}
+\DeclareTextCompositeCommand{\d}{PU}{\ohorn}{\9036\343}
+\DeclareTextCompositeCommand{\`}{PU}{\ohorn}{\9036\335}
+\DeclareTextCompositeCommand{\h}{PU}{\ohorn}{\9036\337}
+\DeclareTextCompositeCommand{\~}{PU}{\ohorn}{\9036\341}
+\DeclareTextCompositeCommand{\'}{PU}{u}{\80\372}
+\DeclareTextCompositeCommand{\d}{PU}{u}{\9036\345}
+\DeclareTextCompositeCommand{\`}{PU}{u}{\80\371}
+\DeclareTextCompositeCommand{\h}{PU}{u}{\9036\347}
+\DeclareTextCompositeCommand{\~}{PU}{u}{\81\151}
+\DeclareTextCompositeCommand{\'}{PU}{\uhorn}{\9036\351}
+\DeclareTextCompositeCommand{\d}{PU}{\uhorn}{\9036\361}
+\DeclareTextCompositeCommand{\`}{PU}{\uhorn}{\9036\353}
+\DeclareTextCompositeCommand{\h}{PU}{\uhorn}{\9036\355}
+\DeclareTextCompositeCommand{\~}{PU}{\uhorn}{\9036\357}
+\DeclareTextCompositeCommand{\'}{PU}{y}{\80\375}
+\DeclareTextCompositeCommand{\d}{PU}{y}{\9036\365}
+\DeclareTextCompositeCommand{\`}{PU}{y}{\9036\363}
+\DeclareTextCompositeCommand{\h}{PU}{y}{\9036\367}
+\DeclareTextCompositeCommand{\~}{PU}{y}{\9036\371}
+\DeclareTextCompositeCommand{\'}{PU}{A}{\80\301}
+\DeclareTextCompositeCommand{\d}{PU}{A}{\9036\240}
+\DeclareTextCompositeCommand{\`}{PU}{A}{\80\300}
+\DeclareTextCompositeCommand{\h}{PU}{A}{\9036\242}
+\DeclareTextCompositeCommand{\~}{PU}{A}{\80\303}
+\DeclareTextCompositeCommand{\'}{PU}{\ABREVE}{\9036\256}
+\DeclareTextCompositeCommand{\d}{PU}{\ABREVE}{\9036\266}
+\DeclareTextCompositeCommand{\`}{PU}{\ABREVE}{\9036\260}
+\DeclareTextCompositeCommand{\h}{PU}{\ABREVE}{\9036\262}
+\DeclareTextCompositeCommand{\~}{PU}{\ABREVE}{\9036\264}
+\DeclareTextCompositeCommand{\'}{PU}{\ACIRCUMFLEX}{\9036\244}
+\DeclareTextCompositeCommand{\d}{PU}{\ACIRCUMFLEX}{\9036\254}
+\DeclareTextCompositeCommand{\`}{PU}{\ACIRCUMFLEX}{\9036\246}
+\DeclareTextCompositeCommand{\h}{PU}{\ACIRCUMFLEX}{\9036\250}
+\DeclareTextCompositeCommand{\~}{PU}{\ACIRCUMFLEX}{\9036\252}
+\DeclareTextCompositeCommand{\'}{PU}{E}{\80\311}
+\DeclareTextCompositeCommand{\d}{PU}{E}{\9036\270}
+\DeclareTextCompositeCommand{\`}{PU}{E}{\80\310}
+\DeclareTextCompositeCommand{\h}{PU}{E}{\9036\272}
+\DeclareTextCompositeCommand{\~}{PU}{E}{\9036\274}
+\DeclareTextCompositeCommand{\'}{PU}{\ECIRCUMFLEX}{\9036\276}
+\DeclareTextCompositeCommand{\d}{PU}{\ECIRCUMFLEX}{\9036\306}
+\DeclareTextCompositeCommand{\`}{PU}{\ECIRCUMFLEX}{\9036\300}
+\DeclareTextCompositeCommand{\h}{PU}{\ECIRCUMFLEX}{\9036\302}
+\DeclareTextCompositeCommand{\~}{PU}{\ECIRCUMFLEX}{\9036\304}
+\DeclareTextCompositeCommand{\'}{PU}{I}{\80\315}
+\DeclareTextCompositeCommand{\d}{PU}{I}{\9036\312}
+\DeclareTextCompositeCommand{\`}{PU}{I}{\80\314}
+\DeclareTextCompositeCommand{\h}{PU}{I}{\9036\310}
+\DeclareTextCompositeCommand{\~}{PU}{I}{\81\050}
+\DeclareTextCompositeCommand{\'}{PU}{O}{\80\323}
+\DeclareTextCompositeCommand{\d}{PU}{O}{\9036\314}
+\DeclareTextCompositeCommand{\`}{PU}{O}{\80\322}
+\DeclareTextCompositeCommand{\h}{PU}{O}{\9036\316}
+\DeclareTextCompositeCommand{\~}{PU}{O}{\80\325}
+\DeclareTextCompositeCommand{\'}{PU}{\OCIRCUMFLEX}{\9036\320}
+\DeclareTextCompositeCommand{\d}{PU}{\OCIRCUMFLEX}{\9036\330}
+\DeclareTextCompositeCommand{\`}{PU}{\OCIRCUMFLEX}{\9036\322}
+\DeclareTextCompositeCommand{\h}{PU}{\OCIRCUMFLEX}{\9036\324}
+\DeclareTextCompositeCommand{\~}{PU}{\OCIRCUMFLEX}{\9036\326}
+\DeclareTextCompositeCommand{\'}{PU}{\OHORN}{\9036\332}
+\DeclareTextCompositeCommand{\d}{PU}{\OHORN}{\9036\342}
+\DeclareTextCompositeCommand{\`}{PU}{\OHORN}{\9036\334}
+\DeclareTextCompositeCommand{\h}{PU}{\OHORN}{\9036\336}
+\DeclareTextCompositeCommand{\~}{PU}{\OHORN}{\9036\340}
+\DeclareTextCompositeCommand{\'}{PU}{U}{\80\332}
+\DeclareTextCompositeCommand{\d}{PU}{U}{\9036\344}
+\DeclareTextCompositeCommand{\`}{PU}{U}{\80\331}
+\DeclareTextCompositeCommand{\h}{PU}{U}{\9036\346}
+\DeclareTextCompositeCommand{\~}{PU}{U}{\81\150}
+\DeclareTextCompositeCommand{\'}{PU}{\UHORN}{\9036\350}
+\DeclareTextCompositeCommand{\d}{PU}{\UHORN}{\9036\360}
+\DeclareTextCompositeCommand{\`}{PU}{\UHORN}{\9036\352}
+\DeclareTextCompositeCommand{\h}{PU}{\UHORN}{\9036\354}
+\DeclareTextCompositeCommand{\~}{PU}{\UHORN}{\9036\356}
+\DeclareTextCompositeCommand{\'}{PU}{Y}{\80\335}
+\DeclareTextCompositeCommand{\d}{PU}{Y}{\9036\364}
+\DeclareTextCompositeCommand{\`}{PU}{Y}{\9036\362}
+\DeclareTextCompositeCommand{\h}{PU}{Y}{\9036\366}
+\DeclareTextCompositeCommand{\~}{PU}{Y}{\9036\370}
+% \end{macrocode}
+% \begin{macrocode}
+%</puvnenc>
+% \end{macrocode}
+%
% \section{End of file hycheck.tex}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.ins b/Master/texmf-dist/source/latex/hyperref/hyperref.ins
index dabb4e901a4..7c1c3ac2ff5 100644
--- a/Master/texmf-dist/source/latex/hyperref/hyperref.ins
+++ b/Master/texmf-dist/source/latex/hyperref/hyperref.ins
@@ -4,7 +4,7 @@
%% LaTeX or TeX.
%%
%% Copyright 1995-1999 Sebastian Rahtz
-%% 1999-2003 Sebastian Rahtz, Heiko Oberdiek
+%% 1999-2006 Sebastian Rahtz, Heiko Oberdiek
%%
%% This file is part of the `Hyperref Bundle'.
%% -------------------------------------------
@@ -22,7 +22,7 @@
%%
%% --------------- start of docstrip commands ------------------
%%
-\def\filedate{2003/03/20}
+\def\filedate{2006/02/08}
\def\batchfile{hyperref.ins}
\input docstrip
@@ -51,6 +51,8 @@
\generate{%
\file{hyperref.drv}{\from{hyperref.dtx}{driver}}
\file{hycheck.tex}{\from{hyperref.dtx}{check}}
+ \file{backref.drv}{\from{backref.dtx}{driver}}
+ \file{nameref.drv}{\from{nameref.dtx}{driver}}
\usedir{tex/latex/hyperref}
\file{backref.sty}{\from{backref.dtx}{package}}
\file{nameref.sty}{\from{nameref.dtx}{package}}
@@ -71,6 +73,7 @@
\file{hdvipdfm.def}{\from{hyperref.dtx}{dvipdfm,pdfform,outlines}}
\file{pd1enc.def}{\from{hyperref.dtx}{pd1enc}}
\file{puenc.def}{\from{hyperref.dtx}{puenc}}
+ \file{puvnenc.def}{\from{hyperref.dtx}{puvnenc}}
\file{nohyperref.sty}{\from{hyperref.dtx}{nohyperref}}
}
diff --git a/Master/texmf-dist/source/latex/hyperref/manual.css b/Master/texmf-dist/source/latex/hyperref/manual.css
deleted file mode 100644
index 4ce2a0d94c5..00000000000
--- a/Master/texmf-dist/source/latex/hyperref/manual.css
+++ /dev/null
@@ -1,108 +0,0 @@
-
-/* start css.sty */
-.cmmi-10{font-style: italic;}
-.cmsy-7{font-size:70%;}
-.ecrm-1728{font-size:170%;}
-.ecss-1728{font-size:170%; font-family: sans-serif;}
-.ecrm-1200{font-size:120%;}
-.ectt-1000{ font-family: monospace;}
-.ecti-1000{ font-style: italic;}
-.ecss-1000{ font-family: sans-serif;}
-.ecbx-1000{ font-weight: bold;}
-.htf-cmbx {font-weight: bold; font-style:normal;}
-p.noindent { text-indent: 0em }
-p.nopar { text-indent: 0em; }
-p.indent{ text-indent: 1.5em }
-a img { border-top: 0; border-left: 0; border-right: 0; }
-center { margin-top:1em; margin-bottom:1em; }
-td center { margin-top:0em; margin-bottom:0em; }
-.Canvas { position:relative; }
-img.math{vertical-align:middle;}
-li p.indent { text-indent: 0em }
-span.footnotetext{ font-size:80%; font-style:italic; }
-.obeylines-h,.obeylines-v {white-space: nowrap; }
-div.obeylines-v p { margin-top:0; margin-bottom:0; }
-.overline{ text-decoration:overline; }
-.overline img{ border-top: 1px solid black; }
-td.displaylines {text-align:center; white-space:nowrap;}
-.centerline {text-align:center;}
-.rightline {text-align:right;}
-div.verbatim {font-family: monospace; white-space: nowrap; }
-span.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-table.minipage{width:100%;}
-div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em; margin-top:0.5em; margin-bottom:0.5em;}
-div.center div {text-align: left;}
-div.flushright, div.flushright div.flushright {text-align: right;}
-div.flushright div {text-align: left;}
-div.flushleft {text-align: left;}
-.underline{ text-decoration:underline; }
-.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
-.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-.framebox-c {text-align:center;}
-.framebox-l {text-align:left;}
-.framebox-r {text-align:right;}
-div.array {text-align:center;}
-div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em;}
-table.tabular td p{margin-top:0em;}
-div.td00{ margin-left:0pt; margin-right:0pt; }
-div.td01{ margin-left:0pt; margin-right:5pt; }
-div.td10{ margin-left:5pt; margin-right:0pt; }
-div.td11{ margin-left:5pt; margin-right:5pt; }
-td.td00{ padding-left:0pt; padding-right:0pt; }
-td.td01{ padding-left:0pt; padding-right:5pt; }
-td.td10{ padding-left:5pt; padding-right:0pt; }
-td.td11{ padding-left:5pt; padding-right:5pt; }
-.hline hr, .cline hr{ height : 1px; }
-.tabbing-right {text-align:right;}
-div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
-span.TEX {letter-spacing: -0.125em; }
-span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
-a span.TEX span.E {text-decoration: none; }
-span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
-span.LATEX span.TEX{ position:relative; left: -0.4em; }
-.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
-.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
-div.float {text-align:center;}
-div.figure {text-align:center;}
-.equation td{text-align:center; }
-td.equation { margin-top:1em; margin-bottom:1em; }
-td.eqnarray4 { width:5%; white-space: normal; }
-td.eqnarray2 { width:5%; }
-table.eqnarray-star, table.eqnarray {width:100%;}
-div.eqnarray{text-align:center;}
-div.pmatrix {text-align:center;}
-span.pmatrix img{vertical-align:middle;}
-div.pmatrix {text-align:center;}
-img.cdots{vertical-align:middle;}
-.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
-.caption td.id{font-weight: bold; white-space: nowrap; }
-table.caption {text-align:center;}
-h1.partHead{text-align: center}
-p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
-p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
-.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
-.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
-.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
-.verse{white-space:nowrap; margin-left:2em}
-div.maketitle {text-align:center;}
-h2.titleHead{text-align:center;}
-div.maketitle{ margin-bottom: 2em; }
-div.author, div.date {text-align:center;}
-div.thanks{text-align:left; margin-left:10%; font-size:80%; font-style:italic; }
-div.author{white-space: nowrap;}
-.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
-.abstract p {margin-left:5%; margin-right:5%;}
-div.array {text-align:center;}
-div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em;}
-table.tabular td p{margin-top:0em;}
-div.td00{ margin-left:0pt; margin-right:0pt; }
-div.td01{ margin-left:0pt; margin-right:5pt; }
-div.td10{ margin-left:5pt; margin-right:0pt; }
-div.td11{ margin-left:5pt; margin-right:5pt; }
-td.td00{ padding-left:0pt; padding-right:0pt; }
-td.td01{ padding-left:0pt; padding-right:5pt; }
-td.td10{ padding-left:5pt; padding-right:0pt; }
-td.td11{ padding-left:5pt; padding-right:5pt; }
-.hline hr, .cline hr{ height : 1px; }
-div.longtable{text-align:center;}
-/* end css.sty */
diff --git a/Master/texmf-dist/source/latex/hyperref/nameref.dtx b/Master/texmf-dist/source/latex/hyperref/nameref.dtx
index e2c7445b00f..92f6d6b2af5 100644
--- a/Master/texmf-dist/source/latex/hyperref/nameref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/nameref.dtx
@@ -1,10 +1,7 @@
-\def\filedate{2003/12/03}
-\def\fileversion{2.21}
-%
% \iffalse
% File: nameref.dtx
% Copyright (C) 1995-9 Sebastian Rahtz
-% 2000-3 Sebastian Rahtz, Heiko Oberdiek
+% 2000-6 Sebastian Rahtz, Heiko Oberdiek
%
%% This file is part of the `Hyperref Bundle'.
%% -------------------------------------------
@@ -18,9 +15,28 @@
%%
%% The list of all files belonging to the `Hyperref Bundle' is
%% given in the file `manifest.txt'.
+%
+%<*dtx>
+\ProvidesFile{nameref.dtx}
+%</dtx>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{nameref}
+%<driver>\ProvidesFile{nameref.drv}
+% \fi
+% \ProvidesFile{nameref.dtx}
+ [2006/08/15 v2.26 Cross-referencing by name of section]
+%
+% \CheckSum{487}
+%
+% \iffalse
%<*driver>
\documentclass{ltxdoc}
+\IfFileExists{bmhydoc.sty}{\usepackage{bmhydoc}}{}
+\usepackage[numbered]{hypdoc}
+\EnableCrossrefs
+\CodelineIndex
\begin{document}
+ \GetFileInfo{nameref.sty}
\title{%
Section name references in \LaTeX
\thanks{%
@@ -31,31 +47,42 @@
\author{Sebastian Rahtz}
\date{\filedate}
\maketitle
+ \makeatletter
+ \@ifundefined{HyperrefOverview}{}{%
+ \HyperrefOverview*%
+ }%
\tableofcontents
\DocInput{nameref.dtx}
+ \PrintIndex
\end{document}
%</driver>
% \fi
-% \CheckSum{463}
+%
% \StopEventually{}
+%
% \section{Introduction}
% Cross-referencing to include the \emph{name} of the section, rather than
% just the number or page. This works by redefining some of the inside
% \LaTeX\ macros, so it is vulnerable to future changes.
% \section{History}
-% Sebastian Rahtz, for Lou Burnard, March 15th 1994;
-% SPQR CERN July 1994;
-% Last mod. Sept. 3th MG;
-% Sept. 19th SPQR;
-% April 11th 1995 SPQR (added section formatting hook);
-% April 14th 1995 SPQR (compatibility with hyperref);
-% June 22 1995 SPQR (removed typeout from Sectionformat);
-% September 22 1997 added varioref hacks by Corey Minyard;
-% September 28th changes by David Carlisle.
+% Sebastian Rahtz, for Lou Burnard, March 15th 1994;\\
+% SPQR CERN July 1994;\\
+% Last mod. Sept. 3th MG;\\
+% Sept. 19th SPQR;\\
+% April 11th 1995 SPQR (added section formatting hook);\\
+% April 14th 1995 SPQR (compatibility with hyperref);\\
+% June 22 1995 SPQR (removed typeout from Sectionformat);\\
+% September 22 1997 added varioref hacks by Corey Minyard;\\
+% September 28th changes by David Carlisle.\\
+% More recent changes are recorded in ChangeLog.
+%
+% \section{Implementation}
% \begin{macrocode}
%<*package>
-\ProvidesPackage{nameref}[\filedate\space v\fileversion
- \space Cross-referencing by name of section]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage{refcount}[2006/02/12]
% \end{macrocode}
%
% We redefine |\label| so that it also writes the name of the
@@ -67,6 +94,8 @@
\def\strip@period#1.\relax#2\@@@{#1}
% \end{macrocode}
%
+% \subsection{\cs{label} stuff}
+%
% Here is tested, whether package showkeys is loaded.
% But if option final is used, the macros of showkeys
% are not defined, so we have to check an additional
@@ -176,6 +205,9 @@
}%
\endgroup}
% \end{macrocode}
+%
+% \subsection{Changes of section macros}
+%
% Add to the underlying section heading macros so that they
% note the section name for use by label.
%
@@ -223,6 +255,16 @@
}
% \end{macrocode}
%
+% Captions
+%
+% \begin{macrocode}
+\let\NR@@caption\@caption
+\long\def\@caption#1[#2]{%
+ \def\@currentlabelname{#2}%
+ \NR@@caption{#1}[{#2}]%
+}
+% \end{macrocode}
+%
% Compatibility for package titlesec.
% \begin{macrocode}
\AtBeginDocument{%
@@ -236,6 +278,8 @@
}
% \end{macrocode}
%
+% \subsection{Referencing stuff}
+%
% We default the label and hypertext reference to be empty.
% \begin{macrocode}
\def\@currentlabelname{}
@@ -260,15 +304,24 @@
% \begin{macrocode}
\providecommand*\@safe@activestrue{}%
\providecommand*\@safe@activesfalse{}%
+\def\NR@setref#1{%
+ \begingroup
+ \@safe@activestrue
+ \expandafter
+ \endgroup
+ \expandafter\NR@@setref\csname r@#1\endcsname
+}
+\def\NR@@setref#1{%
+ \ifx\@undefined#1%
+ \let#1\relax
+ \fi
+ \@setref#1%
+}
\def\T@ref#1{%
- \@safe@activestrue
- \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
- \@safe@activesfalse
+ \NR@setref{#1}\@firstoffive{#1}%
}%
\def\T@pageref#1{%
- \@safe@activestrue
- \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
- \@safe@activesfalse
+ \NR@setref{#1}\@secondoffive{#1}%
}%
\ifNR@showkeys
\ifx\SK@ref\@empty
@@ -276,14 +329,14 @@
\def\T@ref#1{%
\@safe@activestrue
\SK@\SK@@ref{#1}%
- \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
\@safe@activesfalse
+ \NR@setref{#1}\@firstoffive{#1}%
}%
\def\T@pageref#1{%
\@safe@activestrue
\SK@\SK@@ref{#1}%
- \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
\@safe@activesfalse
+ \NR@setref{#1}\@secondoffive{#1}%
}%
\fi
\fi
@@ -300,13 +353,12 @@
\DeclareRobustCommand{\pageref}{\T@pageref}%
}
% \end{macrocode}
-% \section{Usage and frontend}
+%
+% \subsection{Usage and frontend}
% Access the (third) name part with |\nameref|;
% \begin{macrocode}
\def\T@nameref#1{%
- \@safe@activestrue
- \expandafter\@setref\csname r@#1\endcsname\@thirdoffive{#1}%
- \@safe@activesfalse
+ \NR@setref{#1}\@thirdoffive{#1}%
}%
\ifNR@showkeys
\ifx\SK@ref\@empty
@@ -314,8 +366,8 @@
\def\T@nameref#1{%
\@safe@activestrue
\SK@\SK@@ref{#1}%
- \expandafter\@setref\csname r@#1\endcsname\@thirdoffive{#1}%
\@safe@activesfalse
+ \NR@setref{#1}\@thirdoffive{#1}%
}%
\fi
\fi
@@ -330,7 +382,36 @@
% \begin{macrocode}
\providecommand\Sectionformat[2]{#1}
% \end{macrocode}
+%
+% \subsection{Package ifthen support}
+%
+% Package ifthen's \cmd{\isodd} does not work with
+% \cmd{\pageref} because of the extra link and the
+% star form. Therefore we need an expandable variant.
+%
+% Unfortunately there is no hook in \cmd{\ifthenelse} in order
+% to provide expandable versions without link of \cmd{\ref}
+% and \cmd{\pageref}. As possible target I could only find
+% \cmd{\begingroup}:
+% \begin{macrocode}
+\@ifpackageloaded{ifthen}{%
+ \let\NROrg@ifthenelse\ifthenelse
+ \def\ifthenelse{%
+ \let\begingroup\NR@TE@begingroup
+ \NROrg@ifthenelse
+ }%
+ \let\NROrg@begingroup\begingroup
+ \def\NR@TE@begingroup{%
+ \let\begingroup\NROrg@begingroup
+ \begingroup
+ \def\ref##1{\getrefbykeydefault{##1}{}{??}}%
+ \def\pageref##1{\getrefbykeydefault{##1}{page}{0}}%
+ }%
+}{}
+% \end{macrocode}
+%
% \subsection{Compatibility with varioref}
+%
% [This section was derived by Corey Minyard \texttt{minyard@acm.org}
% from the varioref package]
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/Makefile b/Master/texmf-dist/source/latex/hyperref/test/Makefile
new file mode 100644
index 00000000000..8b39cd2ecb2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/Makefile
@@ -0,0 +1,5 @@
+all:
+ (for i in test*.tex; do pdflatex $$i;pdflatex $$i; done)
+
+clean:
+ -rm test*pdf *.aux *.log *.toc *.lof *.lot *.idx *.ind *.out
diff --git a/Master/texmf-dist/source/latex/hyperref/test/bit.tex b/Master/texmf-dist/source/latex/hyperref/test/bit.tex
new file mode 100644
index 00000000000..9e5b4fedbaf
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/bit.tex
@@ -0,0 +1,2 @@
+sssssssss
+\newpage
diff --git a/Master/texmf-dist/source/latex/hyperref/test/bml.png b/Master/texmf-dist/source/latex/hyperref/test/bml.png
new file mode 100644
index 00000000000..ad526156bb0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/bml.png
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/bmoe.png b/Master/texmf-dist/source/latex/hyperref/test/bmoe.png
new file mode 100644
index 00000000000..faa115cf772
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/bmoe.png
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/bmsc.png b/Master/texmf-dist/source/latex/hyperref/test/bmsc.png
new file mode 100644
index 00000000000..0990c5fe85c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/bmsc.png
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/bmyi.png b/Master/texmf-dist/source/latex/hyperref/test/bmyi.png
new file mode 100644
index 00000000000..8e7e1ecb472
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/bmyi.png
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/bmzc.png b/Master/texmf-dist/source/latex/hyperref/test/bmzc.png
new file mode 100644
index 00000000000..a1652a85eae
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/bmzc.png
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/hog.eps b/Master/texmf-dist/source/latex/hyperref/test/hog.eps
new file mode 100644
index 00000000000..7e685f8b489
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/hog.eps
@@ -0,0 +1,463 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: h.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 1a
+%%CreationDate: Mon Jul 19 12:28:51 1999
+%%For: rahtz@spqr (Sebastian Rahtz,,,)
+%%Orientation: Portrait
+%%BoundingBox: 0 0 251 213
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%Magnification: 1.0000
+%%EndComments
+/MyAppDict 100 dict dup begin def
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-191.0 342.0 translate
+1 -1 scale
+.9 .9 scale % to make patterns same scale as in xfig
+
+% This junk string is used by the show operators
+/PATsstr 1 string def
+/PATawidthshow { % cx cy cchar rx ry string
+ % Loop over each character in the string
+ { % cx cy cchar rx ry char
+ % Show the character
+ dup % cx cy cchar rx ry char char
+ PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char)
+ false charpath % cx cy cchar rx ry char
+ /clip load PATdraw
+ % Move past the character (charpath modified the
+ % current point)
+ currentpoint % cx cy cchar rx ry char x y
+ newpath
+ moveto % cx cy cchar rx ry char
+ % Reposition by cx,cy if the character in the string is cchar
+ 3 index eq { % cx cy cchar rx ry
+ 4 index 4 index rmoveto
+ } if
+ % Reposition all characters by rx ry
+ 2 copy rmoveto % cx cy cchar rx ry
+ } forall
+ pop pop pop pop pop % -
+ currentpoint
+ newpath
+ moveto
+} bind def
+/PATcg {
+ 7 dict dup begin
+ /lw currentlinewidth def
+ /lc currentlinecap def
+ /lj currentlinejoin def
+ /ml currentmiterlimit def
+ /ds [ currentdash ] def
+ /cc [ currentrgbcolor ] def
+ /cm matrix currentmatrix def
+ end
+} bind def
+% PATdraw - calculates the boundaries of the object and
+% fills it with the current pattern
+/PATdraw { % proc
+ save exch
+ PATpcalc % proc nw nh px py
+ 5 -1 roll exec % nw nh px py
+ newpath
+ PATfill % -
+ restore
+} bind def
+% PATfill - performs the tiling for the shape
+/PATfill { % nw nh px py PATfill -
+ PATDict /CurrentPattern get dup begin
+ setfont
+ % Set the coordinate system to Pattern Space
+ PatternGState PATsg
+ % Set the color for uncolored pattezns
+ PaintType 2 eq { PATDict /PColor get PATsc } if
+ % Create the string for showing
+ 3 index string % nw nh px py str
+ % Loop for each of the pattern sources
+ 0 1 Multi 1 sub { % nw nh px py str source
+ % Move to the starting location
+ 3 index 3 index % nw nh px py str source px py
+ moveto % nw nh px py str source
+ % For multiple sources, set the appropriate color
+ Multi 1 ne { dup PC exch get PATsc } if
+ % Set the appropriate string for the source
+ 0 1 7 index 1 sub { 2 index exch 2 index put } for pop
+ % Loop over the number of vertical cells
+ 3 index % nw nh px py str nh
+ { % nw nh px py str
+ currentpoint % nw nh px py str cx cy
+ 2 index show % nw nh px py str cx cy
+ YStep add moveto % nw nh px py str
+ } repeat % nw nh px py str
+ } for
+ 5 { pop } repeat
+ end
+} bind def
+
+% PATkshow - kshow with the current pattezn
+/PATkshow { % proc string
+ exch bind % string proc
+ 1 index 0 get % string proc char
+ % Loop over all but the last character in the string
+ 0 1 4 index length 2 sub {
+ % string proc char idx
+ % Find the n+1th character in the string
+ 3 index exch 1 add get % string proe char char+1
+ exch 2 copy % strinq proc char+1 char char+1 char
+ % Now show the nth character
+ PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr)
+ false charpath % string proc char+1 char char+1
+ /clip load PATdraw
+ % Move past the character (charpath modified the current point)
+ currentpoint newpath moveto
+ % Execute the user proc (should consume char and char+1)
+ mark 3 1 roll % string proc char+1 mark char char+1
+ 4 index exec % string proc char+1 mark...
+ cleartomark % string proc char+1
+ } for
+ % Now display the last character
+ PATsstr dup 0 4 -1 roll put % string proc (char+1)
+ false charpath % string proc
+ /clip load PATdraw
+ neewath
+ pop pop % -
+} bind def
+% PATmp - the makepattern equivalent
+/PATmp { % patdict patmtx PATmp patinstance
+ exch dup length 7 add % We will add 6 new entries plus 1 FID
+ dict copy % Create a new dictionary
+ begin
+ % Matrix to install when painting the pattern
+ TilingType PATtcalc
+ /PatternGState PATcg def
+ PatternGState /cm 3 -1 roll put
+ % Check for multi pattern sources (Level 1 fast color patterns)
+ currentdict /Multi known not { /Multi 1 def } if
+ % Font dictionary definitions
+ /FontType 3 def
+ % Create a dummy encoding vector
+ /Encoding 256 array def
+ 3 string 0 1 255 {
+ Encoding exch dup 3 index cvs cvn put } for pop
+ /FontMatrix matrix def
+ /FontBBox BBox def
+ /BuildChar {
+ mark 3 1 roll % mark dict char
+ exch begin
+ Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata]
+ PaintType 2 eq Multi 1 ne or
+ { XStep 0 FontBBox aload pop setcachedevice }
+ { XStep 0 setcharwidth } ifelse
+ currentdict % mark [paintdata] dict
+ /PaintProc load % mark [paintdata] dict paintproc
+ end
+ gsave
+ false PATredef exec true PATredef
+ grestore
+ cleartomark % -
+ } bind def
+ currentdict
+ end % newdict
+ /foo exch % /foo newlict
+ definefont % newfont
+} bind def
+% PATpcalc - calculates the starting point and width/height
+% of the tile fill for the shape
+/PATpcalc { % - PATpcalc nw nh px py
+ PATDict /CurrentPattern get begin
+ gsave
+ % Set up the coordinate system to Pattern Space
+ % and lock down pattern
+ PatternGState /cm get setmatrix
+ BBox aload pop pop pop translate
+ % Determine the bounding box of the shape
+ pathbbox % llx lly urx ury
+ grestore
+ % Determine (nw, nh) the # of cells to paint width and height
+ PatHeight div ceiling % llx lly urx qh
+ 4 1 roll % qh llx lly urx
+ PatWidth div ceiling % qh llx lly qw
+ 4 1 roll % qw qh llx lly
+ PatHeight div floor % qw qh llx ph
+ 4 1 roll % ph qw qh llx
+ PatWidth div floor % ph qw qh pw
+ 4 1 roll % pw ph qw qh
+ 2 index sub cvi abs % pw ph qs qh-ph
+ exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph
+ % Determine the starting point of the pattern fill
+ %(px, py)
+ 4 2 roll % nw nh pw ph
+ PatHeight mul % nw nh pw py
+ exch % nw nh py pw
+ PatWidth mul exch % nw nh px py
+ end
+} bind def
+
+% Save the original routines so that we can use them later on
+/oldfill /fill load def
+/oldeofill /eofill load def
+/oldstroke /stroke load def
+/oldshow /show load def
+/oldashow /ashow load def
+/oldwidthshow /widthshow load def
+/oldawidthshow /awidthshow load def
+/oldkshow /kshow load def
+
+% These defs are necessary so that subsequent procs don't bind in
+% the originals
+/fill { oldfill } bind def
+/eofill { oldeofill } bind def
+/stroke { oldstroke } bind def
+/show { oldshow } bind def
+/ashow { oldashow } bind def
+/widthshow { oldwidthshow } bind def
+/awidthshow { oldawidthshow } bind def
+/kshow { oldkshow } bind def
+/PATredef {
+ MyAppDict begin
+ {
+ /fill { /clip load PATdraw newpath } bind def
+ /eofill { /eoclip load PATdraw newpath } bind def
+ /stroke { PATstroke } bind def
+ /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
+ /ashow { 0 0 null 6 3 roll PATawidthshow }
+ bind def
+ /widthshow { 0 0 3 -1 roll PATawidthshow }
+ bind def
+ /awidthshow { PATawidthshow } bind def
+ /kshow { PATkshow } bind def
+ } {
+ /fill { oldfill } bind def
+ /eofill { oldeofill } bind def
+ /stroke { oldstroke } bind def
+ /show { oldshow } bind def
+ /ashow { oldashow } bind def
+ /widthshow { oldwidthshow } bind def
+ /awidthshow { oldawidthshow } bind def
+ /kshow { oldkshow } bind def
+ } ifelse
+ end
+} bind def
+false PATredef
+% Conditionally define setcmykcolor if not available
+/setcmykcolor where { pop } {
+ /setcmykcolor {
+ 1 sub 4 1 roll
+ 3 {
+ 3 index add neg dup 0 lt { pop 0 } if 3 1 roll
+ } repeat
+ setrgbcolor - pop
+ } bind def
+} ifelse
+/PATsc { % colorarray
+ aload length % c1 ... cn length
+ dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
+ } ifelse } ifelse
+} bind def
+/PATsg { % dict
+ begin
+ lw setlinewidth
+ lc setlinecap
+ lj setlinejoin
+ ml setmiterlimit
+ ds aload pop setdash
+ cc aload pop setrgbcolor
+ cm setmatrix
+ end
+} bind def
+
+/PATDict 3 dict def
+/PATsp {
+ true PATredef
+ PATDict begin
+ /CurrentPattern exch def
+ % If it's an uncolored pattern, save the color
+ CurrentPattern /PaintType get 2 eq {
+ /PColor exch def
+ } if
+ /CColor [ currentrgbcolor ] def
+ end
+} bind def
+% PATstroke - stroke with the current pattern
+/PATstroke {
+ countdictstack
+ save
+ mark
+ {
+ currentpoint strokepath moveto
+ PATpcalc % proc nw nh px py
+ clip newpath PATfill
+ } stopped {
+ (*** PATstroke Warning: Path is too complex, stroking
+ with gray) =
+ cleartomark
+ restore
+ countdictstack exch sub dup 0 gt
+ { { end } repeat } { pop } ifelse
+ gsave 0.5 setgray oldstroke grestore
+ } { pop restore pop } ifelse
+ newpath
+} bind def
+/PATtcalc { % modmtx tilingtype PATtcalc tilematrix
+ % Note: tiling types 2 and 3 are not supported
+ gsave
+ exch concat % tilingtype
+ matrix currentmatrix exch % cmtx tilingtype
+ % Tiling type 1 and 3: constant spacing
+ 2 ne {
+ % Distort the pattern so that it occupies
+ % an integral number of device pixels
+ dup 4 get exch dup 5 get exch % tx ty cmtx
+ XStep 0 dtransform
+ round exch round exch % tx ty cmtx dx.x dx.y
+ XStep div exch XStep div exch % tx ty cmtx a b
+ 0 YStep dtransform
+ round exch round exch % tx ty cmtx a b dy.x dy.y
+ YStep div exch YStep div exch % tx ty cmtx a b c d
+ 7 -3 roll astore % { a b c d tx ty }
+ } if
+ grestore
+} bind def
+/PATusp {
+ false PATredef
+ PATDict begin
+ CColor PATsc
+ end
+} bind def
+
+% right45
+11 dict begin
+/PaintType 1 def
+/PatternType 1 def
+/TilingType 1 def
+/BBox [0 0 1 1] def
+/XStep 1 def
+/YStep 1 def
+/PatWidth 1 def
+/PatHeight 1 def
+/Multi 2 def
+/PaintData [
+ { clippath } bind
+ { 32 32 true [ 32 0 0 -32 0 32 ]
+ {<010101010202020204040404080808081010101020202020
+ 404040408080808001010101020202020404040408080808
+ 101010102020202040404040808080800101010102020202
+ 040404040808080810101010202020204040404080808080
+ 010101010202020204040404080808081010101020202020
+ 4040404080808080>}
+ imagemask } bind
+] def
+/PaintProc {
+ pop
+ exec fill
+} def
+currentdict
+end
+/P5 exch def
+1.1111 1.1111 scale %restore scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+ /DrawEllipse {
+ /endangle exch def
+ /startangle exch def
+ /yrad exch def
+ /xrad exch def
+ /y exch def
+ /x exch def
+ /savematrix mtrx currentmatrix def
+ x y tr xrad yrad sc 0 0 1 startangle endangle arc
+ closepath
+ savematrix setmatrix
+ } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n -1000 6429 m -1000 -1000 l 8005 -1000 l 8005 6429 l cp clip n
+ 0.06299 0.06299 sc
+% Polyline
+7.500 slw
+n 3060 2070 m 6975 2070 l 6975 5400 l 3060 5400 l cp gs /PC [[0.00 0.82 0.00] [0.00 0.00 0.00]] def
+15.00 15.00 sc P5 [16 0 0 -16 204.00 138.00] PATmp PATsp ef gr PATusp gs col0 s gr
+/Times-Roman ff 420.00 scf sf
+3330 2880 m
+gs 1 -1 sc (Hogwarts) col6 sh gr
+45.000 slw
+% Ellipse
+n 5760 4410 1215 990 0 360 DrawEllipse gs col5 1.00 shd ef gr gs col11 s gr
+
+$F2psEnd
+rs
+end
diff --git a/Master/texmf-dist/source/latex/hyperref/test/hog.pdf b/Master/texmf-dist/source/latex/hyperref/test/hog.pdf
new file mode 100644
index 00000000000..c298340675d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/hog.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/phys1.jpg b/Master/texmf-dist/source/latex/hyperref/test/phys1.jpg
new file mode 100644
index 00000000000..7a30e6019dd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/phys1.jpg
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/phys2.jpg b/Master/texmf-dist/source/latex/hyperref/test/phys2.jpg
new file mode 100644
index 00000000000..98d503f3de1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/phys2.jpg
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/picture.eps b/Master/texmf-dist/source/latex/hyperref/test/picture.eps
new file mode 100644
index 00000000000..0be39ee9b1d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/picture.eps
@@ -0,0 +1,311 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%PDFready: TeXUtil 6.5 - ConTeXt / PRAGMA 1992-1998
+%%BoundingBox: 0 0 36 34
+<< /PageSize [36 34] >> setpagedevice
+gsave -44 -525 translate
+%%Creator: COREL DRAW
+%%Title: CAT.TMP
+%%CreationDate: Sat Jan 18 17:29:05 1992
+
+%%DocumentFonts:
+%%EndComments
+%%BeginProlog
+% -------------- POSTSCRIPT PROLOG FOR CORELDRAW 2.X ------
+% Copyright Corel Systems Corporation 1990
+/AutoFlatness 0 def/wCorelDict 300 dict def
+wCorelDict begin/bd{bind def}bind def/ld{load def}bd
+/xd{exch def}bd/_ null def/$c 0 def/$m 0 def
+/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def
+/$fil 0 def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def
+/$T 1 def/$N _ def/$O 0 def/$PF false def
+/$pan 0 def/$h false def/$al 0 def/$tr 0 def
+/$le 0 def/$lx 0 def/$ly 0 def/$ctm matrix currentmatrix def
+/$ptm matrix def/$ttm matrix def/$stm matrix def
+/$skm matrix def/$fst 128 def/$pad 0 def/$rox 0 def
+/$roy 0 def currentscreen/@dsp xd/$dsp/@dsp def
+/$dsa xd/$dsf xd/$sdf false def/$SDF false def
+/$Scra 0.0 def statusdict/pageparams known{statusdict begin
+pageparams end 1 ne{/$Scra -90.0 def}if pop pop pop}if
+/$sv 0 def/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld
+/@np/newpath ld/@sv{/$sv save def}bd/@rs{$sv restore}bd
+/@ss{load setscreen}bd AutoFlatness 1 eq{/$cpx ([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator;\n) def
+/@err1{$cpx print flush newpath}bd/@ifl{currentflat dup 10 gt{pop @err1 exit}if 2 add setflat}bd
+/@fill/fill ld/fill{currentflat{{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd
+/@eofill/eofill ld/eofill{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd
+/@clip/clip ld/clip{currentflat{{@clip}stopped{initclip @ifl}{exit}ifelse}bind loop setflat}bd
+/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{initclip @ifl}{exit}ifelse}bind loop setflat}bd
+/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped{@ifl}{exit}ifelse}bind loop setflat}bd
+}if/InRange{3 -1 roll 2 copy le{pop}{exch pop}ifelse
+2 copy ge{pop}{exch pop}ifelse}bd/wDstChck{2 1 roll dup 3 -1 roll
+eq{1 add}if}bd/@dot{dup mul exch dup mul add 1 exch sub 2 div}bd
+/@lin{exch pop abs 1 exch sub}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd
+/setcmykcolor where{pop}{/setcmykcolor{4 1 roll
+3{3 index add 1 @MN 1 exch sub 3 1 roll}repeat
+setrgbcolor pop}bd}ifelse/colorimage where{pop}{/colorimage{/$ncl xd
+pop pop pop pop{currentfile $dat readhexstring pop}repeat
+pop}bd}ifelse/@tc{dup 1 ge{pop}{4{dup 6 -1 roll
+mul exch}repeat pop}ifelse}bd/@spc{7 2 roll
+ColorSeparationMode 1 eq{6 index @tc 0 4 $ink sub index
+exch pop}{5 index dup _ eq{pop 0 4 $ink sub index
+exch pop}{CurrentInkName eq{6 index}{0}ifelse}ifelse}ifelse
+5 1 roll 8 -2 roll 6{pop}repeat 1 exch sub dup setgray
+1 eq exch 1 eq and not}bd/@scc{$ink -1 eq
+{$c $m $y $k $t @tc setcmykcolor true}{$o $c $m $y $k $t $n @spc
+}ifelse}bd/@SCC{$ink -1 eq{$C $M $Y $K $T @tc setcmykcolor true}{
+$O $C $M $Y $K $T $N @spc}ifelse}bd/@sft{
+/$tx $tllx $pxf add dup $tllx gt{$pwid sub}if def
+/$ty $tury $pyf sub dup $tury lt{$phei add}if def}bd
+/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd
+/@ep{{cvx exec}forall}bd/@tp{@sv/$in true def
+2 copy dup $lly le{/$in false def}if $phei sub $ury ge{/$in false def}if
+dup $urx ge{/$in false def}if $pwid add $llx le{/$in false def}if
+$in{@np 2 copy moveto $pwid 0 rlineto 0 $phei neg rlineto
+$pwid neg 0 rlineto 0 $phei rlineto clip @np
+$pn cvlit load aload pop 7 -1 roll 5 index sub
+7 -1 roll 3 index sub translate/$ctm matrix currentmatrix def
+@ep pop pop pop pop}{pop pop}ifelse @rs}bd/@th{@sft
+0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid sub}{exit}ifelse
+}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul
+3 copy 3 -1 roll add exch @tp pop}for pop pop}for}bd
+/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul $tx add
+exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop
+0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for
+pop pop}for}bd/@pf{@gs $ctm setmatrix $pm concat
+@stb @gs ColorSeparationMode 0 eq{1 setgray eofill}{
+$o 0 0 0 0 0 (Black) @spc{eofill}if}ifelse
+@gr eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd
+Bbllx Bblly $pm itransform/$tlly xd/$tllx xd
+/$wid $turx $tllx sub def/$hei $tury $tlly sub def
+$wid 0 gt $hei 0 gt and{$pn cvlit load aload pop
+/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd
+/$tlx $wid $pwid div ceiling 1 add def/$tly $hei $phei div ceiling 1 add def
+$psx 0 eq{@tv}{@th}ifelse}if @gr @np}bd/@dlt{ColorSeparationMode 0 eq{
+/$dc $toc $tot mul $frc $frt mul dup/$c xd sub $fst 1 sub div def
+/$dm $tom $tot mul $frm $frt mul dup/$m xd sub $fst 1 sub div def
+/$dy $toy $tot mul $fry $frt mul dup/$y xd sub $fst 1 sub div def
+/$dk $tok $tot mul $frk $frt mul dup/$k xd sub $fst 1 sub div def
+true}{$o $frc $frm $fry $frk $frt $frn @spc
+dup{/$frk 1 currentgray sub def}{/$frk 0 def}ifelse
+$o $toc $tom $toy $tok $tot $ton @spc dup{/$tok 1 currentgray sub def}
+{/$tok 0 def}ifelse or dup{/$c 0 def/$m 0 def/$y 0 def/$k $frk def
+/$dc 0 def/$dm 0 def/$dy 0 def/$dk $tok $frk sub $fst 1 sub div def}if
+}ifelse}bd/@ftl{1 index 4 index sub dup $pad mul dup/$pdw xd
+2 mul sub $fst div/$wid xd 2 index sub/$hei xd
+pop translate $c $m $y $k 4 copy ColorSeparationMode 0 ne
+{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse
+0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill
+$pdw 0 translate $fst{4 copy ColorSeparationMode 0 ne
+{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse
+0 0 moveto 0 $hei lineto $wid $hei lineto $wid 0 lineto 0 0 lineto fill
+$wid 0 translate $dk add 4 1 roll $dy add 4 1 roll
+$dm add 4 1 roll $dc add 4 1 roll}repeat $dk sub 4 1 roll
+$dy sub 4 1 roll $dm sub 4 1 roll $dc sub 4 1 roll
+ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop}
+{setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill
+}bd/@ftr{1 index 4 index sub dup $rox mul/$row xd
+2 div 1 index 4 index sub dup $roy mul/$roh xd
+2 div 2 copy dup mul exch dup mul add sqrt
+$row dup mul $roh dup mul add sqrt add dup/$hei xd $fst div/$wid xd
+4 index add $roh add exch 5 index add $row add
+exch translate pop pop pop pop currentflat 5 mul setflat
+$c $m $y $k 4 copy ColorSeparationMode 0 ne
+{1 exch sub setgray pop pop pop}{setcmykcolor}ifelse
+$wid 0 moveto 0 0 $hei 0 360 arc fill 1.0 $pad 2 mul sub dup scale
+$fst{4 copy ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop}
+{setcmykcolor}ifelse $wid 0 moveto 0 0 $hei 0 360 arc fill
+/$hei $hei $wid sub def $dk add 4 1 roll $dy add 4 1 roll
+$dm add 4 1 roll $dc add 4 1 roll}repeat pop pop pop pop}bd
+/@ff{@gs @dlt{$ctm setmatrix eoclip newpath Bbllx Bblly moveto
+Bbllx Bbury lineto Bburx Bbury lineto Bburx Bblly lineto
+$fan rotate pathbbox newpath $fty 1 eq{@ftr}{@ftl}ifelse}if
+@gr @np}bd/@Pf{@sv ColorSeparationMode 0 eq $ink 3 eq or{$ctm setmatrix
+72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform
+ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform
+floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop
+$Psn load exec}{1 setgray eofill}ifelse @rs
+@np}bd/@ftx{{(0) dup 3 -1 roll 0 exch put
+@gs true charpath currentpoint $ctm setmatrix
+@@txt @gr @np moveto $tr 0 rmoveto}forall pop}bd
+/@sm{/$ctm $ctm currentmatrix def}bd/@lorg{$lx $ly moveto
+/$ly $ly $le sub def}bd/@ft{matrix currentmatrix 3 1 roll
+$sdf{$scf $sca $scp @ss}if $fil 1 eq{/@@txt/@pf ld @ftx}{$fil 2 eq
+{/@@txt/@ff ld @ftx}{$fil 3 eq{/@@txt/@Pf ld @ftx}{@scc
+{dup $tr exch 0 exch ashow}if pop pop}ifelse}ifelse}ifelse
+$sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/@st{
+matrix currentmatrix 3 1 roll $SDF{$SCF $SCA $SCP @ss}if
+@SCC{{(0) dup 3 -1 roll 0 exch put @gs true charpath currentpoint
+$ctm setmatrix $ptm concat stroke @gr moveto $tr 0 rmoveto}forall
+pop}{pop pop}ifelse $SDF{$dsf $dsa $dsp @ss}if
+setmatrix}bd/@pt{dup length exch}bd/@te{@pt
+@lorg @ft cleartomark [}bd/@tr{@pt @lorg @st cleartomark [}bd
+/@ta{@pt @lorg 2 copy @gs @ft @gr @st cleartomark [}bd
+/@t@a{@pt @lorg 2 copy @gs @st @gr @ft cleartomark [}bd
+/g{1 exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def
+}bd/G{1 exch sub/$K xd/$C 0 def/$M 0 def/$Y 0 def/$T 1 def/$N _ def}bd
+/k{/$k xd/$y xd/$m xd/$c xd/$t 1 def/$n _ def/$fil 0 def}bd
+/K{/$K xd/$Y xd/$M xd/$C xd/$T 1 def/$N _ def}bd
+/x{1 exch sub/$t xd/$n xd/$k xd/$y xd/$m xd/$c xd/$fil 0 def}bd
+/X{1 exch sub/$T xd/$N xd/$K xd/$Y xd/$M xd/$C xd}bd
+/d/setdash ld/i{dup 0 ne{setflat}{pop}ifelse}bd
+/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit ld
+/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd
+/c/curveto ld/C/c ld/v{4 -2 roll 2 copy 6 -2 roll curveto}bd
+/V/v ld/y{2 copy curveto}bd/Y/y ld/l/lineto ld
+/L/l ld/m/moveto ld/n/newpath ld/N/newpath ld
+/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if
+$fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{@scc{eofill}{@np}ifelse
+}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if
+setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix
+$ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if @SCC{$skm currentmatrix
+$ptm concat stroke setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if
+setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd
+/W{eoclip}bd/p{/$pm xd 7{pop}repeat/$pyf xd/$pxf xd
+/$pn xd/$fil 1 def}bd/P{11{pop}repeat}bd/z{/$al xd
+/$tr xd/$le xd exch findfont exch scalefont setfont}bd
+/Z{dup type 0 type eq{/$bDir xd}if findfont
+dup maxlength 1 add dict exch dup{1 index/FID ne{3 index
+3 1 roll put}{pop pop}ifelse}forall pop dup dup/Encoding get
+256 array copy dup/$fe xd/Encoding exch put
+dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{
+dup type 0 type eq{exch pop}{$fe exch 2 index exch put
+1 add}ifelse}forall pop}if definefont pop}bd
+/e{@sm concat [/t{@te}def}bd/r{@sm concat [/t{@tr}def}bd
+/o{@sm concat [/t{pop}def}bd/a{@sm concat [/t{@ta}def}bd
+/t{@te}def/T{cleartomark @np/$lx 0 def/$ly 0 def
+$ctm setmatrix/$ttm matrix def}bd/u{}bd/U{}bd
+/A{pop}bd/H{/$h true def}bd/h{@cp H}bd/q/@gs ld
+/Q/@gr ld/E{5 array astore exch cvlit exch def}bd
+/`{}bd/~{}bd/@{}bd/&{}bd/CorelDrawRencodeVect [
+16#80/grave/circumflex/tilde/dotlessi/florin/quotedblleft/quotedblright/guilsinglleft
+16#88/guilsinglright/fi/fl/dagger/daggerdbl/endash/periodcentered/breve
+16#90/quotedblbase/ellipsis/perthousand/trademark/Pt/fractionbar
+16#98/divide 16#a1/exclamdown/cent/sterling/currency/yen/bar/section
+16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/emdash/registered/overbar
+16#b0/ring/plusminus/twosuperior/threesuperior/acute/mu/paragraph/bullet
+16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
+16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/OE
+16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
+16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
+16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe
+16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis
+] def/@cc{currentfile $dat readhexstring pop}bd
+/@ii{concat 3 index 3 index m 3 index 1 index l
+2 copy l 1 index 3 index l 3 index 3 index l
+clip pop pop pop pop}bd/@E{/Bbury xd/Bburx xd
+/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def
+/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd/$pn xd}bd
+/@P{/$fil 3 def/$Psn xd array astore/$Prm xd}bd
+/@k{/$fil 2 def/$roy xd/$rox xd/$pad xd/$fty xd/$fan xd
+$fty 1 eq{/$fan 0 def}if/$tok xd/$toy xd/$tom xd/$toc xd
+/$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def/$ton _ def/$tot 1 def
+}bd/@x{/$fil 2 def/$roy xd/$rox xd/$pad xd
+/$fty xd/$fan xd 1 exch sub/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd/$toc xd
+1 exch sub/$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd}bd
+/@i{@sm @gs @ii 5 index 1 ne{@gs 1 g F @gr}if
+1 eq 5 index 1 eq and{@gs $ctm setmatrix F @gr}if
+@np/$ury xd/$urx xd/$lly xd/$llx xd/$bts xd
+/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string def
+$bts 1 eq{@SCC/$frg xd}{1 G @SCC/$frg xd}ifelse
+$frg{$SDF{$SCF $SCA $SCP @ss}if $llx $lly translate
+$urx $llx sub $ury $lly sub scale $wid $hei abs
+$bts 1 eq{false}{$bts}ifelse [ $wid 0 0 $hei neg 0
+$hei 0 gt{$hei}{0}ifelse]/@cc load $bts 1 eq{imagemask}{image}ifelse
+$SDF{$dsf $dsa $dsp @ss}if}{$hei{@cc pop}repeat}ifelse
+@gr $ctm setmatrix}def/@M {@sv}bd/@N{/@cc{}def
+12 -1 roll neg 12 1 roll @i @rs}bd/@I{@sm @gs
+@ii @np/$ury xd/$urx xd/$lly xd/$llx xd/$ncl xd
+/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi string def
+$llx $lly translate $urx $llx sub $ury $lly sub scale
+$wid $hei $bts [ $wid 0 0 $hei neg 0 $hei]/@cc load
+false $ncl colorimage @gr $ctm setmatrix}bd
+/@t{/$lx 0 def/$ly 0 def/$stm $stm currentmatrix def
+3 1 roll translate $ttm concat 1 exch t $stm setmatrix}def
+/@n{/$ttm exch matrix rotate def}bd/@z{ exch findfont exch scalefont setfont
+}bd/@s{}bd/@l{}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd
+/@a{@sm concat [/t{@t@a}def}bd/@w{5 2 roll dup/$pan xd
+matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix/$ptm xd
+1 eq{$ptm exch dup concatmatrix/$ptm xd}{pop}ifelse
+1 w}bd/@g{1 eq dup/$sdf xd{/$scp xd/$sca xd
+/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd
+/$SCA xd/$SCF xd}if}bd/@D{3 copy @ss/$dsp xd
+/$dsa xd/$dsf xd}bd/@j{@sv @np}bind def/@J{@rs}bind def
+/@sep{/ColorSeparationMode where{pop}{/ColorSeparationMode 0 def
+/CurrentInkName (Composite) def}ifelse ColorSeparationMode 0 eq
+{/CurrentInkName (Composite) def}if/CurrentInkName where{pop}{
+/CurrentInkName (Composite) def}ifelse CurrentInkName (Composite) eq{/$ink -1 def}
+{CurrentInkName (Cyan) eq{/$ink 0 def} {CurrentInkName (Magenta) eq{/$ink 1 def}
+{CurrentInkName (Yellow) eq{/$ink 2 def} {CurrentInkName (Black) eq{/$ink 3 def}
+{/$ink 4 def}ifelse}ifelse}ifelse}ifelse}ifelse}bd
+@sep/@whi{@gs -72000 dup moveto -72000 72000 lineto
+72000 dup lineto 72000 -72000 lineto closepath 1 setgray fill
+@gr}bd/@neg{ [{1 exch sub}/exec cvx currenttransfer/exec cvx] cvx settransfer
+@whi}bd/@reg{[] 0 d 0 setgray .3 setlinewidth
+2 copy 5.4 0 360 arc closepath 2 copy moveto 9 0 rlineto
+2 copy moveto -9 0 rlineto 2 copy moveto 0 9 rlineto
+moveto 0 -9 rlineto stroke}bd/leftbracket{(\050)}def
+/rightbracket{(\051)}def
+
+%%EndProlog
+%%BeginSetup
+11.4737 setmiterlimit
+1.00 setflat
+/$fst 128 def
+
+%%EndSetup
+@sv
+/$ctm matrix currentmatrix def
+u
+%%Note: Object
+45.22 528.19 78.98 558.14 @E
+0 J 0 j [] 0 d 0 R 0 @G
+0.00 0.00 0.00 1.00 K
+1.01 1.01 0.00 [1.00000 0.00000 0.00000 1.00000 0.00000 0.00000] 0 @w
+%%CURV 106
+73.30 539.78 m
+73.08 538.42 72.22 537.26 71.78 536.33 C
+72.79 534.67 73.73 531.43 74.81 530.64 C
+74.59 530.64 77.04 528.84 73.87 529.06 C
+73.08 529.34 73.08 530.93 70.20 533.81 C
+69.70 533.74 70.56 530.57 71.50 529.63 c
+73.15 528.19 70.27 528.55 70.13 528.62 C
+68.98 529.34 68.62 534.60 67.03 536.26 c
+66.24 537.19 65.16 536.98 64.30 536.90 C
+63.22 536.62 60.62 537.19 60.55 534.02 C
+60.62 532.66 62.14 530.21 62.86 529.78 c
+65.30 528.41 62.06 528.34 61.70 528.77 C
+61.13 529.34 60.19 530.64 59.26 531.65 C
+57.74 532.44 56.38 533.66 56.02 534.96 C
+54.94 534.74 53.86 534.17 53.64 533.23 C
+53.42 532.22 53.86 531.58 54.86 530.14 C
+56.02 529.85 56.38 529.27 56.02 528.98 c
+55.87 528.84 53.71 528.62 53.57 528.91 C
+52.70 529.49 51.70 531.86 51.19 533.16 c
+50.90 533.88 49.97 535.82 51.55 537.77 C
+51.98 538.49 51.91 539.86 51.77 540.65 c
+51.55 541.94 51.55 542.74 52.42 544.46 C
+49.75 546.77 45.22 551.23 49.61 557.14 C
+50.11 557.64 51.55 558.14 50.76 556.27 C
+49.82 553.68 46.66 551.45 53.42 546.19 C
+54.50 546.91 58.97 546.48 60.48 546.19 c
+64.66 545.33 65.52 545.33 68.40 546.05 C
+68.76 546.19 68.83 547.99 70.34 549.22 C
+70.06 550.15 72.00 551.45 72.22 552.53 C
+72.65 553.39 73.66 550.73 73.66 550.66 C
+73.58 551.23 74.66 552.31 74.81 552.96 C
+75.74 553.25 75.10 550.94 75.89 549.50 c
+76.32 548.93 76.68 549.07 77.11 547.70 C
+77.47 546.34 78.98 545.18 76.54 543.89 c
+75.17 543.17 74.59 543.31 73.58 542.88 C
+73.58 542.23 73.51 540.79 73.30 539.78 c
+@c
+S
+U
+@rs
+%%Trailer
+ end
+grestore
+%%EOF
+%%RestOfFileIgnored: TeXUtil 6.5 - ConTeXt / PRAGMA 1992-1998
diff --git a/Master/texmf-dist/source/latex/hyperref/test/picture.pdf b/Master/texmf-dist/source/latex/hyperref/test/picture.pdf
new file mode 100644
index 00000000000..d175f9668ca
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/picture.pdf
@@ -0,0 +1,93 @@
+%PDF-1.2
+%Çì¢
+4 0 obj
+<</Length 5 0 R>>
+stream
+0.1 0 0 0.1 0 0 cm
+q
+1 i
+10.1 w
+11.4737 M
+293 147.8 m
+290.8 134.2 282.2 122.6 277.8 113.3 c
+287.9 96.6997 297.3 64.2998 308.1 56.4001 c
+305.9 56.4001 330.4 38.4001 298.7 40.5999 c
+290.8 43.4001 290.8 59.2998 262 88.0999 c
+257 87.3999 265.6 55.7 275 46.3 c
+291.5 31.8999 262.7 35.4998 261.3 36.2 c
+249.8 43.4001 246.2 95.9998 230.3 112.6 c
+222.4 121.9 211.6 119.8 203 119 c
+192.2 116.2 166.2 121.9 165.5 90.2002 c
+166.2 76.5996 181.4 52.1001 188.6 47.8003 c
+213 34.0996 180.6 33.4001 177 37.7002 c
+171.3 43.4001 161.9 56.4001 152.6 66.5002 c
+137.4 74.3999 123.8 86.5996 120.2 99.6001 c
+109.4 97.3999 98.5999 91.6997 96.3999 82.2998 c
+94.2 72.1997 98.5999 65.8 108.6 51.4001 c
+120.2 48.4998 123.8 42.7002 120.2 39.7998 c
+118.7 38.4001 97.0999 36.2 95.7 39.0996 c
+87 44.8999 77 68.5999 71.8999 81.5996 c
+69 88.8 59.7 108.2 75.4998 127.7 c
+79.7998 134.9 79.0999 148.6 77.7 156.5 c
+75.4998 169.4 75.4998 177.4 84.2 194.6 c
+57.5 217.7 12.2 262.3 56.0999 321.4 c
+61.0999 326.4 75.4998 331.4 67.5999 312.7 c
+58.2 286.8 26.5999 264.5 94.2 211.9 c
+105 219.1 149.7 214.8 164.8 211.9 c
+206.6 203.3 215.2 203.3 244 210.5 c
+247.6 211.9 248.3 229.9 263.4 242.2 c
+260.6 251.5 280 264.5 282.2 275.3 c
+286.5 283.9 296.6 257.3 296.6 256.6 c
+295.8 262.3 306.6 273.1 308.1 279.6 c
+317.4 282.5 311 259.4 318.9 245 c
+323.2 239.3 326.8 240.7 331.1 227 c
+334.7 213.4 349.8 201.8 325.4 188.9 c
+311.7 181.7 305.9 183.1 295.8 178.8 c
+295.8 172.3 295.1 157.9 293 147.8 c
+s
+Q
+endstream
+endobj
+5 0 obj
+1446
+endobj
+3 0 obj
+<<
+/Type /Page
+/MediaBox [0 0 36 34]
+/Parent 2 0 R
+/Resources << /ProcSet [/PDF]
+>>
+/Contents 4 0 R
+>>
+endobj
+2 0 obj
+<< /Type /Pages /Kids [
+3 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<< /Type /Catalog /Pages 2 0 R
+>>
+endobj
+6 0 obj
+<< /CreationDate (D:19980613150900)
+/Producer (Aladdin Ghostscript 5.10)
+>>
+endobj
+xref
+0 7
+0000000000 65535 f
+0000001708 00000 n
+0000001649 00000 n
+0000001531 00000 n
+0000000015 00000 n
+0000001511 00000 n
+0000001757 00000 n
+trailer
+<< /Size 7 /Root 1 0 R /Info 6 0 R
+>>
+startxref
+1848
+%%EOF
diff --git a/Master/texmf-dist/source/latex/hyperref/test/picture.png b/Master/texmf-dist/source/latex/hyperref/test/picture.png
new file mode 100644
index 00000000000..86686ca5896
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/picture.png
Binary files differ
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test0.tex b/Master/texmf-dist/source/latex/hyperref/test/test0.tex
new file mode 100644
index 00000000000..154d103518b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test0.tex
@@ -0,0 +1,99 @@
+\documentclass[]{article}
+\def\thepage{E\arabic{page}}
+\usepackage{color,graphicx}
+\usepackage{lastpage}
+\usepackage{xspace}
+\usepackage{makeidx}
+\usepackage{amsmath}
+\usepackage[pdflinkmargin=5pt,pdfstartview={FitBH -32768},pdfpagemode=None,plainpages=false]{hyperref}
+%\usepackage[screen,article]{pdfscreen}
+\hypersetup{pdfauthor=?`\c C\"asar M\"uller n\~ao!`}
+\setcounter{tocdepth}{4}
+\setcounter{secnumdepth}{4}
+\makeindex
+\hypersetup{pdftitle=Welcome to the Monkey House}
+\newcommand{\ANS}{\textsf{ANSYS}\xspace}
+\begin{document}
+\tableofcontents
+\section*{Abstract}
+\addtocontents{toc}{\protect\addvspace{10pt}}
+\addcontentsline{toc}{section}{\protect\numberline{}{ABSTRACT}}
+\section{A first, simple, section heading}
+And some text
+\section{A funny \ANS-section with a \texorpdfstring{$\log$}{log}}
+Page 1; See \textcolor{red}{page} --\pageref{page2}--
+\newpage
+Page 2; this is page 2\label{page2}
+\newpage
+\index{an item on page 3}
+
+\htmladdnormallink{A dummy URL}{http://www.tug.org/A-Fake_URL.html}
+
+\Acrobatmenu{Quit}{End Acrobat Reader}
+
+\Acrobatmenu{FullScreen}{Switch to full screen}
+
+\Acrobatmenu{ZoomIn}{Zoom in}
+
+$\int\!dx$
+\section{Yet another ?`\c C\"asar M\"uller n\~ao!`}
+
+\section{Testing Int\'ernal J\oe mps}\label{ss:intjmps}
+
+This is some text and this is a \hypertarget{target}{target}.
+
+\newpage
+
+Now lets jump to \hyperlink{target}{Target}.
+
+Let's try going to Section~\ref{ss:intjmps}
+
+\section{A \ss ection with $\leq$}
+xx
+xx
+\subsubsection{A subsubsection \texorpdfstring{$a+b$}{a+b}}
+xx
+\paragraph{A paragraph}
+xx
+\subparagraph{A subparagraph}
+xxx
+Pictures:
+
+Normal \includegraphics{hog}
+
+Scaled 0.75 \includegraphics[scale=0.75]{hog}
+
+Width 1in height 0.5in
+ \includegraphics[width=1in,height=0.5in]{hog}
+
+Rotated 50 \includegraphics[scale=0.5,angle=50]{hog}
+
+Rotated -50 \includegraphics[scale=0.5,angle=-50]{hog}
+
+
+\section{Testing External Jumps}\label{ss:extjmps}
+
+\begin{enumerate}
+
+\item Jump to an external: The jump
+\href{file:test7#TestTarget}{target} should open test7.pdf on
+page 2,
+\item Jump to an external: The jump
+\href{file:test7#page.1}{page 1} should open test7.pdf on
+page 1.
+
+%\item Jump to an relative external strange file
+%\href{/D/srahtz/skills.doc}{destination}
+
+\href{run:picture.eps}{a PS file to launch}
+
+\href{run:fontman.exe}{an application}
+
+\href{run:e:\string\\mdraw\string\\mdraw.exe#picture.eps}{a PS file to launch (2)}
+\end{enumerate}
+\printindex
+\clearpage
+\end{document}
+
+
+
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test1.tex b/Master/texmf-dist/source/latex/hyperref/test/test1.tex
new file mode 100644
index 00000000000..f1894597fee
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test1.tex
@@ -0,0 +1,328 @@
+\documentclass[11pt]{book}
+\makeatletter
+\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi
+\chapter*{List of Figures}
+{\let\\ \ \markboth{Title}{List of Figures}}
+\addcontentsline{toc}{chapter}{\protect
+ \numberline{}LIST OF FIGURES}\@starttoc{lof}\if@restonecol \twocolumn\fi}
+\makeatother
+\usepackage{epsfig,longtable}
+\usepackage{makeidx}
+\usepackage{varioref}
+\usepackage{xr-hyper}
+\usepackage{amsmath}
+\usepackage[verbose,hypertexnames=false,bookmarksopenlevel=1,bookmarksopen,bookmarksnumbered,colorlinks,plainpages=false,linktocpage]{hyperref}
+\def\boldindex#1{\textbf{\hyperpage{#1}}}
+\makeindex
+\makeatletter
+\externaldocument{test2}
+\makeatother
+%\setcounter{page}{34}
+\title{Testing Hyperref}
+\author{Sebastian Rahtz}
+\date{May 1999}
+\setcounter{secnumdepth}{2}
+\setcounter{tocdepth}{1}
+\begin{document}
+\pagenumbering{roman}
+%
+\makeatletter
+\long\def\hyper@section@backref#1#2#3{%
+ \typeout{BACK REF #1 / #2 / #3}%
+\hyperlink{#3}{#2}}
+%
+\makeatother
+\pdfbookmark{Title}{tit}
+\setlongtables
+\maketitle\index{title}
+\tableofcontents
+\listoftables
+\listoffigures
+\pagenumbering{arabic}
+\newcommand{\eqnref}[1]{{\autoref{#1}}}
+\newtheorem{Argument}{Here we go}[section]
+\def\thesubsection{\Roman{section} -- \arabic{subsection}}
+\setcounter{tocdepth}{1}
+
+\chapter[First part]{First part, leading to \protect\autoref{horrid}
+ next}
+\section[Test section]{Our \protect\LaTeX\ test section (leading to \autoref{One})
+ for 100\% of \AE horrid $X[Y]Z$
+things, like $42$\label{horrid}}
+and so see \autoref{horrid} on page \pageref{horrid}.
+
+\section{Section One --- cats}\label{One}
+see section \vref{Three} about
+cats\index{animals!cats} and cite
+\cite{Barcelo:1992:caa}
+
+\section{one.1 -- can we see}
+some text with a footnote\footnote{WISH UPON A STAR}
+and another one with an extended
+footnote\footnote{\protect\label{foot}This is the way the world ends not with a
+ bang but a whimper. This is the way the world ends not with a
+ bang but a whimper. This is the way the world ends not with a
+ bang but a whimper.}
+and a reference to a long table\index{tables!long!longtables},
+\autoref{mylongtab}.
+
+\subsection{one.2}
+dogs
+
+\href{file:test2#page.2}{See page 2 in file test2},
+on page 3 of this file.
+
+\href{file:test2.pdf#page.2}{See page 2 in file test2.pdf}
+on page 3 of this file.
+
+And can we see \autoref{ss:first}
+
+in the file test2.pdf? alternatively,
+\href{file:test2.pdf#subsection.1.2}{the link like this}
+
+All Or this? \url{test2.pdf#section.1}
+
+\newpage
+\section{Section Two --- \TeX\ is a dog}
+\subsection{two.1}
+\subsection{two.2}
+\newpage
+cite \cite{Barcelo:1992:caa} again.
+
+\chapter{Second part}
+\section{Section Three --- Camels}\label{Three}
+see \autoref{One}
+\subsection{three.1}
+ some text with a footnote\footnote{OVER THE RAINBOW}
+\index{rainbows}
+\subsection{three.2}
+
+\newpage
+\section[Section Four --- Butterflies]{Section Four --- Butterflies and so on}
+\subsection{four.1}
+\subsection{four.2}
+camels
+Refer to \hyperref{}{test}{test1}{with these words}
+\newpage
+\section{Introduction}\label{sec1}
+\subsection{subsec}
+\newpage
+\subsection{subsec}\label{subsec1.2}
+Define a marker \hyperdef{test}{test1}{here} while this one is a
+PostScript picture acting as marker:
+\index{PS pictures}
+\hyperlink{testpiccy}{\epsfig{figure=picture,height=1in}}
+
+This is a picture: \epsfig{figure=picture,height=1in}
+\newpage
+\section{two}\label{sec2}
+\subsection{Subsection 2}
+\subsection{Subsection 3}
+\newpage
+\section{three}
+This is a reference to section 1 (\autoref{sec1}), subsection 1.2
+(\autoref{subsec1.2}) and section 2 (\autoref{sec2}). References to
+\cite{Barcelo:1992:caa,Dallas:aia}.
+
+
+\begin{figure}
+
+xxxx
+
+\hypertarget{testpiccy}{Test picture}
+
+xxxxx
+
+xxxxx
+\caption{{A cat}}
+\label{fig1}
+\end{figure}
+
+\begin{figure}
+
+xxxx
+
+xxxxx
+\caption{Another cat with a link inside it,
+so see \cite{Dallas:aia} xxxx \label{fig2}}
+\end{figure}
+
+\texttt{<<where is \eqnref{eq1}>>}
+
+\section{Some URLs}
+
+\begin{minipage}{1.5in}
+\url{http://www.aw.com/cp/tlgc.html#Describe}
+
+\url{http://nsi.net.kiae.su/latex/latex2e.html}
+
+\url{http://www.lehigh.edu/~dlj0/LyriX.html}
+
+\url{http://www.cs.wisc.edu/~ghost/index.html}
+
+\url{http://www.win.tue.nl/win/math/dw/personalpages/dickie/idvi/}
+
+\url{http://www.tug.org/interest.html#projects}
+
+\url{ftp://ftp.cbr.dit.csiro.au/staff/gjw/www/tex.html}
+
+
+This is a URL: \url{http://srahtz/attend.html#sebastian}
+
+\hyperref{file:test2.pdf}{equation}{1}{hello}
+\end{minipage}
+
+\newpage
+
+\section{Back to math}
+\begin{equation}
+ zzzz + b
+ \label{eq1}
+\end{equation}
+and what next?
+
+\begin{equation}
+ d - e
+ \label{eq2}
+\end{equation}
+
+\begin{eqnarray}
+ y &=&z\\
+ g &=&h\\
+ \label{eq3}
+\end{eqnarray}
+We need some lists:
+\begin{enumerate}
+\item oranges\index{oranges|boldindex}
+\item lemons\index{lemons|boldindex}
+\item beer\index{beer|boldindex}
+ \begin{enumerate}
+ \item Samuel Smiths
+ \item Labatts
+ \end{enumerate}
+\end{enumerate}
+
+Lets look at labels in lists:
+\begin{enumerate}
+\item oranges\label{oranges}
+\item lemons\label{lemons}
+\item beer\label{beer}
+ \begin{enumerate}
+ \item Samuel Smiths\label{smiths}
+ \item Labatts\label{labatts}
+ \end{enumerate}
+\end{enumerate}
+\clearpage
+
+from which see \autoref{oranges}, \ref{lemons}, \ref{smiths} and
+\autoref{labatts}
+
+
+see
+sec1: \autoref{sec1}
+sec2: \autoref{sec2}
+eq1: \autoref{eq1}
+fig1: \autoref{fig1}
+and cite \cite{Barcelo:1992:caa} again.
+\onecolumn
+\begin{longtable}{lll}
+\caption{A test long table (see \protect\cite{Dallas:aia}
+and section \protect\ref{sec1}}\label{mylongtab}\\
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+a & b & c \\a
+\end{longtable}
+
+% !!! Does not work with hypertexnames=false !!!
+Does \hyperref{}{equation}{2.2}{this} point to the second equation?
+
+Does anything point to the eqnarray (\autoref{eq3})?
+\index{cats}
+
+\begin{thebibliography}{99}
+\addcontentsline{toc}{chapter}{Bibliography}
+\bibitem{Barcelo:1992:caa}
+{Barcel\'o, J.} 1992.
+\newblock Programming an intelligent database in archaeology. In \emph{Computer
+ Applications and Quantitative Methods in Archaeology 1991}, {Lock, G. \&
+ J.~Moffett} (eds), 21--28, Oxford: British Archaeological Reports.
+
+\bibitem[Dallas 1992]{Dallas:aia}
+{Dallas, C.~J.} 1992.
+\newblock Syntax and semantics of figurative art: a formal approach. In
+ \emph{Archaeology and the Information Age}, {Reilly, P. \& S.~Rahtz} (eds),
+ chapter~16, London: Routledge.
+
+\bibitem[Stankovic 1988]{stankovic:88}
+J.~Stankovic, ``Misconceptions about real-time computing: a serious problem for
+ next-generation systems,'' {\em Computer}, vol.~21, no.~10, pp.~10--19, Oct.
+ 1988.
+
+\end{thebibliography}
+
+\clearpage
+An index entry for gnus\index{gnus}
+\clearpage
+An index entry for gnus\index{gnus}
+\clearpage
+An index entry for gnus\index{gnus}
+\clearpage
+An index entry for gnus\index{gnus}
+\clearpage
+An index entry for gnus\index{gnus}
+\clearpage
+An index entry for gnus\index{gnus}
+\chapter*{An appendix --- the Index}
+\printindex
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test2.tex b/Master/texmf-dist/source/latex/hyperref/test/test2.tex
new file mode 100644
index 00000000000..ec8639a9c17
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test2.tex
@@ -0,0 +1,63 @@
+\documentclass[reqno]{amsart}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage[T1]{fontenc}
+\usepackage{ae}
+\usepackage{hyperref}
+
+
+\numberwithin{equation}{subsection}
+
+\begin{document}
+
+\section{My section title}
+
+Some text.
+
+\subsection{My first subsection}
+\label{ss:first}
+
+\begin{equation}
+\label{eq:A}
+p^{\prime\prime} + \dfrac{S^\prime}{S}p^\prime +k^2p = 0
+\end{equation}
+
+Let's refer to equations~\ref{eqs:C} in
+subsection\ref{ss:second}.
+
+\begin{equation}
+\label{eq:B}
+g(x)=const \times f(x) \int^{x} \dfrac{d\xi}{S(\xi)f^{2}(\xi)} .
+\end{equation}
+
+Now I'll force a new page so the hyper-references will bridge a page
+boundary.
+\newpage
+
+\subsection{My second subsection}
+\label{ss:second}
+Now some subequations.
+
+\begin{subequations}
+\label{eqs:C}
+\begin{align}
+p^\prime& = -Z(x)U \label{eq:pC} \\
+U^\prime & = -Y(x)p \label{eq:UC}
+\end{align}
+\end{subequations}
+
+These are related to equation~\ref{eq:A} in subsection~\ref{ss:first}.
+
+{%
+\begin{subequations}
+\label{eqs:D}
+\begin{align}
+p^\prime& = -j \omega {\dfrac{\rho}{S(x)}}U
+ = -jk {\dfrac{\rho c}{S(x)}}U \label{eq:pD} \\
+U^\prime & = -j \omega {\dfrac{S(x)}{\rho c^{2}}}p
+ = -jk {\dfrac{S(x)}{\rho c}}p \label{eq:UD}
+\end{align}
+\end{subequations}
+}
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test3.tex b/Master/texmf-dist/source/latex/hyperref/test/test3.tex
new file mode 100644
index 00000000000..cbfe6d3a3c7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test3.tex
@@ -0,0 +1,556 @@
+\documentclass{article}
+\usepackage{graphicx,ae}
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+%\def\rmdefault{mbv}
+\usepackage{url}
+%\textwidth3in
+\let\SetRowColor\relax
+%\usepackage[times,symbolmenu,spaced=false,zebra,paperwidth=6in,paperheight=4in]{screenpdf}
+\usepackage[]{hyperref}
+\title{Simulation of Energy Loss Straggling}
+\author{Maria Physicist}
+\newcommand{\Emax}{\ensuremath{E_{\mathrm{max}}}}
+\newcommand{\GEANT}{\texttt{GEANT}}
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+Due to the statistical nature of ionisation energy loss, large
+fluctuations can occur in the amount of energy deposited by a particle
+traversing an absorber element. Continuous processes such as multiple
+scattering and energy loss play a relevant role in the longitudinal
+and lateral development of electromagnetic and hadronic
+showers, and in the case of sampling calorimeters the
+measured resolution can be significantly affected by such fluctuations
+in their active layers. The description of ionisation fluctuations is
+characterised by the significance parameter $\kappa$, which is
+proportional to the ratio of mean energy loss to the maximum allowed
+energy transfer in a single collision with an atomic electron
+\[
+\kappa =\frac{\xi}{\Emax}
+\]
+\Emax{}
+is the maximum transferable energy in a single collision with
+an atomic electron.
+\[
+\Emax =\frac{2 m_e \beta^2\gamma^2 }
+{1 + 2\gamma m_e/m_x + \left ( m_e/m_x\right)^2},
+\]
+where $\gamma = E/m_x$, $E$ is energy and
+$m_x$ the mass of the incident particle,
+$\beta^2 = 1 - 1/\gamma^2$ and $m_e$ is the electron mass.
+$\xi$ comes from the Rutherford scattering cross section
+and is defined as:
+\begin{eqnarray*} \xi = \frac{2\pi z^2 e^4 N_{Av} Z \rho \delta x}
+ {m_e \beta^2 c^2 A} = 153.4 \frac{z^2} {\beta^2} \frac{Z}{A}
+ \rho \delta x \quad\mathrm{keV},
+\end{eqnarray*}
+where
+
+\begin{tabular}{ll}
+\SetRowColor $z$ & charge of the incident particle \\
+\SetRowColor $N_{Av}$ & Avogadro's number \\
+\SetRowColor $Z$ & atomic number of the material \\
+\SetRowColor $A$ & atomic weight of the material \\
+\SetRowColor $\rho$ & density \\
+\SetRowColor $ \delta x$ & thickness of the material \\
+\end{tabular}
+
+$\kappa$ measures the contribution of the collisions with energy
+transfer close to \Emax. For a given absorber, $\kappa$ tends
+towards large values if $\delta x$ is large and/or if $\beta$ is
+small. Likewise, $\kappa$ tends towards zero if $\delta x $ is small
+and/or if $\beta$ approaches 1.
+
+The value of $\kappa$ distinguishes two regimes which occur in the
+description of ionisation fluctuations :
+
+\begin{enumerate}
+\item A large number of collisions involving the loss of all or most
+ of the incident particle energy during the traversal of an absorber.
+
+ As the total energy transfer is composed of a multitude of small
+ energy losses, we can apply the central limit theorem and describe
+ the fluctuations by a Gaussian distribution. This case is
+ applicable to non-relativistic particles and is described by the
+ inequality $\kappa > 10 $ (i.e. when the mean energy loss in the
+ absorber is greater than the maximum energy transfer in a single
+ collision).
+
+\item Particles traversing thin counters and incident electrons under
+ any conditions.
+
+ The relevant inequalities and distributions are $ 0.01 < \kappa < 10
+ $, Vavilov distribution, and $\kappa < 0.01 $, Landau distribution.
+\end{enumerate}
+
+An additional regime is defined by the contribution of the collisions
+with low energy transfer which can be estimated with the relation
+$\xi/I_0$, where $I_0$ is the mean ionisation potential of the atom.
+Landau theory assumes that the number of these collisions is high, and
+consequently, it has a restriction $\xi/I_0 \gg 1$. In \GEANT{}
+(see URL \url{http://wwwinfo.cern.ch/asdoc/geant/geantall.html}), the
+limit of Landau theory has been set at $\xi/I_0 = 50$. Below this
+limit special models taking into account the atomic structure of the
+material are used. This is important in thin layers and gaseous
+materials. \autoref{fg:phys332-1} shows the behaviour of $\xi/I_0$
+as a function of the layer thickness for an electron of 100 keV and 1
+GeV of kinetic energy in Argon, Silicon and Uranium.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=.6\linewidth]{phys1}
+ \caption{The variable $\xi/I_0$ can be used to measure the
+ validity range of the Landau theory. It depends
+ on the type and energy of the particle, $Z$, $A$
+ and the ionisation potential of the material and
+ the layer thickness.
+ }
+ \label{fg:phys332-1}
+\end{figure}
+
+In the following sections, the different theories and models for the
+energy loss fluctuation are described. First, the Landau theory and
+its limitations are discussed, and then, the Vavilov and Gaussian
+straggling functions and the methods in the thin layers and gaseous
+materials are presented.
+
+\section{Landau theory}
+\label{sec:phys332-1}
+
+For a particle of mass $m_x$ traversing a thickness of material
+$\delta x $, the Landau probability distribution may be written in
+terms of the universal Landau function $\phi(\lambda)$
+as\cite{bib-LAND}:
+\begin{eqnarray*}
+f( \epsilon , \delta x ) & = &\frac{1}{\xi} \phi ( \lambda )
+\end{eqnarray*}
+where
+\begin{eqnarray*}
+\phi(\lambda )& = & \frac{1} {2 \pi i}\int^{c+i\infty}_{c-i\infty}
+\exp \left ( u \ln u + \lambda u \right ) du \hspace{2cm} c \geq 0 \\
+\lambda & = & \frac{\epsilon -\bar{\epsilon} }{\xi}
+ - \gamma' - \beta^2 - \ln \frac{\xi}{\Emax} \\
+\gamma' & = & 0.422784\dots = 1 - \gamma \\
+\gamma & = & 0.577215\dots \mbox{(Euler's constant)} \\
+\bar{\epsilon} & = & \mbox{average energy loss} \\
+\epsilon & = & \mbox{actual energy loss}
+\end{eqnarray*}
+
+\subsection{Restrictions}
+
+The Landau formalism makes two restrictive assumptions :
+\begin{enumerate}
+\item The typical energy loss is small compared to the maximum energy
+ loss in a single collision. This restriction is removed in the
+ Vavilov theory (see \autoref{vavref}).
+\item The typical energy loss in the absorber should be large compared
+ to the binding energy of the most tightly bound electron. For
+ gaseous detectors, typical energy losses are a few keV which is
+ comparable to the binding energies of the inner electrons. In such
+ cases a more sophisticated approach which accounts for atomic energy
+ levels\cite{bib-TALM} is necessary to accurately simulate data
+ distributions. In \GEANT, a parameterised model by L. Urb\'{a}n is
+ used (see section \ref{urban}).
+\end{enumerate}
+
+In addition, the average value of the Landau distribution is infinite.
+Summing the Landau fluctuation obtained to the average energy from the
+$dE/dx$ tables, we obtain a value which is larger than the one coming
+from the table. The probability to sample a large value is small, so
+it takes a large number of steps (extractions) for the average
+fluctuation to be significantly larger than zero. This introduces a
+dependence of the energy loss on the step size which can affect
+calculations.
+
+A solution to this has been to introduce a limit on the value of the
+variable sampled by the Landau distribution in order to keep the
+average fluctuation to 0. The value obtained from the \texttt{GLANDO}
+routine is:
+\[
+\delta dE/dx = \epsilon - \bar{\epsilon} = \xi ( \lambda - \gamma'
++\beta^2 +\ln \frac{\xi}{\Emax})
+\]
+In order for this to have average 0, we must impose that:
+\[
+\bar{\lambda} = -\gamma' - \beta^2 -\ln \frac{\xi}{\Emax}
+\]
+
+This is realised introducing a $\lambda_{\mathrm{max}}(\bar{\lambda})$
+such that if only values of $\lambda \leq \lambda_{\mathrm{max}}$ are
+accepted, the average value of the distribution is $\bar{\lambda}$.
+
+A parametric fit to the universal Landau distribution has been
+performed, with following result:
+\[
+\lambda_{\mathrm{max}} = 0.60715 +
+ 1.1934\bar{\lambda}+(0.67794+0.052382\bar{\lambda})
+ \exp(0.94753+0.74442\bar{\lambda})
+\]
+only values smaller than $\lambda_{\mathrm{max}}$ are accepted, otherwise the
+distribution is resampled.
+
+
+
+\section{Vavilov theory}
+\label{vavref}
+
+Vavilov\cite{bib-VAVI} derived a more accurate straggling distribution
+by introducing the kinematic limit on the maximum transferable energy
+in a single collision, rather than using $ \Emax = \infty $.
+Now we can write\cite{bib-SCH1}:
+\begin{eqnarray*}
+f \left ( \epsilon, \delta s \right ) & = & \frac{1}{\xi} \phi_{v}
+\left ( \lambda_{v}, \kappa, \beta^{2} \right )
+\end{eqnarray*}
+where
+\begin{eqnarray*}
+\phi_{v} \left ( \lambda_{v}, \kappa, \beta^{2} \right ) & = &
+\frac{1}{2 \pi i} \int^{c+i\infty}_{c-i\infty}\phi \left( s \right )
+e^{\lambda s} ds \hspace{2cm} c \geq 0 \\
+\phi \left ( s \right ) & = &
+\exp \left [ \kappa ( 1 + \beta^{2}\gamma ) \right ]
+~ \exp \left [ \psi \left ( s \right ) \right ], \\
+\psi \left ( s \right ) & = & s \ln \kappa + ( s + \beta^{2} \kappa )
+\left [ \ln (s/\kappa) + E_{1} (s/\kappa) \right ] - \kappa e^{-s/\kappa},
+\end{eqnarray*}
+and
+\begin{eqnarray*}
+E_{1}(z) & = & \int^{\infty}_{z} t^{-1} e^{-t} dt
+\mbox{\hspace{1cm} (the exponential integral)} \\
+\lambda_v & = & \kappa \left [ \frac{\epsilon - \bar{\epsilon}}{\xi}
+- \gamma' - \beta^2 \right]
+\end{eqnarray*}
+
+The Vavilov parameters are simply related to the Landau parameter by
+$\lambda_L = \lambda_v/\kappa - \ln\kappa $. It can be shown that as
+$\kappa \rightarrow 0$, the distribution of the variable $\lambda_L$
+approaches that of Landau. For $\kappa \leq 0.01$ the two
+distributions are already practically identical. Contrary to what many
+textbooks report, the Vavilov distribution \emph{does not} approximate
+the Landau distribution for small $\kappa$, but rather the
+distribution of $\lambda_L$ defined above tends to the distribution of
+the true $\lambda$ from the Landau density function. Thus the routine
+\texttt{GVAVIV} samples the variable $\lambda_L$ rather than
+$\lambda_v$. For $\kappa \geq 10$ the Vavilov distribution tends to a
+Gaussian distribution (see next section).
+
+\section{Gaussian Theory}
+
+Various conflicting forms have been proposed for Gaussian straggling
+functions, but most of these appear to have little theoretical or
+experimental basis. However, it has been shown\cite{bib-SELT} that
+for $\kappa \geq 10 $ the Vavilov distribution can be replaced by a
+Gaussian of the form :
+\begin{eqnarray*}
+f( \epsilon , \delta s) \approx \frac{1}
+{\xi \sqrt{\frac{2 \pi}{\kappa} \left( 1 - \beta^2/2 \right)}}
+ \exp \left [ \frac{( \epsilon - \bar{\epsilon} )^2}{2} \frac{\kappa}
+ {\xi^2 (1- \beta^2/2)}\right ]
+\end{eqnarray*}
+thus implying
+\begin{eqnarray*}
+\mathrm{mean} & = & \bar{\epsilon} \\
+\sigma^2 & = & \frac{\xi^2}{\kappa} (1-\beta^2/2) = \xi
+ \Emax (1-\beta^2/2)
+\end{eqnarray*}
+
+\section{Urb\'an model}
+\label{urban}
+
+The method for computing restricted energy losses with $\delta$-ray
+production above given threshold energy in \GEANT{} is a Monte
+Carlo method that can be used for thin layers. It is fast and it can
+be used for any thickness of a medium. Approaching the limit of the
+validity of Landau's theory, the loss distribution approaches smoothly
+the Landau form as shown in \autoref{fg:phys332-2}.
+\begin{figure}
+ \centering
+ \includegraphics[width=.6\linewidth]{phys2}
+ \caption{Energy loss distribution for a 3 GeV electron in
+ Argon as given by standard \GEANT. The width of the layers is
+ given in centimeters.}
+ \label{fg:phys332-2}
+\end{figure}
+
+It is assumed that the atoms have only two energy levels with binding
+energy $E_1$ and $E_2$. The particle--atom interaction will then be
+an excitation with energy loss $E_1$ or $E_2$, or an ionisation with
+an energy loss distributed according to a function $g(E) \sim 1/E^2$:
+\begin{equation}
+g(E) = \frac{(\Emax + I)I}{\Emax} \frac{1}{E^2}
+\end{equation}
+
+The macroscopic cross-section for excitations ($i=1,2$) is
+\begin{equation}
+\label{eq:sigex}
+\Sigma_i = C \frac{f_i}{E_i} \frac{\ln (2 m \beta^2 \gamma^2/E_i) - \beta^2}
+ {\ln (2 m \beta^2 \gamma^2/ I) - \beta^2}(1-r)
+\end{equation}
+and the macroscopic cross-section for ionisation is
+\begin{equation}
+\label{eq:sigion}
+\Sigma_3 = C \frac{\Emax}{I(\Emax+I) \ln(\frac{\Emax+I}{I})}
+ ~ r
+\end{equation}
+\Emax{} is the \GEANT{} cut for $\delta$-production, or the maximum
+energy transfer minus mean ionisation energy, if it is smaller than
+this cut-off value. The following notation is used:
+
+\begin{tabular}{ll}
+\SetRowColor $r, C$ & parameters of the model \\
+\SetRowColor $E_i$ & atomic energy levels \\
+\SetRowColor $I$ & mean ionisation energy \\
+\SetRowColor ${f_i}$ & oscillator strengths
+\end{tabular}
+
+The model has the parameters $f_i$, $E_i$, $C$ and $r ~(0\leq r\leq
+1)$. The oscillator strengths $f_i$ and the atomic level energies
+$E_i$ should satisfy the constraints
+\begin{eqnarray}
+f_1 + f_2 & = & 1 \label{eq:fisum}\\
+f_1 \ln E_1 + f_2 \ln E_2 & = & \ln I \label{eq:flnsum}
+\end{eqnarray}
+The parameter $C$ can be defined with the help of the mean energy loss
+$dE/dx$ in the following way: The numbers of collisions ($n_i$, i =
+1,2 for the excitation and 3 for the ionisation) follow the Poisson
+distribution with a mean number $ \langle n_i \rangle $. In a step
+$\Delta x$ the mean number of collisions is
+\begin{equation}
+\langle n_i \rangle = \Sigma_i \Delta x
+\end{equation}
+The mean energy loss $dE/dx$ in a step is the sum of the excitation
+and ionisation contributions
+\begin{equation}
+\frac{dE}{dx} \Delta x = \left[ \Sigma_1 E_1 + \Sigma_2 E_2 +
+ \Sigma_3 \int_{I}^{\Emax+I} E~g(E)~dE \right]
+ \Delta x
+\end{equation}
+From this, using the equations (\ref{eq:sigex}), (\ref{eq:sigion}),
+(\ref{eq:fisum}) and (\ref{eq:flnsum}), one can define the parameter
+$C$
+\begin{equation}
+C = \frac{dE}{dx}
+\end{equation}
+
+The following values have been chosen in \GEANT{} for the other
+parameters:
+\[
+\begin{array}{lcl}
+f_2 = \left\{ \begin{array}{ll}
+ 0 & \mathrm{if} Z \leq 2 \\
+ 2/Z & \mathrm{if} Z > 2 \\
+ \end{array} \right. & \Rightarrow & f_1 = 1 - f_2 \\
+E_2 = 10 Z^2 \mathrm{eV} & \Rightarrow & E_1 = \left(\frac{I}{E_{2}^{f_2}}
+ \right)^{\frac{1}{f_1}} \\
+r = 0.4 & & \\
+\end{array}
+\]
+With these values the atomic level $E_2$ corresponds approximately
+the K-shell energy of the atoms and $Zf_2$ the number of K-shell
+electrons. $r$ is the only variable which can be tuned freely. It
+determines the relative contribution of ionisation and
+excitation to the energy loss.
+
+The energy loss is computed with the assumption that the step length
+(or the relative energy loss) is small, and---in consequence---the
+cross-section can be considered constant along the path length. The
+energy loss due to the excitation is
+\begin{equation}
+\Delta E_e = n_1 E_1 + n_2 E_2
+\end{equation}
+where $n_1$ and $n_2$ are sampled from Poisson distribution as
+discussed above. The loss due to the ionisation can be generated from
+the distribution $g(E)$ by the inverse transformation method:
+\begin{eqnarray}
+u = F(E) & = & \int_{I}^E g(x) dx \nonumber \\
+E = F^{-1}(u) & = & \frac{I}{1 - u \frac {\Emax}{\Emax+I}} \\
+\end{eqnarray}
+where $u$ is a uniform random number between $F(I)=0$ and
+$F(\Emax+I)=1$. The contribution from the ionisations will be
+\begin{equation}
+\Delta E_i = \sum_{j=1}^{n_3} \frac{I}
+ {1 - u_j \frac {\Emax}{\Emax + I}}
+\end{equation}
+where $n_3$ is the number of ionisation (sampled from Poisson
+distribution). The energy loss in a step will then be $\Delta E =
+\Delta E_e + \Delta E_i$.
+
+
+\subsection{Fast simulation for $n_3 \geq 16$}
+
+If the number of ionisation $n_3$ is bigger than 16, a faster sampling
+method can be used. The possible energy loss interval is divided in
+two parts: one in which the number of collisions is large and the
+sampling can be done from a Gaussian distribution and the other in
+which the energy loss is sampled for each collision. Let us call the
+former interval $[I, \alpha I]$ the interval A, and the latter
+$[\alpha I,\Emax]$ the interval B. $\alpha$ lies between 1 and
+$\Emax/I$. A collision with a loss in the interval A happens with
+the probability
+\begin{equation}
+\label{eq:phys332-5}
+P(\alpha) = \int_I^{\alpha I} g(\!E\!) \, dE =
+ \frac {( \Emax + I) (\alpha - 1)}{\Emax \alpha}
+\end{equation}
+The mean energy loss and the standard deviation for this type
+of collision are
+\begin{equation}
+\langle \Delta E(\alpha) \rangle = \frac{1}{P(\alpha)}
+ \int_I^{\alpha I} E \, g(\!E\!) \, dE =
+ \frac{I \alpha \ln \alpha}{\alpha - 1}
+\end{equation}
+and
+\begin{equation}
+\sigma^2(\alpha) = \frac{1}{P(\alpha)}
+ \int_I^{\alpha I} E^2 \, g(\!E\!) \, dE =
+ I^2 \alpha \left( 1 - \frac{\alpha \ln \! ^2 \alpha}{(\alpha - 1)^2} \right)
+\end{equation}
+If the collision number is high , we assume that the number of the
+type A collisions can be calculated from a Gaussian distribution
+with the following mean value and standard deviation:
+\begin{eqnarray}
+\label{eq:phys332-1}
+\langle n_A \rangle & = & n_3 P(\alpha) \\
+\label{eq:phys332-2}
+\sigma_A^2 & = & n_3 P(\alpha) ( 1 - P(\alpha))
+\end{eqnarray}
+It is further assumed that the energy loss in these collisions
+has a Gaussian distribution with
+\begin{eqnarray}
+\label{eq:phys332-3}
+\langle \Delta E_A \rangle & = & n_A \langle \Delta E(\alpha) \rangle \\
+\label{eq:phys332-4}
+\sigma_{E,A}^2 & = & n_A \sigma^2(\alpha)
+\end{eqnarray}
+The energy loss of these collision can then be sampled from the
+Gaussian distribution.
+
+The collisions where the energy loss is in the interval B are sampled
+directly from
+\begin{equation}
+\Delta E_B = \sum_{i=1}^{n_3 - n_A} \frac{\alpha I}
+ {1 - u_i \frac{\Emax + I - \alpha I}{\Emax + I}}
+\end{equation}
+The total energy loss is the sum of these two types of collisions:
+\begin{equation}
+\Delta E = \Delta E_A + \Delta E_B
+\end{equation}
+
+The approximation of equations (\ref{eq:phys332-1}),
+(\ref{eq:phys332-2}), (\ref{eq:phys332-3}) and (\ref{eq:phys332-4})
+can be used under the following conditions:
+\begin{eqnarray}
+\label{eq:phys332-6}
+\langle n_A \rangle - c \, \sigma_A & \geq & 0 \\
+\label{eq:phys332-7}
+\langle n_A \rangle + c \, \sigma_A & \leq & n_3 \\
+\label{eq:phys332-8}
+\langle \Delta E_A \rangle - c \, \sigma_{E,A} & \geq & 0
+\end{eqnarray}
+where $c \geq 4$. From the equations (\ref{eq:phys332-5}),
+(\ref{eq:phys332-1}) and (\ref{eq:phys332-3}) and from the conditions
+(\ref{eq:phys332-6}) and (\ref{eq:phys332-7}) the following limits can
+be derived:
+\begin{equation}
+\alpha_{\mathrm{min}} = \frac{(n_3 + c^2)(\Emax+I)}
+ {n_3 (\Emax + I) + c^2 I} \; \leq \alpha \; \leq
+\alpha_{\mathrm{max}} = \frac{(n_3 + c^2)(\Emax+I)}
+ {c^2 (\Emax + I) + n_3 I}
+\end{equation}
+This conditions gives a lower limit to number of the ionisations $n_3$
+for which the fast sampling can be done:
+\begin{equation}
+n_3 \; \geq \; c^2
+\end{equation}
+As in the conditions (\ref{eq:phys332-6}), (\ref{eq:phys332-7}) and
+(\ref{eq:phys332-8}) the value of $c$ is as minimum 4, one gets $n_3
+\; \geq 16$. In order to speed the simulation, the maximum value is
+used for $\alpha$.
+
+The number of collisions with energy loss in the interval B (the
+number of interactions which has to be simulated directly) increases
+slowly with the total number of collisions $n_3$. The maximum number
+of these collisions can be estimated as
+\begin{equation}
+n_{B,max} = n_3 - n_{A,min} \approx n_3 (\langle n_A \rangle
+ - \sigma_A)
+\end{equation}
+From the previous expressions for $\langle n_A \rangle$ and $\sigma_A$
+one can derive the condition
+\begin{equation}
+n_B \; \leq \; n_{B,max} = \frac{2 n_3 c^2}{n_3+c^2}
+\end{equation}
+The following values are obtained with $c=4$:
+
+\begin{tabular}{llcrr}
+$n_3$ & $n_{B,max}$ & & $n_3$ & $n_{B,max}$\\
+\hline
+\SetRowColor 16 & 16 & & 200 & 29.63\\
+\SetRowColor 20 & 17.78 & & 500 & 31.01 \\
+\SetRowColor 50 & 24.24 & & 1000 & 31.50 \\
+\SetRowColor 100 & 27.59 & & $\infty$ & 32.00
+\end{tabular}
+
+\subsection{Special sampling for lower part of the spectrum}
+
+If the step length is very small ($\leq 5$ mm in gases, $\leq$ 2-3
+$\mu$m in solids) the model gives 0 energy loss for some events. To
+avoid this, the probability of 0 energy loss is computed
+\begin{equation}
+P( \Delta E=0) = e^{-( \langle n_1 \rangle + \langle n_2 \rangle
+ + \langle n_3 \rangle )}
+\end{equation}
+If the probability is bigger than 0.01 a special sampling is done,
+taking into account the fact that in these cases the projectile
+interacts only with the outer electrons of the atom. An energy level
+$E_0 = 10$ eV is chosen to correspond to the outer electrons. The mean
+number of collisions can be calculated from
+\begin{equation}
+\langle n \rangle = \frac{1}{E_0} \frac{dE}{dx} \Delta x
+\end{equation}
+The number of collisions $n$ is sampled from Poisson distribution.
+In the case of the thin layers, all the collisions are considered as
+ionisations and the energy loss is computed as
+\begin{equation}
+\Delta E = \sum_{i=1}^n \frac{E_0}
+ {1 - \frac {\Emax}{\Emax + E_0} u_i}
+\end{equation}
+
+
+\begin{thebibliography}{10}
+\bibitem{bib-LAND}
+L.Landau.
+\newblock On the Energy Loss of Fast Particles by Ionisation.
+\newblock Originally published in \emph{J. Phys.}, 8:201, 1944.
+\newblock Rerpinted in D.ter Haar, Editor, \emph{L.D.Landau, Collected
+ papers}, page 417. Pergamon Press, Oxford, 1965.
+
+\bibitem{bib-SCH1}
+B.Schorr.
+\newblock Programs for the Landau and the Vavilov distributions and the
+ corresponding random numbers.
+\newblock \emph{Comp. Phys. Comm.}, 7:216, 1974.
+
+\bibitem{bib-SELT}
+S.M.Seltzer and M.J.Berger.
+\newblock Energy loss straggling of protons and mesons.
+\newblock In \emph{Studies in Penetration of Charged Particles in
+ Matter}, Nuclear Science Series~39, Nat. Academy of Sciences,
+ Washington DC, 1964.
+
+\bibitem{bib-TALM}
+R.Talman.
+\newblock On the statistics of particle identification using ionization.
+\newblock \emph{Nucl. Inst. Meth.}, 159:189, 1979.
+
+\bibitem{bib-VAVI}
+P.V.Vavilov.
+\newblock Ionisation losses of high energy heavy particles.
+\newblock \emph{Soviet Physics JETP}, 5:749, 1957.
+
+\end{thebibliography}
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test4.tex b/Master/texmf-dist/source/latex/hyperref/test/test4.tex
new file mode 100644
index 00000000000..60f6206ee16
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test4.tex
@@ -0,0 +1,36 @@
+\documentclass{article}
+\usepackage{hyperref}
+
+
+\begin{document}
+
+\section{My section title}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\include{bit}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test6.tex b/Master/texmf-dist/source/latex/hyperref/test/test6.tex
new file mode 100644
index 00000000000..42c80b61de9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test6.tex
@@ -0,0 +1,18 @@
+\documentclass{book}
+\usepackage[extension=xxx]{hyperref}
+\begin{document}
+A\footnote{\texttt{abc}}
+
+\href{file://localhost/d:/test2.ps}{foo1}
+
+\href{file://localhost/d:/test2.pdf}{foo2}
+
+\href{d:/test2.pdf}{foo3}
+
+\href{d:/test2.ps}{foo4}
+
+\href{http://www-fourier.ujf-grenoble.fr:80/cgi-bin/zbfr/ZB/math-fr.html?AU=Taylor,+R&format=complete&type=html&maxdocs=10}{weird}
+
+\href{a%b}{hello}
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test7.pdf b/Master/texmf-dist/source/latex/hyperref/test/test7.pdf
new file mode 100644
index 00000000000..1ed1c8dfd81
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test7.pdf
@@ -0,0 +1,179 @@
+%PDF-1.3
+5 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+8 0 obj
+(The first section)
+endobj
+9 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+12 0 obj
+(The second section)
+endobj
+13 0 obj
+<< /S /GoTo /D [14 0 R /Fit ] >>
+endobj
+16 0 obj <<
+/Length 135
+/Filter /FlateDecode
+>>
+stream
+xÚ-±Â0 D÷|…Çdˆ±Ä%+ ÌÙ€©©P‰öÿEhÑM§{wÇ@M vºMJHп̡˜ÝIZ1D…òXÑr¿Xvž‰È–¡:/‰ì•H>ó²™¹öËsz»[9·>CƬa«{Õud¨ã8ý `Í4O1¡Rü´È‹ùŽ’%¿endstream
+endobj
+14 0 obj <<
+/Type /Page
+/Contents 16 0 R
+/Resources 15 0 R
+/MediaBox [0 0 612 792]
+/Parent 23 0 R
+>> endobj
+17 0 obj <<
+/D [14 0 R /XYZ 133.768 692.105 null]
+>> endobj
+18 0 obj <<
+/D [14 0 R /XYZ 133.768 667.198 null]
+>> endobj
+6 0 obj <<
+/D [14 0 R /XYZ 133.768 667.198 null]
+>> endobj
+15 0 obj <<
+/Font << /F20 20 0 R /F21 22 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+26 0 obj <<
+/Length 135
+/Filter /FlateDecode
+>>
+stream
+xÚ=½1 ƒ÷>EÆvhh“&Ç­H00wC,\ËÏÀu€…·§y±äÏv„Ð!2ã kPX`º›M6«õ0!'…|^Ð\–œ!›¯Õy’`ujsùûç­Íî˜÷½aÄQùÛöDHªËÆ¥µrzÕQGdð’5¤ßIÌ6›7íÂ&Ëendstream
+endobj
+25 0 obj <<
+/Type /Page
+/Contents 26 0 R
+/Resources 24 0 R
+/MediaBox [0 0 612 792]
+/Parent 23 0 R
+>> endobj
+27 0 obj <<
+/D [25 0 R /XYZ 133.768 692.105 null]
+>> endobj
+10 0 obj <<
+/D [25 0 R /XYZ 133.768 667.198 null]
+>> endobj
+28 0 obj <<
+/D [25 0 R /XYZ 133.768 646.723 null]
+>> endobj
+24 0 obj <<
+/Font << /F20 20 0 R /F21 22 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+29 0 obj <<
+/Type /Encoding
+/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/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/braceleft/bar/braceright/asciitilde 127/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
+>> endobj
+22 0 obj <<
+/Type /Font
+/Subtype /Type1
+/Encoding 29 0 R
+/BaseFont /Times-Roman
+>> endobj
+20 0 obj <<
+/Type /Font
+/Subtype /Type1
+/Encoding 29 0 R
+/BaseFont /Times-Bold
+>> endobj
+23 0 obj <<
+/Type /Pages
+/Count 2
+/Kids [14 0 R 25 0 R]
+>> endobj
+30 0 obj <<
+/Type /Outlines
+/First 7 0 R
+/Last 11 0 R
+/Count 2
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 30 0 R
+/Prev 7 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 30 0 R
+/Next 11 0 R
+>> endobj
+31 0 obj <<
+/Names [(Doc-Start) 18 0 R (TestTarget) 28 0 R (page.1) 17 0 R (page.2) 27 0 R (section.1) 6 0 R (section.2) 10 0 R]
+/Limits [(Doc-Start) (section.2)]
+>> endobj
+32 0 obj <<
+/Kids [31 0 R]
+>> endobj
+33 0 obj <<
+/Dests 32 0 R
+>> endobj
+34 0 obj <<
+/Type /Catalog
+/Pages 23 0 R
+/Outlines 30 0 R
+/Names 33 0 R
+ /PageMode /UseOutlines /URI << /Base () >> /ViewerPreferences << >>
+/OpenAction 13 0 R
+>> endobj
+35 0 obj <<
+/Producer (pdfTeX-0.14h-pdfcrypt)
+/Author () /Title () /Subject () /Creator (LaTeX with hyperref package) /Producer (pdfTeX14.h) /Keywords ()
+/CreationDate (D:20010816055100)
+>> endobj
+xref
+0 36
+0000000001 65535 f
+0000000002 00000 f
+0000000003 00000 f
+0000000004 00000 f
+0000000019 00000 f
+0000000009 00000 n
+0000000663 00000 n
+0000003567 00000 n
+0000000054 00000 n
+0000000089 00000 n
+0000001186 00000 n
+0000003495 00000 n
+0000000134 00000 n
+0000000171 00000 n
+0000000435 00000 n
+0000000722 00000 n
+0000000221 00000 n
+0000000543 00000 n
+0000000603 00000 n
+0000000021 00000 f
+0000003267 00000 n
+0000000000 00000 f
+0000003177 00000 n
+0000003356 00000 n
+0000001306 00000 n
+0000001018 00000 n
+0000000804 00000 n
+0000001126 00000 n
+0000001246 00000 n
+0000001388 00000 n
+0000003422 00000 n
+0000003638 00000 n
+0000003811 00000 n
+0000003848 00000 n
+0000003884 00000 n
+0000004056 00000 n
+trailer
+<<
+/Size 36
+/Root 34 0 R
+/Info 35 0 R
+>>
+startxref
+4254
+%%EOF
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test7.tex b/Master/texmf-dist/source/latex/hyperref/test/test7.tex
new file mode 100644
index 00000000000..bce6eb5629a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test7.tex
@@ -0,0 +1,12 @@
+\documentclass{article}
+\usepackage{hyperref}
+\usepackage{times}
+\begin{document}
+
+\section{The first section}
+hello
+\newpage
+\section{The second section}
+\hypertarget{TestTarget}{goodbye}
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/test8.tex b/Master/texmf-dist/source/latex/hyperref/test/test8.tex
new file mode 100644
index 00000000000..25a2d3dbfb8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/test8.tex
@@ -0,0 +1,41 @@
+% Test file from Stephan Haller <stk@snafu.de> that shows how
+% bookmark open levels can vary during the document.
+
+\documentclass{article}
+
+\usepackage{times}
+
+\def\OpMode{1} % fake vtex
+
+\usepackage{hyperref}
+
+\begin{document}
+
+\section{I'm closed (default)}
+\subsection{x}
+
+\hypersetup{bookmarksopen=true}
+
+\section{I'm open,}
+\subsection{and so}
+\subsection{are my}
+\subsubsection{children}
+
+\hypersetup{bookmarksopen=false}
+
+\section{I'm closed,}
+
+\hypersetup{bookmarksopen=true}
+
+\subsection{but my}
+\subsubsection{children}
+\subsection{are}
+\subsubsection{open}
+
+\hypersetup{bookmarksopenlevel=2}
+
+\section{level is two now}
+\subsection{so this is closed}
+\subsubsection{y}
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testams.tex b/Master/texmf-dist/source/latex/hyperref/test/testams.tex
new file mode 100644
index 00000000000..25e254806b1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testams.tex
@@ -0,0 +1,253 @@
+\documentclass{article}
+\usepackage[latin1]{inputenc}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage[spanish]{babel}
+\usepackage{calc}% or e-TeX, for \hypercalcbp
+
+\usepackage[%
+ verbose,
+ colorlinks=true,
+ naturalnames=true,
+ linkcolor=blue,
+]{hyperref}
+
+\addtolength{\topmargin}{-10mm}
+\setlength{\oddsidemargin}{-5mm}
+\setlength{\evensidemargin}{-5mm}
+\setlength{\textwidth}{165mm}
+\addtolength{\textheight}{3.5cm} % alargar longitud página
+
+\hypersetup{%
+ pdftitle={Notas sobre Control por computador, de Hilario Lopez},%
+ % Note /XYZ takes three arguments, the X and Y offsets and the
+ % zoom factor. Omitting these values breaks Distiller.
+ pdfstartview={%
+ XYZ \hypercalcbp{1in+\oddsidemargin-2mm} %
+ \hypercalcbp{\paperheight-1in-\topmargin
+ -\headheight-\headsep+2mm} %
+ 1%
+ }%
+}
+
+% The numbering of the equations is done by the \tag command
+% explicitly. Problematic is the equation environment, because
+% it generates also an anchor named "equation.1". This would
+% produce a lot of warnings. Changing equation to gather
+% supresses the warnings. The links should work in both
+% cases.
+\let\equation\gather
+\let\endequation\endgather
+
+\newcommand{\fdt}{\hbox{f.d.t.\@}}
+
+\newcommand{\pagina}[1]{\textsl{{\tiny \mbox{[#1]}}}}% << la del fichero grainger-stevenson.tex
+\newcommand{\ingles}[1]{\emph{#1}}
+
+
+\newcommand{\ojo}[1]{ }
+%
+% Crear una caja de texto con borde para destacar ciertos párrafos
+%
+\newcommand{\destacaP}[1]{ }
+
+
+%
+\begin{document}
+
+\section{Diseño mediante síntesis directa}
+Se calculan reguladores por el método de Truxal.
+\begin{itemize}
+ \item Si el proceso tiene un tiempo muerto $d$, el sistema en cadena cerrada no puede
+ tener un valor menor.
+\begin{equation}\label{eq:SintesisDirectaGradosEnBucleCerrado}
+ gr[L(z)] -gr[N(z)] \ge gr[A(z)]-gr[B(z)] \tag{2.14}
+\end{equation}
+ \item Se obtendrá el mismo tiempo muerto $d$, salvo que en el regulador $G_R$ se
+ introduzca un nuevo retardo por tener más ceros que polos.
+ \item Los polos y ceros del proceso externos a la circunferencia unidad no se deben
+ cancelar con los ceros y polos del regulador, por lo que dichos factores no pueden
+ aparecer en $G_R(z)$.
+ \item Asignación de polos (del sistema en cadena cerrada).
+ Permite especificar (en parte\footnote{Es debido a que los ceros que resulten del regulador
+ pueden modificar la dinámica que hemos calculado mediante los polos. Habrá que comprobar que
+ su efecto es despreciable, que implica que los ceros deben ser poco significativos
+ en comparación con las raíces de $z^2+ \alpha \, z + \beta = 0$} (interesa por tanto que
+ estén alejados de la circunferencia unidad).) la respuesta transitoria, a
+ través de un sistema de segundo orden, y poniendo el resto de los polos en $z=0$.
+ \item Tiempo finito. Todos sus polos están en el origen. Se caracterizan porque alcanzan
+ el valor final de la respuesta ante una entrada dada en un tiempo finito,
+ \textsc{sin oscilar la secuencia discreta}. En el caso de control en tiempo real, el
+ sistema continuo si oscilaría ligeramente. Se refiere a que aunque en los instantes de
+ muestreo los valores sean los dados por el sistema discreto, el sistema continuo
+ asociado podría tomar valores distintos entre los instantes de muestreo.
+ \item Tiempo mínimo. Como los de tiempo finito, pero realizando \textsc{todas}
+ las cancelaciones \textsc{posibles} (no se consideran posibles las de polos y ceros externos).
+ \item Respuesta en permanente. Si se desea obtener error de posición nulo y el proceso
+ no posee un polo en $z=1$, entonces el regulador debe incluir un polo (por lo menos) en
+ dicho punto. También es necesario esto para eliminar el efecto sobre el permanente de
+ las perturbaciones deterministas.
+ \item Simplicidad. Interesa que el número de polos y ceros del regulador sea mínimo.
+ Esta propiedad es opuesta a la minimización de $m$ (para obtener un sistema de tiempo mínimo).
+\end{itemize}
+\subsection{Métodos de cálculo}
+\subsubsection{Método de asignación de polos} El transitorio puede venir especificado por
+$M_p$, $n_p$, y $n_s$. Las fórmulas aplicables son
+\begin{align}\label{eq:AsignacionPolosFormulasParametrosTransitorio}
+ n_p &= \frac{\pi}{\theta} \tag{2.27} \\
+ M_p &= |p|^{n_p} \tag{2.28} \\
+ n_s &= \frac{\pi}{\sigma} \tag{2.29} \\
+ |p| &= e^{-\sigma} \tag{2.30}
+\end{align}
+La ecuación característica para realimentación unitaria ($H=1$) es
+\begin{equation}\label{eq:AsignacionPolosEcuacionCaracteristica}
+ 1 + G_R(z) \, BG(z) = 0 \tag{2.32}
+\end{equation}
+o sea
+\begin{equation}\label{eq:AsignacionPolosEcuacionCaracteristicaFactorizada}
+ 1 + \frac{Q(z)}{P(z)} \, \frac{B(z)}{A(z)} = 0 \tag{2.33}
+\end{equation}
+en la que se observa que puede haber factores que se anulen entre numerador de $G_R$ y
+denominador de $G_P$, y viceversa. Operando, resultaría que
+\begin{equation}\label{eq:AsignacionPolosEcuacionCaracteristicaNumerador}
+ A(z) \, P(z) + B(z) \, Q(z) = 0 \tag{2.34}
+\end{equation}
+%
+Debe hacerse notar que si en la ec.
+(\ref{eq:AsignacionPolosEcuacionCaracteristicaFactorizada}) se hubiesen anulado factores
+entre numerador y denominador, la ecuación
+(\ref{eq:AsignacionPolosEcuacionCaracteristicaNumerador}) una vez simplificada sería del
+estilo
+\begin{equation}\label{eq:AsignacionPolosEcuacionCaracteristicaNumeradorSimplificada}
+ A'(z) \, P'(z) + B'(z) \, Q'(z) = 0 \tag{2.34-bis}
+\end{equation}
+en la que $A'(z)$ sería los polos de $A(z)$ que no se cancelan, $B'(z)$ los ceros del
+proceso no cancelados (y que por tanto aparecerán en la \fdt de cadena cerrada), y $P'(z)$
+y $Q'(z)$ los polinomios que necesitamos calcular. El factor $Q'(z)$ no se deja como tal,
+sino que se pone en función del polinomio $N(z)$, que es el numerador de la \fdt de cadena
+cerrada. Para ello se hace uso de la propiedad que dice que los ceros en cadena cerrada
+son los del sistema más los del regulador (a menos que se hayan cancelado ceros del
+proceso con polos del regulador).
+%
+La ecuación que debemos plantear para hallar los coeficientes del regulador es
+\begin{equation}\label{eq:AsignacionPolosIdentificacionCoeficientes}
+ z^m (z^2+ \alpha \, z + \beta) = A(z) \, P(z) + B(z) \, Q(z) \tag{2.35}
+\end{equation}
+%
+La solución es única cuando se tengan tantas ecuaciones como incógnitas. Igualando grados,
+se tiene que
+\begin{equation}\label{eq:AsignacionPolosGradosPolinomios}
+ m+2 = p+a \tag{2.36}
+\end{equation}
+y al aplicar la condición (\ref{eq:SintesisDirectaGradosEnBucleCerrado}) a la ecuación
+(\ref{eq:AsignacionPolosIdentificacionCoeficientes}) resulta
+\begin{equation}\label{AsignacionPolosCondicionGradosBucleCerrado}
+ (m+2)-n \ge a-b \tag{2.38}
+\end{equation}
+\subsubsection{Método de tiempo finito}
+Todos los polos de cadena cerrada están en el origen ($z=0$). En dichos sistemas, la
+respuesta impulsional se puede obtener fácilmente como la secuencia formada por los
+coeficientes de $\{b_0, b_1, b_2, \ldots \}$, que es la que resulta de multiplicar la \fdt
+por $z^{-m}$, siendo $m$ en número de polos en cadena cerrada (todos en el origen). La
+respuesta ante escalón se puede conseguir como suma de la secuencia impulsional: $\{b_0,
+b_0+b_1, b_0+b_1+b_2, \ldots \}$.
+\ojo{Para los reguladores de tiempo finito, el número de muestras en el origen (valor
+cero) coincide con el tiempo muerto, mientras que el número de muestras del transitorio
+coincide con el número de ceros. Revisar\pagina{H26} ¿Por que se consideran tres muestras
+de transitorio, y no se cuenta la del origen ni la que marca el fin del transitorio, si en
+un sistema continuo se contaría todo el tiempo?}
+\subsubsection{Método de tiempo mínimo}
+Se cancelan todos los polos y ceros de $BG(z)$ interiores a la circunferencia unidad.
+\subsection{Mejora del régimen permanente}
+Para evitar errores en permanente, puede interesar poner una serie de polos en $z=1$, lo
+que se traduce en que en el denominador del regulador habrá un factor $(z-1)^i$, siendo
+$G_R$, por tanto, de la forma
+\begin{equation}\label{SintesisDirectaPolosEnZIgualAUno}
+ G_R = \frac{Q(z)}{(z-1)^i \, P(z)} \tag{2.29}
+\end{equation}
+\subsection{Mejora del régimen transitorio}
+Pueden conseguirse respuestas menos bruscas (menor sobreoscilación, etc.) dando más tiempo
+para que el sistema se estabilice, lo cual puede conseguirse aumentando $m$ en una unidad,
+mientras se mantiene fijo $T_m$, por lo que tendremos un grado de libertad. Otra
+posibilidad es poner un filtro entre la señal de consigna y la entrada al bucle de
+realimentación, de forma que éste perciba una variación más lenta de la señal de consigna
+\pagina{28}.
+\subsection{Notas acerca de los problemas propuestos}
+\begin{itemize}
+ \item Son interesantes los ejemplos para ver como se aplican en la práctica las
+ ecuaciones del estilo a la (\ref{eq:AsignacionPolosIdentificacionCoeficientes}), sobre
+ todo al cálculo de los valores del grado $n$ y a la aplicación correcta de la
+ ecuación (\ref{AsignacionPolosCondicionGradosBucleCerrado}).
+ \item Al incluir integrador en el regulador, la sobreoscilación tiende a aumentar\pagina{40}.
+ \item Se indica un ejemplo donde se permite incrementar $m$ para obtener el grado de
+ libertad que nos permita obtener menor sobreoscilación. También se hace uso del
+ ``truco'' de poner el denominador $z^m$ en la forma $((z-1) + 1)^m$, por lo que haciendo
+ el desarrollo del binomio de Newton, nos permite poner la \fdt de cadena cerrada como
+ factores de $(z-1)^k$ en vez de $z^k$, lo que permite simplificar a la hora de igualar
+ coeficientes, a la vez que garantizamos que no habrá error en permanente, ya que $M(1) =
+ 1$.
+ Hay que andarse con ojo si el factor $K$ que multiplica al proceso no es 1 (estando dicho
+ proceso expresado en la forma de factores $K \cdot \prod (z-c_i)/\prod (z-p_j)$).
+ En ese caso\pagina{45}, el factor $K$ aparecería multiplicando al cociente de polinomios
+ que definen $M(z)$ y el coeficiente $n_0$ no sería 1, sino $1/K$. Un ejemplo de este
+ caso, si se intenta resolver de esta forma, está en el examen del $1^{\textrm{er}}$ parcial
+ del 25 de Marzo de 1999.
+\end{itemize}
+\ojo{¿Es cierto que si no se cancelan ceros del proceso, entonces se tiene que la señal de
+control $u(k)$ también presenta un comportamiento de tiempo finito? ¿De dónde se deduce
+dicha propiedad?}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Algoritmos de diseño (I)}
+\subsection{Algoritmos de tiempo finito (reguladores de Isermann)}
+\begin{itemize}
+ \item La función de transferencia en cadena cerrada no es preespecificada, sino que
+ viene determinada como resultado del diseño. Todos los polos estarán en el origen.
+ \item No se cancela ningún cero, pero sí todos los polos.
+ \item Se incluye integrador, que anula el error en permanente
+ \item Son muy sencillos de calcular.
+\end{itemize}
+\subsection{Regulador de tiempo finito de orden normal}
+La señal de control $u$ estará estabilizada tras $m$ periodos de muestreo, y la de salida
+$y$ tras $m+d$, siendo $d$ el tiempo muerto del proceso.
+\subsubsection{Para procesos con tiempo muerto %
+ \texorpdfstring{$d=0$}{d=0}}
+Los coeficientes resultantes para el
+regulador son:
+\begin{equation}\label{eq:IsermannTiempoFinitoOrdenNormalCoeficientesQCero}
+ q_0 = \frac{1}{\sum b_i} \tag{3.20a}
+\end{equation}
+%
+\begin{equation}\label{eq:IsermannTiempoFinitoOrdenNormalCoeficientesQi}
+ q_i = q_0 \, a_i, \quad i=1,\ldots,m
+ \quad \textrm{(además $\sum q_i = u(m)$, por (3.12, H53))}\tag{3.20b}
+\end{equation}
+%
+\begin{equation}\label{eq:IsermannTiempoFinitoOrdenNormalCoeficientesPi}
+ p_i = q_0 \, b_i, \quad i=1,\ldots,m
+ \quad \textrm{(además $\sum p_i = 1$, por (3.11))}\tag{3.20c}
+\end{equation}
+%
+El regulador resultante ($d=0$) es
+\begin{equation}\label{eq:IsermannTiempoFinitoOrdenNormalSinTiempoMuerto}
+ G_R = \frac{Q(z^{-1}))}{1-P(z^{-1}))} =
+ \frac{q_0 \, A(z^{-1})}{1-q_0 \, B(z^{-1})} \tag{3.21}
+\end{equation}
+El primer valor de la acción de control es
+\begin{equation}\label{eq:IsermannTiempoFinitoOrdenNormalUCero}
+ u(0) = q_0 = \frac{1}{\sum b_i} \tag{3.22}
+\end{equation}
+
+
+\end{document}
+
+--
++----------------------------------------------------------------------------+
+| Oscar Fernandez Sierra |
+| Escuela Tecnica Superior de Ingenieros Industriales de Gijon |
+| Departamento de Construccion e Ingenieria de Fabricacion |
+| Campus de Viesques 33204 - Gijon (Spain) |
+| |
+| E-mail: oscar@charpy.etsiig.uniovi.es Voice: INT +34+ 985.18.22.29/19.30 |
+| WWW: http://www1.uniovi.es/ FAX: INT +34+ 985.18.20.55 |
++----------------------------------------------------------------------------+
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testbib.bbl b/Master/texmf-dist/source/latex/hyperref/test/testbib.bbl
new file mode 100644
index 00000000000..d1f4e25862c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testbib.bbl
@@ -0,0 +1,4 @@
+\begin{thebibliography}{0}
+\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi
+
+\end{thebibliography}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testbib.bib b/Master/texmf-dist/source/latex/hyperref/test/testbib.bib
new file mode 100644
index 00000000000..e2070e7454c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testbib.bib
@@ -0,0 +1,27 @@
+@article{Clark:1987,
+ author = "Adrian Clark",
+ title = "Halftone output from {\TeX}",
+ journal = TUB,
+ volume = "8",
+ number = "3",
+ year = "1987",
+ pages = "270--274"
+}
+
+@unpublished{Clark:1989,
+ author = "James Clark",
+ title = "{DVITOPS} User Manual",
+ year = "1989",
+ note = "unpublished machine-readable documentation"
+}
+
+@article{Clark:1991,
+ author = "Adrian Clark",
+ title = "Practical halftoning with {\TeX}",
+ journal = TUB,
+ volume = "12",
+ number = "1",
+ year = "1991",
+ pages = "157--165"
+}
+
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testbib.tex b/Master/texmf-dist/source/latex/hyperref/test/testbib.tex
new file mode 100644
index 00000000000..81e8930e567
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testbib.tex
@@ -0,0 +1,57 @@
+\errorcontextlines=10
+\documentclass{article}
+\usepackage{times}
+\usepackage{natbib}
+\bibliographystyle{agu}
+\usepackage[colorlinks,citecolor=red,pagebackref,hypertexnames=false]{hyperref}
+\begin{document}
+\title{Another test}
+\author{Sergey Lesenko}
+\maketitle
+
+\section{Introduction}
+(PDF), described in
+\cite{Adobe,Deutsch}, and also available from
+\TeX{} $\longrightarrow$ DVIPS\cite{Rokicki}
+GhostScript\cite{Deutsch}
+TeX2PDF\cite{Sojka}
+\cite{Haralambous:TB16-2-162}. We may compare this route with that
+
+\citeyear{Adobe}, and also available from
+\TeX{} $\longrightarrow$ DVIPS\citeyear{Rokicki}
+GhostScript\citeyear{Deutsch}
+TeX2PDF\citeyear{Sojka}
+\citeyear{Haralambous:TB16-2-162}. We may compare this route with that
+
+\citeauthor{Adobe}, and also available from
+\TeX{} $\longrightarrow$ DVIPS\citeauthor{Rokicki}
+GhostScript\citeauthor{Deutsch}
+TeX2PDF\citeauthor{Sojka}
+\citeauthor{Haralambous:TB16-2-162}. We may compare this route with that
+
+\citefullauthor{Adobe}, and also available from
+\TeX{} $\longrightarrow$ DVIPS\citefullauthor{Rokicki}
+GhostScript\citefullauthor{Deutsch}
+TeX2PDF\citefullauthor{Sojka}
+\citefullauthor{Haralambous:TB16-2-162}. We may compare this route with that
+
+\citet{Adobe}, and also available from
+\TeX{} $\longrightarrow$ DVIPS\citet{Rokicki}
+GhostScript\citet{Deutsch}
+TeX2PDF\citet{Sojka}
+\citet{Haralambous:TB16-2-162}. We may compare this route with that
+
+\citealt{Adobe}, and also available from
+\TeX{} $\longrightarrow$ DVIPS\citealt{Rokicki}
+GhostScript\citealt{Deutsch}
+TeX2PDF\citealt{Sojka}
+\citealt{Haralambous:TB16-2-162}. We may compare this route with that
+
+\cite*{Adobe}, and also available from
+\TeX{} $\longrightarrow$ DVIPS\cite*{Rokicki}
+GhostScript\cite*{Deutsch}
+TeX2PDF\cite*{Sojka}
+\cite*{Haralambous:TB16-2-162}. We may compare this route with that
+
+\bibliography{testbib}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testbma.tex b/Master/texmf-dist/source/latex/hyperref/test/testbma.tex
new file mode 100644
index 00000000000..2bc603cc5ce
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testbma.tex
@@ -0,0 +1,157 @@
+% testbma.tex
+%
+% Function:
+% * How display a pdf reader the bookmarks?
+% * Some problematic unicode glyphs are shown
+% * in the bookmarks
+% * as screenshots.
+%
+% Copyright (c) 2000 by Heiko Oberdiek.
+%
+% This file is part of the `Hyperref Bundle'.
+% -------------------------------------------
+%
+% It may be distributed under the conditions of the LaTeX Project Public
+% License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% The list of all files belonging to the `Hyperref Bundle' is
+% given in the file `manifest.txt'.
+%
+% Please send error reports and suggestions for improvements to
+% Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>.
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{testbma.tex}[2000/07/04 v1.0 Test bookmark artefacts (HO)]
+\documentclass[12pt]{article}
+\usepackage{graphicx}
+\usepackage[unicode]{hyperref}
+\ifx\dimexpr\undefined
+ \usepackage{calc}
+\fi
+\hypersetup{
+ pdftitle={Bookmark artefacts of AcrobatReader},
+ pdfsubject={Unicode pdf bookmarks},
+ pdfauthor={Heiko Oberdiek},
+ pdfkeywords={PDF,bookmark,unicode},
+ pdfstartview=
+ {FitH \hypercalcbp{\paperheight-\topmargin-1in-\headheight}},
+ bookmarksopen
+}
+\usepackage{xspace}
+\usepackage{times}
+\pagestyle{empty}
+\newcounter{abc}
+\setcounter{abc}{0}
+\newcommand*{\test}[1]{%
+ \stepcounter{abc}%
+ \pdfbookmark[2]{#1}{x.\theabc}%
+}
+\newenvironment{testsec}[1]{%
+ \stepcounter{abc}%
+ \pdfbookmark[1]{#1}{sec.\theabc}%
+ \textbf{#1}\par
+}{
+ \clearpage
+}
+\newcommand*\x[2]{{} #1-#2 \xspace}
+\newcommand{\dotest}{%
+ \testskip
+ \test{\A\a}
+ \test{\B\b}
+ \test{\A\B}
+ \test{\a\b}
+ \test{\A\a\B\b}
+ \test{\B\b\A\a}
+}
+\newenvironment{testtab}{%
+ \begin{tabular}{l@{\quad=\quad}ll}%
+}{%
+ \end{tabular}%
+ \par
+}
+\newcommand*{\testpic}[1]{%
+ \testskip
+ \fbox{\includegraphics[width=.8\linewidth]{#1}}%
+}
+\newcommand{\testskip}{%
+ \vspace{3ex plus 1ex minus .5ex}%
+}
+\setlength{\parindent}{0pt}
+\begin{document}
+\centering
+\huge
+\begin{testsec}{OE oe}
+ \def\A{\x A{\80\226}}
+ \def\a{\x a{\80\234}}
+ \def\B{\x B{\81\122}}
+ \def\b{\x b{\81\123}}
+ \dotest
+ \begin{testtab}
+ A&\verb+\80\226+&(OE)\\
+ a&\verb+\80\234+&(oe)\\
+ B&\verb+\81\122+&(OE)\\
+ b&\verb+\81\123+&(oe)\\
+ \end{testtab}
+ \testpic{bmoe}
+\end{testsec}
+\begin{testsec}{Scaron scaron}
+ \def\A{\x A{\80\227}}
+ \def\a{\x a{\80\235}}
+ \def\B{\x B{\81\140}}
+ \def\b{\x b{\81\141}}
+ \dotest
+ \begin{testtab}
+ A&\verb+\80\227+&(Scaron)\\
+ a&\verb+\80\235+&(scaron)\\
+ B&\verb+\81\140+&(Scaron)\\
+ b&\verb+\81\141+&(scaron)\\
+ \end{testtab}
+ \testpic{bmsc}
+\end{testsec}
+\begin{testsec}{Zcaron zcaron}
+ \def\A{\x A{\80\231}}
+ \def\a{\x a{\80\236}}
+ \def\B{\x B{\81\175}}
+ \def\b{\x b{\81\176}}
+ \dotest
+ \begin{testtab}
+ A&\verb+\80\231+&(Zcaron)\\
+ a&\verb+\80\236+&(zcaron)\\
+ B&\verb+\81\175+&(Zcaron)\\
+ b&\verb+\81\176+&(zcaron)\\
+ \end{testtab}
+ \testpic{bmzc}
+\end{testsec}
+\begin{testsec}{Ydieresis dotlessi}
+ \def\A{\x A{\80\230}}
+ \def\a{\x a{\80\232}}
+ \def\B{\x B{\81\170}}
+ \def\b{\x b{\81\061}}
+ \dotest
+ \begin{testtab}
+ A&\verb+\80\230+&(Ydieresis)\\
+ a&\verb+\80\232+&(dotlessi)\\
+ B&\verb+\81\170+&(Ydieresis)\\
+ b&\verb+\81\061+&(dotlessi)\\
+ \end{testtab}
+ \testpic{bmyi}
+\end{testsec}
+\begin{testsec}{Lslash lslash}
+ \def\A{\x A{\80\225}}
+ \def\a{\x a{\80\233}}
+ \def\B{\x B{\81\101}}
+ \def\b{\x b{\81\102}}
+ \dotest
+ \begin{testtab}
+ A&\verb+\80\225+&(Lslash)\\
+ a&\verb+\80\233+&(lslash)\\
+ B&\verb+\81\101+&(Lslash)\\
+ b&\verb+\81\102+&(lslash)\\
+ \end{testtab}
+ \testpic{bml}
+\end{testsec}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testbmgl.tex b/Master/texmf-dist/source/latex/hyperref/test/testbmgl.tex
new file mode 100644
index 00000000000..f971606fab2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testbmgl.tex
@@ -0,0 +1,522 @@
+% testbmgl.tex
+%
+% Function:
+% * How display a pdf reader the bookmarks?
+% * Do hyperref.sty and pd1enc.def work properly?
+% * Shows the LaTeX code to get the glyphs.
+%
+% Copyright (c) 1999, 2000 by Heiko Oberdiek.
+%
+% This file is part of the `Hyperref Bundle'.
+% -------------------------------------------
+%
+% It may be distributed under the conditions of the LaTeX Project Public
+% License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% The list of all files belonging to the `Hyperref Bundle' is
+% given in the file `manifest.txt'.
+%
+% Please send error reports and suggestions for improvements to
+% Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>.
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{testbmgl.tex}[2000/03/31 v1.2 Test bookmark glyphs (HO)]
+\documentclass[12pt,a4paper]{article}
+\usepackage[
+ bookmarks,
+ colorlinks,
+]{hyperref}[1999/08/31]% v6.65d or later
+\pdfstringdefDisableCommands{\let\\\textbackslash}
+\IfFileExists{times.sty}{\usepackage{times}}{}
+\pagestyle{empty}
+
+\makeatletter
+% from doc.sty:
+\def\GetFileInfo#1{%
+ \def\filename{#1}%
+ \def\@tempb##1 ##2 ##3\relax##4\relax{%
+ \def\filedate{##1}%
+ \def\fileversion{##2}%
+ \def\fileinfo{##3}%
+ }%
+ \edef\@tempa{\csname ver@#1\endcsname}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax
+}
+\GetFileInfo{testbmgl.tex}
+\hypersetup{
+ pdftitle={\fileinfo},
+ pdfsubject={\filename\space[\filedate\space\fileversion]},
+ pdfauthor={Heiko Oberdiek},
+ pdfkeywords={bookmarks hyperref PDFDocEncoding glyph slot},
+}
+
+\edef\BackSlash{\expandafter\@car\string\\\@nil}%
+\edef\0{\string\0}%
+\edef\1{\string\1}%
+\edef\2{\string\2}%
+\edef\3{\string\3}%
+
+\newcommand*\oct[2]{%
+ \typeout{Processing glyphs #1#20..#1#27}%
+ \begingroup
+ \edef\x{\csname#1\endcsname#2}%
+ \pdfbookmark[1]{#1#20..#1#27:
+ \_\x0\_\x1\_\x2\_\x3\_\x4\_\x5\_\x6\_\x7\_%
+ }{#1#2}%
+ \endgroup
+}
+
+\newcommand*{\@defbookmarkverbcmd}[2]{%
+ \def#1{#2}%
+ \edef#1{\expandafter\strip@prefix\meaning#1}%
+ \edef#1{\expandafter\@removespace#1 \| \|\@nil#1}%
+ \edef\first{\expandafter\@car#1\@nil}%
+ \ifx\first\BackSlash
+ \edef#1{\noexpand\textbackslash\expandafter\@gobble#1}%
+ \fi
+}
+\def\@removespace#1 \|#2\@nil#3{\ifx\relax#2\relax#3\else#1\fi}
+
+\newcounter{alias}
+\renewcommand{\thealias}{\alph{alias}}
+
+% #1#2#3: octal code
+% #4: glyph name
+% #5: pd1enc-command
+\newcommand*\E[6]{%
+ \setcounter{alias}{0}%
+ \begingroup
+ \@defbookmarkverbcmd\x{#5}%
+ \def\comment{#6}%
+ \ifx\comment\@empty
+ \else
+ \def\comment{ (#6)}%
+ \fi
+ \pdfbookmark[2]{%
+ \textbackslash#1#2#3:
+ \_\csname#1\endcsname#2#3\_#5\_
+ #4 - \x\comment}{#1#2#3}%
+ \endgroup
+ \renewcommand*{\alias}[2][]{%
+ \stepcounter{alias}%
+ \begingroup
+ \ifx\relax##1\relax%
+ \@defbookmarkverbcmd\x{##2}%
+ \else
+ \def\x{##1}%
+ \fi
+ \pdfbookmark[3]{alias: \_##2\_ \x}{#1#2#3\thealias}%
+ \endgroup
+ }%
+}
+\newcommand*\alias[2][]{}
+\newcommand*\e[5]{\E#1#2#3{#4}{#5}{}}%
+
+\newcommand*\un[3]{%
+ \pdfbookmark[2]{\textbackslash#1#2#3: unused %
+ (\_\csname#1\endcsname#2#3\_)}{#1#2#3}%
+}
+
+\newcounter{symlist}
+\newcounter{symbol}[symlist]
+\newcommand*\symlist[1]{%
+ \stepcounter{symlist}%
+ \typeout{Processing symbol list \thesymlist}%
+ \begingroup
+ \def\x{\_}%
+ \@tfor\glyph:=#1\do{%
+ \expandafter\@addtox\glyph\_\@nil
+ }%
+ \pdfbookmark[1]{Symbols: \x}{symbol-\thesymlist}%
+ \@tfor\glyph:=#1\do{%
+ \stepcounter{symbol}%
+ \expandafter\@defbookmarkverbcmd\expandafter\x\expandafter{\glyph}%
+ \pdfbookmark[2]{\_\glyph\_ \x}{symbol-\thesymlist.\thesymbol}%
+ }%
+ \endgroup
+}
+\def\@addtox#1\@nil{%
+ \expandafter\def\expandafter\x\expandafter{\x#1}%
+}
+
+\makeatother
+
+\begin{document}
+ \oct00
+ \un000
+ \un001
+ \un002
+ \un003
+ \un004
+ \un005
+ \un006
+ \un007
+ \oct01
+ \e010{back space}\textBS
+ \e011{horizontal tab}\textHT
+ \e012{line feed}\textLF
+ \un013
+ \e014{form feed}\textFF
+ \e015{carriage return}\textCR
+ \un016
+ \un017
+ \oct02
+ \un020
+ \un021
+ \un022
+ \un023
+ \un024
+ \un025
+ \un026
+ \un027
+ \oct03
+ \e030{breve}\textbreve
+ \e031{caron}\textcaron
+ \alias{\v{}}
+ \e032{circumflex}\textcircumflex
+ \alias{\^{}}
+ \e033{dotaccent}\textdotaccent
+ \alias{\.{}}
+ \e034{hungarumlaut}\texthungarumlaut
+ \e035{ogonek}\textogonek
+ \e036{ring}\textring
+ \alias{\r{}}
+ \e037{tilde}\texttilde
+ \alias{\~{}}
+ \oct04
+ \e040{space}\space
+ \alias[\\\space]\
+ \alias~
+ \e041{exclam}!
+ \e042{quotedbl}\textquotedbl
+ \e043{numbersign}\textnumbersign
+ \alias[\textbackslash\#]\#
+ \e044{dollar}\textdollar
+ \alias[\textbackslash\$]\$
+ \e045{percent}\textpercent
+ \alias[\textbackslash\%]\%
+ \e046{ampersand}\textampersand
+ \alias[\textbackslash\&]\&
+ \e047{quotesingle}'
+ \oct05
+ \e050{parenleft}\textparenleft
+ \e051{parenright}\textparenright
+ \e052{asterisk}*
+ \e053{plus}+
+ \e054{comma},
+ \e055{hyphen}-
+ \e056{period}.
+ \e057{slash}/
+ \oct06
+ \e060{zero}0
+ \e061{one}1
+ \e062{two}2
+ \e063{three}3
+ \e064{four}4
+ \e065{five}5
+ \e066{six}6
+ \e067{seven}7
+ \oct07
+ \e070{eight}8
+ \e071{nine}9
+ \e072{colon}:
+ \e073{semicolon};
+ \e074{less}\textless
+ \alias<
+ \e075{equal}=
+ \e076{greater}\textgreater
+ \alias>
+ \e077{question}?
+ \oct10
+ \e100{at}@
+ \e101AA
+ \e102BB
+ \e103CC
+ \e104DD
+ \e105EE
+ \e106FF
+ \e107GG
+ \oct11
+ \e110HH
+ \e111II
+ \e112JJ
+ \e113KK
+ \e114LL
+ \e115MM
+ \e116NN
+ \e117OO
+ \oct12
+ \e120PP
+ \e121QQ
+ \e122RR
+ \e123SS
+ \e124TT
+ \e125UU
+ \e126VV
+ \e127WW
+ \oct13
+ \e130XX
+ \e131YY
+ \e132ZZ
+ \e133{bracketleft}[
+ \e134{backslash}\textbackslash
+ \alias[\\\\]\\
+ \e135{bracketright}]
+ \e136{asciicircum}\textasciicircum
+ \e137{underscore}\textunderscore
+ \alias[\textbackslash\_]\_
+ \oct14
+ \e140{grave}\textgrave
+ \alias{\`{}}
+ \e141aa
+ \e142bb
+ \e143cc
+ \e144dd
+ \e145ee
+ \e146ff
+ \e147gg
+ \oct15
+ \e150hh
+ \e151ii
+ \e152jj
+ \e153kk
+ \e154ll
+ \e155mm
+ \e156nn
+ \e157oo
+ \oct16
+ \e160pp
+ \e161qq
+ \e162rr
+ \e163ss
+ \e164tt
+ \e165uu
+ \e166vv
+ \e167ww
+ \oct17
+ \e170xx
+ \e171yy
+ \e172zz
+ \e173{braceleft}\textbraceleft
+ \alias[\textbackslash\{]\{
+ \e174{bar}\textbar
+ \e175{braceright}\textbraceright
+ \alias[\textbackslash\}]\}
+ \e176{asciitilde}\textasciitilde
+ \un177
+ \oct20
+ \e200{bullet}\textbullet
+ \e201{dagger}\textdagger
+ \e202{daggerdbl}\textdaggerdbl
+ \e203{ellipsis}\textellipsis
+ \alias\dots
+ \alias\ldots
+ \e204{emdash}\textemdash
+ \e205{endash}\textendash
+ \e206{florin}\textflorin
+ \e207{fraction}\textfractionmark
+ \oct21
+ \e210{guilsinglleft}\guilsinglleft
+ \e211{guilsinglright}\guilsinglright
+ \e212{minus}\textminus
+ \e213{perthousand}\textperthousand
+ \e214{quotedblbase}\quotedblbase
+ \alias\textglqq
+ \alias\glqq
+ \e215{quotedblleft}\textquotedblleft
+ \alias\textgrqq
+ \alias\grqq
+ \e216{quotedblright}\textquotedblright
+ \e217{quoteleft}\textquoteleft
+ \oct22
+ \e220{quoteright}\textquoteright
+ \e221{quotesinglbase}\quotesinglbase
+ \e222{trademark}\texttrademark
+ \e223{fi}\textfi
+ \e224{fl}\textfl
+ \e225{Lslash}\L
+ \e226{OE}\OE
+ \e227{Scaron}{\v S}
+ \oct23
+ \e230{Ydieresis}{\"Y}
+ \E231{Zcaron}{\v Z}{PDF 1.3}
+ \e232{dotlessi}\i
+ \e233{lslash}\l
+ \e234{oe}\oe
+ \e235{scaron}{\v s}
+ \E236{zcaron}{\v z}{PDF 1.3}
+ \un237
+ \oct24
+ \E240{Euro}{\texteuro}{PDF 1.3}
+ \e241{exclamdown}\textexclamdown
+ \alias[!{}']{!`}
+ \e242{cent}\textcent
+ \e243{sterling}\textsterling
+ \e244{currency}\textcurrency
+ \e245{yen}\textyen
+ \e246{brokenbar}\textbrokenbar
+ \e247{section}\textsection
+ \oct25
+ \e250{dieresis}\textdieresis
+ \alias{\"{}}
+ \e251{copyright}\textcopyright
+ \e252{ordfeminine}\textordfeminine
+ \e253{guillemotleft}\guillemotleft
+ \alias\textflqq
+ \alias\flqq
+ \e254{logicalnot}\textlogicalnot
+ \alias\textneg
+ \un255
+ \e256{registered}\textregistered
+ \e257{macron}\textmacron
+ \oct26
+ \e260{degree}\textdegree
+ \e261{plusminus}\textplusminus
+ \alias\textpm
+ \e262{twosuperior}\texttwosuperior
+ \e263{threesuperior}\textthreesuperior
+ \e264{acute}\textacute
+ \alias{\'{}}
+ \e265{mu}\textmu
+ \e266{paragraph}\textparagraph
+ \alias\P
+ \e267{periodcentered}\textperiodcentered
+ \alias\textcdot
+ \oct27
+ \e270{cedilla}\textcedilla
+ \alias{\c{}}
+ \e271{onesuperior}\textonesuperior
+ \e272{ordmasculine}\textordmasculine
+ \e273{guillemotright}\guillemotright
+ \alias\textfrqq
+ \alias\frqq
+ \e274{onequarter}\textonequarter
+ \e275{onehalf}\textonehalf
+ \e276{threequarters}\textthreequarters
+ \e277{questiondown}\textquestiondown
+ \alias[?{}']{?`}
+ \oct30
+ \e300{Agrave}{\`A}
+ \e301{Aacute}{\'A}
+ \e302{Acircumflex}{\^A}
+ \e303{Atilde}{\~A}
+ \e304{Adieresis}{\"A}
+ \e305{Aring}{\r A}
+ \e306{AE}{\AE}
+ \e307{Ccedilla}{\c C}
+ \oct31
+ \e310{Egrave}{\`E}
+ \e311{Eacute}{\'E}
+ \e312{Ecircumflex}{\^E}
+ \e313{Edieresis}{\"E}
+ \e314{Igrave}{\`I}
+ \e315{Iacute}{\'I}
+ \e316{Icircumflex}{\^I}
+ \e317{Idieresis}{\"I}
+ \oct32
+ \e320{Eth}\DH
+ \alias\DJ
+ \e321{Ntilde}{\~N}
+ \e322{Ograve}{\`O}
+ \e323{Oacute}{\'O}
+ \e324{Ocircumflex}{\^O}
+ \e325{Otilde}{\~O}
+ \e326{Odieresis}{\"O}
+ \e327{multiply}\textmultiply
+ \alias\texttimes
+ \oct33
+ \e330{Oslash}\O
+ \e331{Ugrave}{\`U}
+ \e332{Uacute}{\'U}
+ \e333{Ucircumflex}{\^U}
+ \e334{Udieresis}{\"U}
+ \e335{Yacute}{\'Y}
+ \e336{Thorn}\TH
+ \e337{germandbls}\ss
+ \alias\textbeta
+ \oct34
+ \e340{agrave}{\`a}
+ \e341{aacute}{\'a}
+ \e342{acircumflex}{\^a}
+ \e343{atilde}{\~a}
+ \e344{adieresis}{\"a}
+ \e345{aring}{\r a}
+ \e346{ae}{\ae}
+ \e347{ccedilla}{\c c}
+ \oct35
+ \e350{egrave}{\`e}
+ \e351{eacute}{\'e}
+ \e352{ecircumflex}{\^e}
+ \e353{edieresis}{\"e}
+ \e354{igrave}{\`i}
+ \alias[\\`\\i]{\`\i}
+ \e355{iacute}{\'i}
+ \alias[\\'\\i]{\'\i}
+ \e356{icircumflex}{\^i}
+ \alias[\\\textcircumflex\\i]{\^\i}
+ \e357{idieresis}{\"i}
+ \alias[\\"\\i]{\"\i}
+ \oct36
+ \e360{eth}\dh
+ \e361{ntilde}{\~n}
+ \e362{ograve}{\`o}
+ \e363{oacute}{\'o}
+ \e364{ocircumflex}{\^o}
+ \e365{otilde}{\~o}
+ \e366{odieresis}{\"o}
+ \e367{divide}\textdivide
+ \alias\textdiv
+ \oct37
+ \e370{oslash}\o
+ \e371{ugrave}{\`u}
+ \e372{uacute}{\'u}
+ \e373{ucircumflex}{\^u}
+ \e374{udieresis}{\"u}
+ \e375{yacute}{\'y}
+ \e376{thorn}\th
+ \e377{ydieresis}{\"y}
+ \symlist{\SS\textcelsius}
+ \symlist{\TeX\LaTeX\LaTeXe}
+ \symlist{\eTeX\MF\MP}
+
+ \section*{\fileinfo}
+ Document: \textbf{\filename\space[\filedate\space\fileversion]}
+ \subsection*{Function}
+ This test file has several tasks:
+ \begin{itemize}
+ \item Testing package \emph{hyperref} with encoding file
+ \emph{pd1enc.def}.
+ \item Showing glyph commands and aliases that are supported by
+ package \emph{hyperref}.
+ \item Test for the pdf reader, especially \emph{AcrobatReader}.
+ Which glyphs of the \emph{PDFDocEncoding} are
+ correctly displayed?
+ \item These glyphs are shown that package \emph{hyperref}
+ replaces with simpler letters in order to avoid missing glyphs.
+ \end{itemize}
+ \subsection*{Short explanation of the bookmarks}
+ \begin{enumerate}
+ \item The outline entries of the first level show a summary of their
+ subentries. Second a screenshot with closed bookmarks
+ will contain all slots of the \emph{PDFDocEncoding}.
+ \item The second level of outline entries describes each slot or glyph:
+ \begin{enumerate}
+ \item \label{oct}%
+ Octal code of the slot in the \emph{PDFDocEncoding}.
+ \item The glyph is shown twice, surrounded by underscores:
+ The first one is produced by the octal sequence, see \ref{oct}.
+ The second one is the result of the higher glyph command,
+ see \ref{high}.
+ \item The glyph name of \emph{PDFDocEncoding}.
+ \item \label{high}%
+ The higher glyph \TeX-command, supported by
+ package \emph{hyperref}.
+ \end{enumerate}
+ \item Aliases of the glyph commands are shown as subentries of the
+ outline that describes the slot of that glyph command.
+ \end{enumerate}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testbmu.tex b/Master/texmf-dist/source/latex/hyperref/test/testbmu.tex
new file mode 100644
index 00000000000..c2a36fece27
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testbmu.tex
@@ -0,0 +1,2014 @@
+% testbmu.tex
+%
+% Function:
+% * How display a pdf reader the bookmarks?
+% * Do hyperref.sty and puenc.def work properly?
+% * Shows the LaTeX code to get the glyphs.
+%
+% Copyright (c) 1999, 2000, 2006 by Heiko Oberdiek.
+%
+% This file is part of the `Hyperref Bundle'.
+% -------------------------------------------
+%
+% It may be distributed under the conditions of the LaTeX Project Public
+% License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% The list of all files belonging to the `Hyperref Bundle' is
+% given in the file `manifest.txt'.
+%
+% Please send error reports and suggestions for improvements to
+% Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>.
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{testbmu.tex}[2006/06/27 v1.3 Test bookmark glyphs (HO)]
+\documentclass[12pt,a4paper]{article}
+\usepackage[
+ unicode,
+ bookmarks,
+ bookmarksopen,
+ bookmarksopenlevel=0,
+ colorlinks,
+]{hyperref}[1999/08/31]% 6.65d or later
+\pdfstringdefDisableCommands{\let\\\textbackslash}
+\IfFileExists{times.sty}{\usepackage{times}}{}
+\pagestyle{empty}
+
+\makeatletter
+% from doc.sty:
+\def\GetFileInfo#1{%
+ \def\filename{#1}%
+ \def\@tempb##1 ##2 ##3\relax##4\relax{%
+ \def\filedate{##1}%
+ \def\fileversion{##2}%
+ \def\fileinfo{##3}%
+ }%
+ \edef\@tempa{\csname ver@#1\endcsname}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax
+}
+\GetFileInfo{testbmu.tex}
+\hypersetup{
+ pdftitle={\fileinfo},
+ pdfsubject={\filename\space[\filedate\space\fileversion]},
+ pdfauthor={Heiko Oberdiek},
+ pdfkeywords={bookmarks hyperref Unicode glyph slot},
+}
+
+\edef\BackSlash{\expandafter\@car\string\\\@nil}%
+\edef\0{\string\0}%
+\edef\1{\string\1}%
+\edef\2{\string\2}%
+\edef\3{\string\3}%
+\edef\9{\string\9}%
+
+\newcommand*\tit[3]{%
+ \typeout{Unicode high byte #1#2#3}%
+ \def\highbyte{#1#2#3}%
+ \def\hb{\9#1#2#3}%
+ \pdfbookmark[0]{Unicode high byte: #1#2#3}{#1#2#3}%
+}
+
+\newcommand*\oct[2]{%
+ \typeout{Processing glyphs \highbyte/#1#20..#1#27}%
+ \begingroup
+ \edef\x{\hb\csname#1\endcsname#2}%
+ \pdfbookmark[1]{\highbyte/#1#20..#1#27:
+ \_\x0\_\x1\_\x2\_\x3\_\x4\_\x5\_\x6\_\x7\_%
+ }{\highbyte.#1#2}%
+ \endgroup
+}
+
+\newcommand*{\@defbookmarkverbcmd}[2]{%
+ \def#1{#2}%
+ \edef#1{\expandafter\strip@prefix\meaning#1}%
+ \edef#1{\expandafter\@removespace#1 \| \|\@nil#1}%
+ \edef\first{\expandafter\@car#1\@nil}%
+ \ifx\first\BackSlash
+ \edef#1{\noexpand\textbackslash\expandafter\@gobble#1}%
+ \fi
+ \edef#1{\expandafter\@changebackslash\expandafter{#1}}%
+}
+\def\@removespace#1 \|#2\@nil#3{\ifx\relax#2\relax#3\else#1\fi}
+\begingroup
+ \catcode`\|=0
+ \catcode`\\=12
+ |gdef|@changebackslash#1{|@@change#1\|END}%
+ |gdef|@@change#1\#2|END{%
+ |noexpand#1|@empty
+ |ifx|\#2|\%
+ |else
+ |noexpand|textbackslash
+ |@removeback#2%
+ |fi
+ }
+ |gdef|@removeback#1\{#1}
+|endgroup
+
+\newcounter{alias}
+\renewcommand{\thealias}{\alph{alias}}
+
+% #1#2#3: octal code
+% #4: glyph name
+% #5: pd1enc-command
+\newcommand*\E[6]{%
+ \setcounter{alias}{0}%
+ \begingroup
+ \@defbookmarkverbcmd\x{#5}%
+ \def\comment{#6}%
+ \ifx\comment\@empty
+ \else
+ \def\comment{ (#6)}%
+ \fi
+ \pdfbookmark[2]{%
+ \textbackslash#1#2#3:
+ \_\hb\csname#1\endcsname#2#3\_#5\_
+ #4 - \x\comment}{\highbyte.#1#2#3}%
+ \endgroup
+ \renewcommand*{\alias}[2][]{%
+ \stepcounter{alias}%
+ \begingroup
+ \ifx\relax##1\relax%
+ \@defbookmarkverbcmd\x{##2}%
+ \else
+ \def\x{##1}%
+ \fi
+ \pdfbookmark[3]{alias: \_##2\_ \x}{\highbyte.#1#2#3\thealias}%
+ \endgroup
+ }%
+}
+\newcommand*\alias[2][]{}
+\newcommand*\e[5]{\E#1#2#3{#4}{#5}{}}%
+
+\newcommand*\un[3]{%
+ \pdfbookmark[2]{\textbackslash#1#2#3: unused %
+ (\_\hb\csname#1\endcsname#2#3\_)}{\highbyte.#1#2#3}%
+}
+\newcommand*\na[3]{%
+ \pdfbookmark[2]{\textbackslash#1#2#3: n. a. %
+ (\_\hb\csname#1\endcsname#2#3\_)}{\highbyte.#1#2#3}%
+}
+
+\newcounter{symlist}
+\newcounter{symbol}[symlist]
+\newcommand*\symlist[1]{%
+ \stepcounter{symlist}%
+ \typeout{Processing symbol list \thesymlist}%
+ \begingroup
+ \def\x{\_}%
+ \@tfor\glyph:=#1\do{%
+ \expandafter\@addtox\glyph\_\@nil
+ }%
+ \pdfbookmark[1]{Symbols: \x}{symbol-\thesymlist}%
+ \@tfor\glyph:=#1\do{%
+ \stepcounter{symbol}%
+ \expandafter\@defbookmarkverbcmd\expandafter\x\expandafter{\glyph}%
+ \pdfbookmark[2]{\_\glyph\_ \x}{symbol-\thesymlist.\thesymbol}%
+ }%
+ \endgroup
+}
+\def\@addtox#1\@nil{%
+ \expandafter\def\expandafter\x\expandafter{\x#1}%
+}
+
+\makeatother
+
+\begin{document}
+ \tit000
+ \oct00
+ \un000
+ \un001
+ \un002
+ \un003
+ \un004
+ \un005
+ \un006
+ \un007
+ \oct01
+ \e010{back space}\textBS
+ \e011{horizontal tab}\textHT
+ \e012{line feed}\textLF
+ \un013
+ \e014{form feed}\textFF
+ \e015{carriage return}\textCR
+ \un016
+ \un017
+ \oct02
+ \un020
+ \un021
+ \un022
+ \un023
+ \un024
+ \un025
+ \un026
+ \un027
+ \oct03
+ \e030{breve}\textbreve
+ \e031{caron}\textcaron
+ \alias{\v{}}
+ \e032{circumflex}\textcircumflex
+ \alias{\^{}}
+ \e033{dotaccent}\textdotaccent
+ \alias{\.{}}
+ \e034{hungarumlaut}\texthungarumlaut
+ \e035{ogonek}\textogonek
+ \e036{ring}\textring
+ \alias{\r{}}
+ \e037{tilde}\texttilde
+ \alias{\~{}}
+ \oct04
+ \e040{space}\space
+ \alias[\\\space]\
+ \alias~
+ \e041{exclam}!
+ \e042{quotedbl}\textquotedbl
+ \e043{numbersign}\textnumbersign
+ \alias[\textbackslash\#]\#
+ \e044{dollar}\textdollar
+ \alias[\textbackslash\$]\$
+ \e045{percent}\textpercent
+ \alias[\textbackslash\%]\%
+ \e046{ampersand}\textampersand
+ \alias[\textbackslash\&]\&
+ \e047{quotesingle}'
+ \oct05
+ \e050{parenleft}\textparenleft
+ \e051{parenright}\textparenright
+ \e052{asterisk}*
+ \e053{plus}+
+ \e054{comma},
+ \e055{hyphen}-
+ \alias\textminus
+ \e056{period}.
+ \e057{slash}/
+ \oct06
+ \e060{zero}0
+ \e061{one}1
+ \e062{two}2
+ \e063{three}3
+ \e064{four}4
+ \e065{five}5
+ \e066{six}6
+ \e067{seven}7
+ \oct07
+ \e070{eight}8
+ \e071{nine}9
+ \e072{colon}:
+ \e073{semicolon};
+ \e074{less}\textless
+ \alias<
+ \e075{equal}=
+ \e076{greater}\textgreater
+ \alias>
+ \e077{question}?
+ \oct10
+ \e100{at}@
+ \e101AA
+ \e102BB
+ \e103CC
+ \e104DD
+ \e105EE
+ \e106FF
+ \e107GG
+ \oct11
+ \e110HH
+ \e111II
+ \e112JJ
+ \e113KK
+ \e114LL
+ \e115MM
+ \e116NN
+ \e117OO
+ \oct12
+ \e120PP
+ \e121QQ
+ \e122RR
+ \e123SS
+ \e124TT
+ \e125UU
+ \e126VV
+ \e127WW
+ \oct13
+ \e130XX
+ \e131YY
+ \e132ZZ
+ \e133{bracketleft}[
+ \e134{backslash}\textbackslash
+ \alias[\\\\]\\
+ \e135{bracketright}]
+ \e136{asciicircum}\textasciicircum
+ \e137{underscore}\textunderscore
+ \alias[\textbackslash\_]\_
+ \oct14
+ \e140{grave}\textgrave
+ \alias{\`{}}
+ \e141aa
+ \e142bb
+ \e143cc
+ \e144dd
+ \e145ee
+ \e146ff
+ \e147gg
+ \oct15
+ \e150hh
+ \e151ii
+ \e152jj
+ \e153kk
+ \e154ll
+ \e155mm
+ \e156nn
+ \e157oo
+ \oct16
+ \e160pp
+ \e161qq
+ \e162rr
+ \e163ss
+ \e164tt
+ \e165uu
+ \e166vv
+ \e167ww
+ \oct17
+ \e170xx
+ \e171yy
+ \e172zz
+ \e173{braceleft}\textbraceleft
+ \alias[\textbackslash\{]\{
+ \e174{bar}\textbar
+ \e175{braceright}\textbraceright
+ \alias[\textbackslash\}]\}
+ \e176{asciitilde}\textasciitilde
+ \na177
+ \oct20
+ \na200
+ \na201
+ \na202
+ \na203
+ \na204
+ \na205
+ \na206
+ \na207
+ \oct21
+ \na210
+ \na211
+ \na212
+ \na213
+ \na214
+ \na215
+ \na216
+ \na217
+ \oct22
+ \na220
+ \na221
+ \na222
+ \na223
+ \na224
+ \na225
+ \na226
+ \na227
+ \oct23
+ \na230
+ \na231
+ \na232
+ \na233
+ \na234
+ \na235
+ \na236
+ \na237
+ \oct24
+ \na240
+ \e241{exclamdown}\textexclamdown
+ \alias[!{}']{!`}
+ \e242{cent}\textcent
+ \e243{sterling}\textsterling
+ \e244{currency}\textcurrency
+ \e245{yen}\textyen
+ \e246{brokenbar}\textbrokenbar
+ \e247{section}\textsection
+ \oct25
+ \e250{dieresis}\textdieresis
+ \alias{\"{}}
+ \e251{copyright}\textcopyright
+ \e252{ordfeminine}\textordfeminine
+ \e253{guillemotleft}\guillemotleft
+ \alias\textflqq
+ \alias\flqq
+ \e254{logicalnot}\textlogicalnot
+ \alias\textneg
+ \un255
+ \e256{registered}\textregistered
+ \e257{macron}\textmacron
+ \oct26
+ \e260{degree}\textdegree
+ \e261{plusminus}\textplusminus
+ \alias\textpm
+ \e262{twosuperior}\texttwosuperior
+ \e263{threesuperior}\textthreesuperior
+ \e264{acute}\textacute
+ \alias{\'{}}
+ \e265{mu}\textmu
+ \e266{paragraph}\textparagraph
+ \alias\P
+ \e267{periodcentered}\textperiodcentered
+ \alias\textcdot
+ \oct27
+ \e270{cedilla}\textcedilla
+ \alias{\c{}}
+ \e271{onesuperior}\textonesuperior
+ \e272{ordmasculine}\textordmasculine
+ \e273{guillemotright}\guillemotright
+ \alias\textfrqq
+ \alias\frqq
+ \e274{onequarter}\textonequarter
+ \e275{onehalf}\textonehalf
+ \e276{threequarters}\textthreequarters
+ \e277{questiondown}\textquestiondown
+ \alias[?{}']{?`}
+ \oct30
+ \e300{Agrave}{\`A}
+ \e301{Aacute}{\'A}
+ \e302{Acircumflex}{\^A}
+ \e303{Atilde}{\~A}
+ \e304{Adieresis}{\"A}
+ \e305{Aring}{\r A}
+ \e306{AE}{\AE}
+ \e307{Ccedilla}{\c C}
+ \oct31
+ \e310{Egrave}{\`E}
+ \e311{Eacute}{\'E}
+ \e312{Ecircumflex}{\^E}
+ \e313{Edieresis}{\"E}
+ \e314{Igrave}{\`I}
+ \e315{Iacute}{\'I}
+ \e316{Icircumflex}{\^I}
+ \e317{Idieresis}{\"I}
+ \oct32
+ \e320{Eth}\DH
+ \alias\DJ
+ \e321{Ntilde}{\~N}
+ \e322{Ograve}{\`O}
+ \e323{Oacute}{\'O}
+ \e324{Ocircumflex}{\^O}
+ \e325{Otilde}{\~O}
+ \e326{Odieresis}{\"O}
+ \e327{multiply}\textmultiply
+ \alias\texttimes
+ \oct33
+ \e330{Oslash}\O
+ \e331{Ugrave}{\`U}
+ \e332{Uacute}{\'U}
+ \e333{Ucircumflex}{\^U}
+ \e334{Udieresis}{\"U}
+ \e335{Yacute}{\'Y}
+ \e336{Thorn}\TH
+ \e337{germandbls}\ss
+ \alias\textbeta
+ \oct34
+ \e340{agrave}{\`a}
+ \e341{aacute}{\'a}
+ \e342{acircumflex}{\^a}
+ \e343{atilde}{\~a}
+ \e344{adieresis}{\"a}
+ \e345{aring}{\r a}
+ \e346{ae}{\ae}
+ \e347{ccedilla}{\c c}
+ \oct35
+ \e350{egrave}{\`e}
+ \e351{eacute}{\'e}
+ \e352{ecircumflex}{\^e}
+ \e353{edieresis}{\"e}
+ \e354{igrave}{\`i}
+ \alias[\\`\\i]{\`\i}
+ \e355{iacute}{\'i}
+ \alias[\\'\\i]{\'\i}
+ \e356{icircumflex}{\^i}
+ \alias[\\\textcircumflex\\i]{\^\i}
+ \e357{idieresis}{\"i}
+ \alias[\\"\\i]{\"\i}
+ \oct36
+ \e360{eth}\dh
+ \e361{ntilde}{\~n}
+ \e362{ograve}{\`o}
+ \e363{oacute}{\'o}
+ \e364{ocircumflex}{\^o}
+ \e365{otilde}{\~o}
+ \e366{odieresis}{\"o}
+ \e367{divide}\textdivide
+ \alias\textdiv
+ \oct37
+ \e370{oslash}\o
+ \e371{ugrave}{\`u}
+ \e372{uacute}{\'u}
+ \e373{ucircumflex}{\^u}
+ \e374{udieresis}{\"u}
+ \e375{yacute}{\'y}
+ \e376{thorn}\th
+ \e377{ydieresis}{\"y}
+ \symlist{\SS}
+ \symlist{\TeX\LaTeX\LaTeXe}
+ \symlist{\eTeX\MF\MP}
+%
+ \tit001
+ \oct00
+ \e000{Amacron}{\=A}
+ \e001{amacron}{\=a}
+ \e002{Abreve}{\u A}
+ \e003{abreve}{\u a}
+ \e004{Aogonek}{\k A}
+ \e005{aogonek}{\k a}
+ \e006{Cacute}{\'C}
+ \e007{cacute}{\'c}
+ \oct01
+ \e010{Ccircumflex}{\^C}
+ \e011{ccircumflex}{\^c}
+ \e012{Cdot}{\.C}
+ \e013{cdot}{\.c}
+ \e014{Ccaron}{\v C}
+ \e015{ccaron}{\v c}
+ \e016{Dcaron}{\v D}
+ \e017{dcaron}{\v d}
+ \oct02
+ \e020{Dslash}{\DJ}
+ \e021{dslash}{\dj}
+ \e022{Emacron}{\=E}
+ \e023{emacron}{\=e}
+ \e024{Ebreve}{\u E}
+ \e025{ebreve}{\u e}
+ \e026{Edot}{\.E}
+ \e027{edot}{\.e}
+ \oct03
+ \e030{Eogonek}{\k E}
+ \e031{eogonek}{\k e}
+ \e032{Ecaron}{\v E}
+ \e033{ecaron}{\v e}
+ \e034{Gcircumflex}{\^G}
+ \e035{gcircumflex}{\^g}
+ \e036{Gbreve}{\u G}
+ \e037{gbreve}{\u g}
+ \oct04
+ \e040{Gdot}{\.G}
+ \e041{gdot}{\.g}
+ \e042{Gcedilla}{\c G}
+ \e043{gcedilla}{\c g}
+ \e044{Hcircumflex}{\^H}
+ \e045{hcircumflex}{\^h}
+ \e046{Hslash}\textHslash
+ \e047{hslash}\texthslash
+ \oct05
+ \e050{Itilde}{\~I}
+ \e051{itilde}{\~i}
+ \alias[\\~\\i]{\~\i}
+ \e052{Imacron}{\=I}
+ \e053{imacron}{\=i}
+ \alias[\\=\\i]{\=\i}
+ \e054{Ibreve}{\u I}
+ \e055{ibreve}{\u i}
+ \alias[\\u\\i]{\u\i}
+ \e056{Iogonek}{\k I}
+ \e057{iogonek}{\k i}
+ \alias[\\k\\i]{\k\i}
+ \oct06
+ \e060{Idot}{\.I}
+ \e061{idotless}{\i}
+ \na062
+ \na063
+ \e064{Jcircumflex}{\^J}
+ \e065{jcircumflex}{\^j}
+ \alias[\\\string^\\j]{\^\j}
+ \e066{Kcedilla}{\c K}
+ \e067{kcedilla}{\c k}
+ \oct07
+ \na070
+ \e071{Lacute}{\'L}
+ \e072{lacute}{\'l}
+ \e073{Lcedilla}{\c L}
+ \e074{lcedilla}{\c l}
+ \e075{Lcaron}{\v L}
+ \e076{lcaron}{\v l}
+ \na077
+ \oct10
+ \na100
+ \e101{Lslash}{\L}
+ \e102{lslash}{\l}
+ \e103{Nacute}{\'N}
+ \e104{nacute}{\'n}
+ \e105{Ncedilla}{\c N}
+ \e106{ncedilla}{\c n}
+ \e107{Ncaron}{\v N}
+ \oct11
+ \e110{ncaron}{\v n}
+ \na111
+ \e112{NG}\NG
+ \e113{ng}\ng
+ \e114{Omacron}{\=O}
+ \e115{omacron}{\=o}
+ \e116{Obreve}{\u O}
+ \e117{obreve}{\u o}
+ \oct12
+ \e120{Odoubleacute}{\H O}
+ \e121{odoubleacute}{\H o}
+ \e122{OE}{\OE}
+ \e123{oe}{\oe}
+ \e124{Racute}{\'R}
+ \e125{racute}{\'r}
+ \e126{Rcedilla}{\c R}
+ \e127{rcedilla}{\c r}
+ \oct13
+ \e130{Rcaron}{\v R}
+ \e131{rcaron}{\v r}
+ \e132{Sacute}{\'S}
+ \e133{sacute}{\'s}
+ \e134{Scircumflex}{\^S}
+ \e135{scircumflex}{\^s}
+ \e136{Scedilla}{\c S}
+ \e137{scedilla}{\c s}
+ \oct14
+ \e140{Scaron}{\v S}
+ \e141{scaron}{\v s}
+ \e142{Tcedilla}{\c T}
+ \e143{tcedilla}{\c t}
+ \e144{Tcaron}{\v T}
+ \e145{tcaron}{\v t}
+ \e146{Tslash}{\textTslash}
+ \e147{tslash}{\texttslash}
+ \oct15
+ \e150{Utilde}{\~U}
+ \e151{utilde}{\~u}
+ \e152{Umacron}{\=U}
+ \e153{umacron}{\=u}
+ \e154{Ubreve}{\u U}
+ \e155{ubreve}{\u u}
+ \e156{Uring}{\r U}
+ \e157{uring}{\r u}
+ \oct16
+ \e160{Udoubleacute}{\H U}
+ \e161{udoubleacute}{\H u}
+ \e162{Uogonek}{\k U}
+ \e163{uogonek}{\k u}
+ \e164{Wcircumflex}{\^W}
+ \e165{wcircumflex}{\^w}
+ \e166{Ycircumflex}{\^Y}
+ \e167{ycircumflex}{\^y}
+ \oct17
+ \e170{Ydieresis}{\"Y}
+ \e171{Zacute}{\'Z}
+ \e172{zacute}{\'z}
+ \e173{Zdot}{\.Z}
+ \e174{zdot}{\.z}
+ \e175{Zcaron}{\v Z}
+ \e176{zcaron}{\v z}
+ \na177
+ \oct20
+ \na200
+ \na201
+ \na202
+ \na203
+ \na204
+ \na205
+ \na206
+ \na207
+ \oct21
+ \na210
+ \na211
+ \na212
+ \na213
+ \na214
+ \na215
+ \na216
+ \na217
+ \oct22
+ \na220
+ \na221
+ \na222
+ \na223
+ \na224
+ \na225
+ \na226
+ \na227
+ \oct23
+ \na230
+ \na231
+ \na232
+ \na233
+ \na234
+ \na235
+ \na236
+ \na237
+ \oct24
+ \na240
+ \na241
+ \na242
+ \na243
+ \na244
+ \na245
+ \na246
+ \na247
+ \oct25
+ \na250
+ \na251
+ \na252
+ \na253
+ \na254
+ \na255
+ \na256
+ \na257
+ \oct26
+ \na260
+ \na261
+ \na262
+ \na263
+ \na264
+ \na265
+ \na266
+ \na267
+ \oct27
+ \na270
+ \na271
+ \na272
+ \na273
+ \na274
+ \na275
+ \na276
+ \na277
+ \oct30
+ \na300
+ \na301
+ \na302
+ \na303
+ \na304
+ \na305
+ \na306
+ \na307
+ \oct31
+ \na310
+ \na311
+ \na312
+ \na313
+ \na314
+ \e315{Acaron}{\v A}
+ \e316{acaron}{\v a}
+ \e317{Icaron}{\v I}
+ \oct32
+ \e320{icaron}{\v i}
+ \alias[\\v\\i]{\v\i}
+ \e321{Ocaron}{\v O}
+ \e322{ocaron}{\v o}
+ \e323{Ucaron}{\v U}
+ \e324{ucaron}{\v u}
+ \na325
+ \na326
+ \na327
+ \oct33
+ \na330
+ \na331
+ \na332
+ \na333
+ \na334
+ \na335
+ \na336
+ \na337
+ \oct34
+ \na340
+ \na341
+ \na342
+ \na343
+ \e344{Gslash}{\textGslash}
+ \e345{gslash}{\textgslash}
+ \e346{Gcaron}{\v G}
+ \e347{gcaron}{\v g}
+ \oct35
+ \e350{Kcaron}{\v K}
+ \e351{kcaron}{\v k}
+ \e352{Oogonek}{\k O}
+ \e353{oogonek}{\k o}
+ \na354
+ \na355
+ \na356
+ \na357
+ \oct36
+ \na360
+ \na361
+ \na362
+ \na363
+ \na364
+ \na365
+ \na366
+ \na367
+ \oct37
+ \na370
+ \na371
+ \na372
+ \na373
+ \na374
+ \na375
+ \na376
+ \na377
+%
+ \tit002
+ \oct00
+ \na000
+ \na001
+ \na002
+ \na003
+ \na004
+ \na005
+ \na006
+ \na007
+ \oct01
+ \na010
+ \na011
+ \na012
+ \na013
+ \na014
+ \na015
+ \na016
+ \na017
+ \oct02
+ \na020
+ \na021
+ \na022
+ \na023
+ \na024
+ \na025
+ \na026
+ \na027
+ \oct03
+ \na030
+ \na031
+ \na032
+ \na033
+ \na034
+ \na035
+ \na036
+ \na037
+ \oct04
+ \na040
+ \na041
+ \na042
+ \na043
+ \na044
+ \na045
+ \na046
+ \na047
+ \oct05
+ \na050
+ \na051
+ \na052
+ \na053
+ \na054
+ \na055
+ \na056
+ \na057
+ \oct06
+ \na060
+ \na061
+ \na062
+ \na063
+ \na064
+ \na065
+ \na066
+ \na067
+ \oct07
+ \na070
+ \na071
+ \na072
+ \na073
+ \na074
+ \na075
+ \na076
+ \na077
+ \oct10
+ \na100
+ \na101
+ \na102
+ \na103
+ \na104
+ \na105
+ \na106
+ \na107
+ \oct11
+ \na110
+ \na111
+ \na112
+ \na113
+ \na114
+ \na115
+ \na116
+ \na117
+ \oct12
+ \na120
+ \na121
+ \na122
+ \na123
+ \na124
+ \na125
+ \na126
+ \na127
+ \oct13
+ \na130
+ \na131
+ \na132
+ \na133
+ \na134
+ \na135
+ \na136
+ \na137
+ \oct14
+ \na140
+ \na141
+ \na142
+ \na143
+ \na144
+ \na145
+ \na146
+ \na147
+ \oct15
+ \na150
+ \na151
+ \na152
+ \na153
+ \na154
+ \na155
+ \na156
+ \na157
+ \oct16
+ \na160
+ \na161
+ \na162
+ \na163
+ \na164
+ \na165
+ \na166
+ \na167
+ \oct17
+ \na170
+ \na171
+ \na172
+ \na173
+ \na174
+ \na175
+ \na176
+ \na177
+ \oct20
+ \na200
+ \na201
+ \na202
+ \na203
+ \na204
+ \na205
+ \na206
+ \na207
+ \oct21
+ \na210
+ \na211
+ \na212
+ \na213
+ \na214
+ \na215
+ \na216
+ \na217
+ \oct22
+ \na220
+ \na221
+ \na222
+ \na223
+ \na224
+ \na225
+ \na226
+ \na227
+ \oct23
+ \na230
+ \na231
+ \na232
+ \na233
+ \na234
+ \na235
+ \na236
+ \na237
+ \oct24
+ \na240
+ \na241
+ \na242
+ \na243
+ \na244
+ \na245
+ \na246
+ \na247
+ \oct25
+ \na250
+ \na251
+ \na252
+ \na253
+ \na254
+ \na255
+ \na256
+ \na257
+ \oct26
+ \na260
+ \na261
+ \na262
+ \na263
+ \na264
+ \na265
+ \na266
+ \na267
+ \oct27
+ \na270
+ \na271
+ \na272
+ \na273
+ \na274
+ \na275
+ \na276
+ \na277
+ \oct30
+ \na300
+ \na301
+ \na302
+ \na303
+ \na304
+ \na305
+ \na306
+ \na307
+ \oct31
+ \na310
+ \na311
+ \na312
+ \na313
+ \na314
+ \na315
+ \na316
+ \na317
+ \oct32
+ \na320
+ \na321
+ \na322
+ \na323
+ \na324
+ \na325
+ \na326
+ \na327
+ \oct33
+ \na330
+ \na331
+ \na332
+ \na333
+ \na334
+ \na335
+ \na336
+ \na337
+ \oct34
+ \na340
+ \na341
+ \na342
+ \na343
+ \na344
+ \na345
+ \na346
+ \na347
+ \oct35
+ \na350
+ \na351
+ \na352
+ \na353
+ \na354
+ \na355
+ \na356
+ \na357
+ \oct36
+ \na360
+ \na361
+ \na362
+ \na363
+ \na364
+ \na365
+ \na366
+ \na367
+ \oct37
+ \na370
+ \na371
+ \na372
+ \na373
+ \na374
+ \na375
+ \na376
+ \na377
+%
+ \tit003
+ \oct00
+ \na000
+ \na001
+ \na002
+ \na003
+ \na004
+ \na005
+ \na006
+ \na007
+ \oct01
+ \na010
+ \na011
+ \na012
+ \na013
+ \na014
+ \na015
+ \na016
+ \na017
+ \oct02
+ \na020
+ \na021
+ \na022
+ \na023
+ \na024
+ \na025
+ \na026
+ \na027
+ \oct03
+ \na030
+ \na031
+ \na032
+ \na033
+ \na034
+ \na035
+ \na036
+ \na037
+ \oct04
+ \na040
+ \na041
+ \na042
+ \na043
+ \na044
+ \na045
+ \na046
+ \na047
+ \oct05
+ \na050
+ \na051
+ \na052
+ \na053
+ \na054
+ \na055
+ \na056
+ \na057
+ \oct06
+ \na060
+ \na061
+ \na062
+ \na063
+ \na064
+ \na065
+ \na066
+ \na067
+ \oct07
+ \na070
+ \na071
+ \na072
+ \na073
+ \na074
+ \na075
+ \na076
+ \na077
+ \oct10
+ \na100
+ \na101
+ \na102
+ \na103
+ \na104
+ \na105
+ \na106
+ \na107
+ \oct11
+ \na110
+ \na111
+ \na112
+ \na113
+ \na114
+ \na115
+ \na116
+ \na117
+ \oct12
+ \na120
+ \na121
+ \na122
+ \na123
+ \na124
+ \na125
+ \na126
+ \na127
+ \oct13
+ \na130
+ \na131
+ \na132
+ \na133
+ \na134
+ \na135
+ \na136
+ \na137
+ \oct14
+ \na140
+ \na141
+ \na142
+ \na143
+ \na144
+ \na145
+ \na146
+ \na147
+ \oct15
+ \na150
+ \na151
+ \na152
+ \na153
+ \na154
+ \na155
+ \na156
+ \na157
+ \oct16
+ \na160
+ \na161
+ \na162
+ \na163
+ \na164
+ \na165
+ \na166
+ \na167
+ \oct17
+ \na170
+ \na171
+ \na172
+ \na173
+ \na174
+ \na175
+ \na176
+ \na177
+ \oct20
+ \na200
+ \na201
+ \na202
+ \na203
+ \na204
+ \na205
+ \e206{Alpha tonos}{\'\textAlpha}
+ \na207
+ \oct21
+ \e210{Epsilon tonos}{\'\textEpsilon}
+ \e211{Eta tonos}{\'\textEta}
+ \e212{Iota tonos}{\'\textIota}
+ \na213
+ \e214{Omicron tonos}{\'\textOmicron}
+ \na215
+ \e216{Upsilon tonos}{\'\textUpsilon}
+ \e217{Omega tonos}{\'\textOmega}
+ \oct22
+ \e220{Iota dialytika tonos}{\'\textIotadieresis}
+ \e221{Alpha}\textAlpha
+ \e222{Beta}\textBeta
+ \e223{Gamma}\textGamma
+ \e224{Delta}\textDelta
+ \e225{Epsilon}\textEpsilon
+ \e226{Zeta}\textZeta
+ \e227{Eta}\textEta
+ \oct23
+ \e230{Theta}\textTheta
+ \e231{Iota}\textIota
+ \e232{Kappa}\textKappa
+ \e233{Lambda}\textLambda
+ \e234{Mu}\textMu
+ \e235{Nu}\textNu
+ \e236{Xi}\textXi
+ \e237{Omicron}\textOmicron
+ \oct24
+ \e240{Pi}\textPi
+ \e241{Rho}\textRho
+ \na242
+ \e243{Sigma}\textSigma
+ \e244{Tau}\textTau
+ \e245{Upsilon}\textUpsilon
+ \e246{Phi}\textPhi
+ \e247{Chi}\textChi
+ \oct25
+ \e250{Psi}\textPsi
+ \e251{Omega}\textOmega
+ \e252{Iota dialytika}{\"\textIota}
+ \e253{Upsilon dialytika}{\"\textUpsilon}
+ \e254{alpha tonos}{\'\textalpha}
+ \e255{epsilon tonos}{\'\textepsilon}
+ \e256{eta tonos}{\'\texteta}
+ \e257{iota tonos}{\'\textiota}
+ \oct26
+ \e260{upsilon dialytika tonos}{\"\textupsilonacute}
+ \e261{alpha}\textalpha
+ \e262{beta}\textbeta
+ \e263{gamma}\textgamma
+ \e264{delta}\textdelta
+ \e265{epsilon}\textepsilon
+ \e266{zeta}\textzeta
+ \e267{eta}\texteta
+ \oct27
+ \e270{theta}\texttheta
+ \e271{iota}\textiota
+ \e272{kappa}\textkappa
+ \e273{lambda}\textlambda
+ \e274{mu}\textmu
+ \e275{nu}\textnu
+ \e276{xi}\textxi
+ \e277{omicron}\textomicron
+ \oct30
+ \e300{pi}\textpi
+ \e301{rho}\textrho
+ \e302{varsigma}\textvarsigma
+ \e303{sigma}\textsigma
+ \e304{tau}\texttau
+ \e305{upsilon}\textupsilon
+ \e306{phi}\textphi
+ \e307{chi}\textchi
+ \oct31
+ \e310{psi}\textpsi
+ \e311{omega}\textomega
+ \e312{iota dialytika}{\"\textiota}
+ \e313{upsilon dialytika}{\"\textupsilon}
+ \e314{omicron tonos}{\'\textomicron}
+ \e315{upsilon tonos}{\'\textupsilon}
+ \e316{omega tonos}{\'\textomega}
+ \na317
+ \oct32
+ \na320
+ \na321
+ \na322
+ \na323
+ \na324
+ \na325
+ \na326
+ \na327
+ \oct33
+ \na330
+ \na331
+ \na332
+ \na333
+ \na334
+ \na335
+ \na336
+ \na337
+ \oct34
+ \na340
+ \na341
+ \na342
+ \na343
+ \na344
+ \na345
+ \na346
+ \na347
+ \oct35
+ \na350
+ \na351
+ \na352
+ \na353
+ \na354
+ \na355
+ \na356
+ \na357
+ \oct36
+ \na360
+ \na361
+ \na362
+ \na363
+ \na364
+ \na365
+ \na366
+ \na367
+ \oct37
+ \na370
+ \na371
+ \na372
+ \na373
+ \na374
+ \na375
+ \na376
+ \na377
+%
+ \tit004
+ \oct00
+ \na000
+ \e001{IO}\CYRYO
+ \alias[\\"\\CYRE]{\"\CYRE}
+ \e002{DJE}\CYRDJE
+ \e003{GJE}{\'\CYRG}
+ \e004{ukrainian IE}\CYRIE
+ \e005{DZE}\CYRDZE
+ \e006{byelorussian-ukrainian I}\CYRII
+ \e007{YI}\CYRYI
+ \oct01
+ \e010{JE}\CYRJE
+ \e011{LJE}\CYRLJE
+ \e012{NJE}\CYRNJE
+ \e013{TSHE}\CYRTSHE
+ \e014{KJE}{\'\CYRK}
+ \na015
+ \e016{short U}\CYRUSHRT
+ \e017{DZHE}\CYRDZHE
+ \oct02
+ \e020{A}\CYRA
+ \e021{BE}\CYRB
+ \e022{VE}\CYRV
+ \e023{GHE}\CYRG
+ \e024{DE}\CYRD
+ \e025{IE}\CYRE
+ \e026{ZHE}\CYRZH
+ \e027{ZE}\CYRZ
+ \oct03
+ \e030{I}\CYRI
+ \e031{short I}\CYRISHRT
+ \alias[\\U\\CYRI]{\U\CYRI}
+ \e032{KA}\CYRK
+ \e033{EL}\CYRL
+ \e034{EM}\CYRM
+ \e035{EN}\CYRN
+ \e036{O}\CYRO
+ \e037{PE}\CYRP
+ \oct04
+ \e040{ER}\CYRR
+ \e041{ES}\CYRS
+ \e042{TE}\CYRT
+ \e043{U}\CYRU
+ \e044{EF}\CYRF
+ \e045{HA}\CYRH
+ \e046{TSE}\CYRC
+ \e047{CHE}\CYRCH
+ \oct05
+ \e050{SHA}\CYRSH
+ \e051{SHCHA}\CYRSHCH
+ \e052{HARD SIGN}\CYRHRDSN
+ \e053{YERU}\CYRERY
+ \e054{SOFT SIGN}\CYRSFTSN
+ \e055{E}\CYREREV
+ \e056{YU}\CYRYU
+ \e057{YA}\CYRYA
+ \oct06
+ \e060{a}\cyra
+ \e061{be}\cyrb
+ \e062{ve}\cyrv
+ \e063{ghe}\cyrg
+ \e064{de}\cyrd
+ \e065{ie}\cyre
+ \e066{zhe}\cyrzh
+ \e067{ze}\cyrz
+ \oct07
+ \e070{i}\cyri
+ \e071{short i}\cyrishrt
+ \alias[\\U\\cyri]{\U\cyri}
+ \e072{ka}\cyrk
+ \e073{el}\cyrl
+ \e074{em}\cyrm
+ \e075{en}\cyrn
+ \e076{o}\cyro
+ \e077{pe}\cyrp
+ \oct10
+ \e100{er}\cyrr
+ \e101{es}\cyrs
+ \e102{te}\cyrt
+ \e103{u}\cyru
+ \e104{ef}\cyrf
+ \e105{ha}\cyrh
+ \e106{tse}\cyrc
+ \e107{che}\cyrch
+ \oct11
+ \e110{sha}\cyrsh
+ \e111{shcha}\cyrshch
+ \e112{hard sign}\cyrhrdsn
+ \e113{yeru}\cyrery
+ \e114{soft sign}\cyrsftsn
+ \e115{e}\cyrerev
+ \e116{yu}\cyryu
+ \e117{ya}\cyrya
+ \oct12
+ \na120
+ \e121{io}\cyryo
+ \e122{dje}\cyrdje
+ \e123{gje}{\'\cyrg}
+ \e124{ukrainian ie}\cyrie
+ \e125{dze}\cyrdze
+ \e126{byelorussian-ukrainian i}\cyrii
+ \e127{yi}\cyryi
+ \oct13
+ \e130{je}\cyrje
+ \e131{lje}\cyrlje
+ \e132{nje}\cyrnje
+ \e133{tshe}\cyrtshe
+ \e134{kje}{\'\cyrk}
+ \na135
+ \e136{short u}\cyrushrt
+ \e137{dzhe}\cyrdzhe
+ \oct14
+ \e140{OMEGA}\CYROMEGA
+ \e141{omega}\cyromega
+ \e142{YAT}\CYRYAT
+ \e143{yat}\cyryat
+ \e144{iotified E}\CYRIOTE
+ \e145{iotified e}\cyriote
+ \e146{little YUS}\CYRLYUS
+ \e147{little yus}\cyrlyus
+ \oct15
+ \e150{iotified little YUS}\CYRIOTLYUS
+ \e151{iotified little yos}\cyriotlyus
+ \e152{big YUS}\CYRBYUS
+ \e153{big yus}\cyrbyus
+ \e154{iotified big YUS}\CYRIOTBYUS
+ \e155{iotified big yus}\cyriotbyus
+ \e156{KSI}\CYRKSI
+ \e157{ksi}\cyrksi
+ \oct16
+ \e160{PSI}\CYRPSI
+ \e161{psi}\cyrpsi
+ \e162{FITA}\CYRFITA
+ \e163{fita}\cyrfita
+ \e164{IZHISA}\CYRIZH
+ \e165{izhisa}\cyrizh
+ \e166{IZHISA double grave}{\C\CYRIZH}
+ \e167{izhisa double grave}{\C\cyrizh}
+ \oct17
+ \e170{UK}\CYRUK
+ \e171{uk}\cyruk
+ \e172{round OMEGA}\CYROMEGARND
+ \e173{round omega}\cyromegarnd
+ \e174{OMEGA titlo}\CYROMEGATITLO
+ \e175{omega titlo}\cyromegatitlo
+ \e176{OT}\CYROT
+ \e177{ot}\cyrot
+ \oct20
+ \e200{KOPPA}\CYRKOPPA
+ \e201{koppa}\cyrkoppa
+ \e202{thousands sign}\cyrthousands
+ \na203
+ \na204
+ \na205
+ \na206
+ \na207
+ \oct21
+ \na210
+ \na211
+ \na212
+ \na213
+ \na214
+ \na215
+ \na216
+ \na217
+ \oct22
+ \e220{GHE upturn}\CYRGUP
+ \e221{ghe upturn}\cyrgup
+ \e222{GHE stroke}\CYRGHCRS
+ \e223{ghe stroke}\cyrghcrs
+ \e224{GHE middle hook}\CYRGHK
+ \e225{ghe middle hook}\cyrghk
+ \e226{ZHE descender}\CYRZHDSC
+ \e227{zhe descender}\cyrzhdsc
+ \oct23
+ \e230{ZE descender}\CYRZDSC
+ \e231{ze descender}\cyrzdsc
+ \e232{KA descender}\CYRKDSC
+ \e233{ka descender}\cyrkdsc
+ \e234{KA vertical stroke}\CYRKVCRS
+ \e235{ka vertical stroke}\cyrkvcrs
+ \e236{KA stroke}\CYRKHCRS
+ \e237{ka stroke}\cyrkhcrs
+ \oct24
+ \e240{bashkir KA}\CYRKBEAK
+ \e241{bashkir ka}\cyrkbeak
+ \e242{EN descender}\CYRNDSC
+ \e243{en descender}\cyrndsc
+ \e244{ligature EN GHE}\CYRNG
+ \e245{ligature en ghe}\cyrng
+ \e246{PE middle hook}\CYRPHK
+ \e247{pe middle hook}\cyrphk
+ \oct25
+ \e250{abkhasian HA}\CYRABHHA
+ \e251{abkhasian ha}\cyrabhha
+ \e252{ES descender}\CYRSDSC
+ \e253{es descender}\cyrsdsc
+ \e254{TE descender}\CYRTDSC
+ \e255{te descender}\cyrtdsc
+ \e256{straight U}\CYRY
+ \e257{straight u}\cyry
+ \oct26
+ \e260{straight U stroke}\CYRYHCRS
+ \e261{straight u stroke}\cyryhcrs
+ \e262{HA descender}\CYRHDSC
+ \e263{ha descender}\cyrhdsc
+ \e264{ligature TE TSE}\CYRTETSE
+ \e265{ligature te tse}\cyrtetse
+ \e266{CHE right descender}\CYRCHRDSC
+ \e267{che right descender}\cyrchrdsc
+ \oct27
+ \e270{CHE vertical stroke}\CYRCHVCRS
+ \e271{che vertical stroke}\cyrchvcrs
+ \e272{SHHA}\CYRSHHA
+ \e273{shha}\cyrshha
+ \e274{abkhasian CHE}\CYRABHCH
+ \e275{abkhasian che}\cyrabhch
+ \e276{abkhasian CHE descender}\CYRABHCHDSC
+ \e277{abkhasian che descender}\cyrabhchdsc
+ \oct30
+ \e300{palochka}\CYRpalochka
+ \e301{ZHE breve}{\U\CYRZH}
+ \e302{zhe breve}{\U\cyrzh}
+ \e303{KA hook}\CYRKHK
+ \e304{ka hook}\cyrkhk
+ \na305
+ \na306
+ \e307{EN hook}\CYRNHK
+ \oct31
+ \e310{en hook}\cyrnhk
+ \na311
+ \na312
+ \e313{khakassian CHE}\CYRCHLDSC
+ \e314{khakassian che}\cyrchldsc
+ \na315
+ \na316
+ \na317
+ \oct32
+ \e320{A breve}{\U\CYRA}
+ \e321{a breve}{\U\cyra}
+ \e322{A diaeresis}{\"\CYRA}
+ \e323{a diaeresis}{\"\cyra}
+ \e324{ligature A IE}\CYRAE
+ \e325{ligature a ie}\cyrae
+ \e326{IE breve}{\U\CYRE}
+ \e327{ie breve}{\U\cyre}
+ \oct33
+ \e330{SCHWA}\CYRSCHWA
+ \e331{schwa}\cyrschwa
+ \e332{SCHWA diaeresis}{\"\CYRSCHWA}
+ \e333{schwa diaeresis}{\"\cyrschwa}
+ \e334{ZHE diaeresis}{\"\CYRZH}
+ \e335{zhe diaeresis}{\"\cyrzh}
+ \e336{ZE diaeresis}{\"\CYRZ}
+ \e337{ze diaeresis}{\"\cyrz}
+ \oct34
+ \e340{abkhasian DZE}\CYRABHDZE
+ \e341{abkhasian dze}\cyrabhdze
+ \e342{I macron}{\=\CYRI}
+ \e343{i macron}{\=\cyri}
+ \e344{I diaeresis}{\"\CYRI}
+ \e345{i diaeresis}{\"\cyri}
+ \e346{O diaeresis}{\"\CYRO}
+ \e347{o diaeresis}{\"\cyro}
+ \oct35
+ \e350{barred O}\CYROTLD
+ \e351{barred o}\cyrotld
+ \e352{barred O diaeresis}{\"\CYROTLD}
+ \e353{barred o diaeresis}{\"\cyrotld}
+ \na354
+ \na355
+ \e356{U macron}{\=\CYRU}
+ \e357{u macron}{\=\cyru}
+ \oct36
+ \e360{U diaeresis}{\"\CYRU}
+ \e361{u diaeresis}{\"\cyru}
+ \e362{U double acute}{\H\CYRU}
+ \e363{u double acute}{\H\cyru}
+ \e364{CHE diaeresis}{\"\CYRCH}
+ \e365{che diaeresis}{\"\cyrch}
+ \na366
+ \na367
+ \oct37
+ \e370{YERU diaeresis}{\"\CYRERY}
+ \e371{yeru diaeresis}{\"\cyrery}
+ \na372
+ \na373
+ \na374
+ \na375
+ \na376
+ \na377
+%
+ \tit040
+ \oct00
+ \na000
+ \na001
+ \na002
+ \na003
+ \na004
+ \na005
+ \na006
+ \na007
+ \oct01
+ \na010
+ \na011
+ \na012
+ \na013
+ \na014
+ \na015
+ \na016
+ \na017
+ \oct02
+ \na020
+ \na021
+ \na022
+ \e023{en dash}\textendash
+ \e024{em dash}\textemdash
+ \na025
+ \na026
+ \na027
+ \oct03
+ \e030{left single quotation mark}\textquoteleft
+ \e031{right single quotation mark}\textquoteright
+ \e032{single low-9 quotation mark}\quotesinglbase
+ \na033
+ \e034{left double quotation mark}\textquotedblleft
+ \alias\textgrqq
+ \alias\grqq
+ \e035{right double quotation mark}\textquotedblright
+ \e036{double low-9 quotation mark}\quotedblbase
+ \alias\textglqq
+ \alias\glqq
+ \na037
+ \oct04
+ \e040{dagger}\textdagger
+ \e041{double dagger}\textdaggerdbl
+ \e042{bullet}\textbullet
+ \na043
+ \na044
+ \na045
+ \e046{horizontal ellipsis}\textellipsis
+ \na047
+ \oct05
+ \na050
+ \na051
+ \na052
+ \na053
+ \na054
+ \na055
+ \na056
+ \na057
+ \oct06
+ \e060{per mille sign}\textperthousand
+ \e061{per ten thousand sign}\textpertenthousand
+ \na062
+ \na063
+ \na064
+ \na065
+ \na066
+ \na067
+ \oct07
+ \na070
+ \e071{single left-pointing angle quotation mark}\guilsinglleft
+ \e072{singe right-pointing angle quotation mark}\guilsinglright
+ \na073
+ \na074
+ \na075
+ \na076
+ \na077
+ \oct10
+ \na100
+ \na101
+ \na102
+ \na103
+ \e104{fraction slash}\textfractionmark
+ \na105
+ \na106
+ \na107
+ \oct11
+ \na110
+ \na111
+ \na112
+ \na113
+ \na114
+ \na115
+ \na116
+ \na117
+ \oct12
+ \na120
+ \na121
+ \na122
+ \na123
+ \na124
+ \na125
+ \na126
+ \na127
+ \oct13
+ \na130
+ \na131
+ \na132
+ \na133
+ \na134
+ \na135
+ \na136
+ \na137
+ \oct14
+ \na140
+ \na141
+ \na142
+ \na143
+ \na144
+ \na145
+ \na146
+ \na147
+ \oct15
+ \na150
+ \na151
+ \na152
+ \na153
+ \na154
+ \na155
+ \na156
+ \na157
+ \oct16
+ \na160
+ \na161
+ \na162
+ \na163
+ \na164
+ \na165
+ \na166
+ \na167
+ \oct17
+ \na170
+ \na171
+ \na172
+ \na173
+ \na174
+ \na175
+ \na176
+ \na177
+ \oct20
+ \na200
+ \na201
+ \na202
+ \na203
+ \na204
+ \na205
+ \na206
+ \na207
+ \oct21
+ \na210
+ \na211
+ \na212
+ \na213
+ \na214
+ \na215
+ \na216
+ \na217
+ \oct22
+ \na220
+ \na221
+ \na222
+ \na223
+ \na224
+ \na225
+ \na226
+ \na227
+ \oct23
+ \na230
+ \na231
+ \na232
+ \na233
+ \na234
+ \na235
+ \na236
+ \na237
+ \oct24
+ \na240
+ \na241
+ \na242
+ \na243
+ \na244
+ \na245
+ \na246
+ \na247
+ \oct25
+ \na250
+ \na251
+ \na252
+ \na253
+ \e254{Euro}\texteuro
+ \na255
+ \na256
+ \na257
+ \oct26
+ \na260
+ \na261
+ \na262
+ \na263
+ \na264
+ \na265
+ \na266
+ \na267
+ \oct27
+ \na270
+ \na271
+ \na272
+ \na273
+ \na274
+ \na275
+ \na276
+ \na277
+ \oct30
+ \na300
+ \na301
+ \na302
+ \na303
+ \na304
+ \na305
+ \na306
+ \na307
+ \oct31
+ \na310
+ \na311
+ \na312
+ \na313
+ \na314
+ \na315
+ \na316
+ \na317
+ \oct32
+ \na320
+ \na321
+ \na322
+ \na323
+ \na324
+ \na325
+ \na326
+ \na327
+ \oct33
+ \na330
+ \na331
+ \na332
+ \na333
+ \na334
+ \na335
+ \na336
+ \na337
+ \oct34
+ \na340
+ \na341
+ \na342
+ \na343
+ \na344
+ \na345
+ \na346
+ \na347
+ \oct35
+ \na350
+ \na351
+ \na352
+ \na353
+ \na354
+ \na355
+ \na356
+ \na357
+ \oct36
+ \na360
+ \na361
+ \na362
+ \na363
+ \na364
+ \na365
+ \na366
+ \na367
+ \oct37
+ \na370
+ \na371
+ \na372
+ \na373
+ \na374
+ \na375
+ \na376
+ \na377
+%
+ \tit041
+ \symlist{\textcelsius\textnumero\texttrademark}
+
+ \section*{\fileinfo}
+ Document: \textbf{\filename\space[\filedate\space\fileversion]}
+ \subsection*{Function}
+ This test file has several tasks:
+ \begin{itemize}
+ \item Testing package \emph{hyperref} with encoding file
+ \emph{puenc.def}.
+ \item Showing glyph commands and aliases that are supported by
+ package \emph{hyperref}.
+ \item Test for the pdf reader, especially \emph{AcrobatReader}.
+ Which glyphs of the \emph{Unicode} encoding are
+ correctly displayed?
+ \item These glyphs are shown that package \emph{hyperref}
+ replaces with simpler letters in order to avoid missing glyphs.
+ \end{itemize}
+ \subsection*{Short explanation of the bookmarks}
+ \begin{enumerate}
+ \item The outline entries of the first level show a summary of their
+ subentries. Second a screenshot with closed bookmarks
+ will contain all slots of the \emph{Unicode} encoding.
+ \item The second level of outline entries describes each slot or glyph:
+ \begin{enumerate}
+ \item \label{oct}%
+ Octal code of the slot in the \emph{Unicode} encoding.
+ \item The glyph is shown twice, surrounded by underscores:
+ The first one is produced by the octal sequence, see \ref{oct}.
+ The second one is the result of the higher glyph command,
+ see \ref{high}.
+ \item The glyph name of \emph{Unicode} encoding.
+ \item \label{high}%
+ The higher glyph \TeX-command, supported by
+ package \emph{hyperref}.
+ \end{enumerate}
+ \item Aliases of the glyph commands are shown as subentries of the
+ outline that describes the slot of that glyph command.
+ \end{enumerate}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testbookmark.tex b/Master/texmf-dist/source/latex/hyperref/test/testbookmark.tex
new file mode 100644
index 00000000000..bb6397061de
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testbookmark.tex
@@ -0,0 +1,17 @@
+\documentclass[12pt]{article}
+\usepackage{xspace}
+\usepackage{hyperref}
+\newcommand{\x}{x\xspace}
+
+\begin{document}
+ \section{Implicite space: \x world}
+ \section{Explicite spaces: \x\ world \x\space world \x~world}
+ \section{\x.+\x,+\x!+\x?+\x-+\x:+\x;+\x/+last-\x}
+ \makeatletter
+ \section{~|~~|~~~|~~~~|~~~~~|~~~~|~~~|~~|~}
+ \section{\x()(\x) }
+ \section{Italic correction: [\x\/]}
+ \section{::Nothing follows:}
+ \section{}
+ \section{\x}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testfor2.tex b/Master/texmf-dist/source/latex/hyperref/test/testfor2.tex
new file mode 100644
index 00000000000..d91596d5aad
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testfor2.tex
@@ -0,0 +1,61 @@
+\documentclass{article}
+\usepackage[dvips]{web}
+
+\def\r{\string\r}
+\def\n{\string\n}
+
+\begin{document}
+\begin{Form}
+
+\noindent First Sub total.
+
+\medskip\noindent
+\makebox[.75in][l]{Number 1:} \TextField[width=1in,name=firstnum,
+keystroke={AFNumber_Keystroke(2,0,0,0,"",true);},
+format={AFNumber_Format(2,0,0,0,"",true);}]{}
+
+\medskip\noindent
+\makebox[.75in][l]{Number 2:} \TextField[width=1in,name=secondnum,
+keystroke={AFNumber_Keystroke(2,0,0,0,"",true);},
+format={AFNumber_Format(2,0,0,0,"",true);}]{}
+
+\medskip\noindent
+\makebox[.75in][l]{Sub total:} \TextField[width=1in,name=total1,align={0 /_objdef {total1}},
+format={AFNumber_Format(2,0,0,0,"",true);}, keystroke={AFNumber_Keystroke(2,0,0,0,"",true);},
+calculate={AFSimple_Calculate("SUM",new Array("firstnum", "secondnum"));\string\040},
+format={AFNumber_Format(2,0,0,0,"",true);}]{}
+
+\bigskip\noindent Second Sub total:
+
+\medskip\noindent
+\makebox[.75in][l]{Number 1:} \TextField[width=1in,name=Number.1,
+keystroke={AFNumber_Keystroke(2,0,0,0,"",true);},
+format={AFNumber_Format(2,0,0,0,"",true);}]{}
+
+\medskip\noindent
+\makebox[.75in][l]{Number 2:} \TextField[width=1in,name=Number.2,
+keystroke={AFNumber_Keystroke(2,0,0,0,"",true);},
+format={AFNumber_Format(2,0,0,0,"",true);}]{}
+
+\medskip\noindent
+\makebox[.75in][l]{Total:} \TextField[width=1in,name=total2,
+format={AFNumber_Format(2,0,0,0,"",true);},align={0 /_objdef {total2}},
+keystroke={AFNumber_Keystroke(2,0,0,0,"",true);},
+calculate={AFSimple_Calculate("SUM",new Array("Number"));\r},
+format={AFNumber_Format(2,0,0,0,"",true);}]{}
+
+
+
+\bigskip\noindent
+\makebox[.75in][l]{Grand Total:} \TextField[width=1in,name=total,
+format={AFNumber_Format(2,0,0,0,"",true);},align={0 /_objdef {total}},
+keystroke={AFNumber_Keystroke(2,0,0,0,"",true);},
+calculate={this.getField("total").value=this.getField("total1").value+%
+ this.getField("total2").value;\r},
+format={AFNumber_Format(2,0,0,0,"",true);}]{}
+
+
+\special{! [ {corder} 0 [ {total1} {total2} {total} ] /PUTINTERVAL pdfmark}
+
+\end{Form}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testform.tex b/Master/texmf-dist/source/latex/hyperref/test/testform.tex
new file mode 100644
index 00000000000..8ddc3f7d9b9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testform.tex
@@ -0,0 +1,50 @@
+%\begin{Form}[action=http:www.rhbnc.ac.uk/htbin/shew-fields,html,method=post]
+
+\documentclass{article}
+\usepackage[bookmarks=false]{hyperref}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{10pt}
+\begin{document}
+\begin{Form}[action=mailto:srahtz,encoding=html,method=post]
+
+\TextField[width=3in,name=xname,value={Bilbo Baggins}]
+ {Full name: }
+
+%\TextField[name=warfs,validate={AFRange_Validate\string\(true, 1, true, 13\string\);}]
+% {How many dwarves came along: }
+
+\TextField[multiline,width=1in,name=address,borderstyle=D,
+ color=1 1 1,backgroundcolor=0 0 .5,
+ value={Bag End, The Hill, Hobbiton}]{Address: }
+
+\ChoiceMenu[default=Home,menulength=3,width=2in,name=travel,default=Beorn]
+ {Favorite part of your travels:}
+ {Trolls,Misty Mountains,Beorn,Mirkwood,Elves,Laketown,%
+ Smaug,The Battle}
+
+Have you still got your:
+\CheckBox[]{Sword}
+\CheckBox[name=coat]{Mithril coat}
+%\CheckBox[name=ring,checked]{\textbf{Ring!}}
+\CheckBox[name=ring,checked]{Ring!}
+
+\ChoiceMenu[radio,default=Again,name=next,borderwidth=3,bordercolor=0 1 0]
+ {Do you want to:}
+ {Do it all again=Again,
+ Pretend it never happened=Forget,
+ Write a book about it=Write}
+
+%\TextField[password,name=made]{\emph{Who} made the ring? }
+\TextField[password,name=made]{Who made the ring? }
+
+\ChoiceMenu[combo,default=Bofur,name=whatdwarf,
+ ]{Select funniest name, or add one}
+ {Bofur,Thorin,Gollum,Smaug,Gandalf}
+
+%\PushButton[name=xxx,onclick={app.beep(0)}]{Make a horrid beep}
+
+\Submit{Send}
+\Reset{Clear}
+
+\end{Form}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testnb.tex b/Master/texmf-dist/source/latex/hyperref/test/testnb.tex
new file mode 100644
index 00000000000..42abd8e0ac6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testnb.tex
@@ -0,0 +1,50 @@
+\documentclass{article}
+\usepackage[german]{babel}
+\usepackage[numbers,sort&compress]{natbib}
+\usepackage{hyperref}
+\usepackage{times}
+
+\begin{document}
+
+In addition, this theory---that of the German sociologist Niklas
+Luhmann---is one
+of the most (if not the most) powerful
+contemporary general sociological theories
+\citep{luhm:DoS,Luhm:Soc&int,luhm:WrtdG}. Therefore, in the rest of
+this section, rather than making an eclectic use of different social
+theories, I briefly present portions of Luhmann's theory.
+
+\begin{thebibliography}{3}
+\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi
+
+\bibitem[Luhmann(1982)]{luhm:DoS}
+Niklas Luhmann.
+\newblock {\em The Differentiation of Society}.
+\newblock New York: Columbia University Press, 1982.
+
+\bibitem[Luhmann(1987)]{Luhm:Soc&int}
+Niklas Luhmann.
+\newblock The evolutionary differentiation between society and interaction.
+\newblock In Jeffrey~C. Alexander, Bernhard Giesen, Richard Muench, and Neil~J.
+ Smelser, editors, {\em The Micro-Macro Link}, pages 112--31. Berkeley:
+ University of California Press, 1987.
+
+\bibitem[Luhmann(1988)]{luhm:WrtdG}
+Niklas Luhmann.
+\newblock {\em Die Wirtschaft der Gesellschaft}.
+\newblock Frankfurt am Main: Suhrkamp, 1988.
+
+\end{thebibliography}
+\end{document}
+\usepackage
+[%linkcolor=yellow,
+ citecolor=yellow,
+ citebordercolor={.5 .5 0},
+ pdftitle={Testing natbib and hyperref},
+ pdfauthor={SPQR and PWD},
+ pdfsubject={Dummy stuff},
+ pdfkeywords=Luhmann,
+% pdfstartview=/FitB,
+ pdfpagemode=UseThumbs
+]
+{hyperref}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testoz.tex b/Master/texmf-dist/source/latex/hyperref/test/testoz.tex
new file mode 100644
index 00000000000..f56c111a976
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testoz.tex
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{hyperref}
+\begin{document}
+\section{Pointing to dvi names}
+\href{dvi::TeX-docs:nasty.dvi}{relative path to nasty.dvi}!\par
+\href{:TeX-docs:nasty.dvi}{relative path to nasty.dvi}!\par
+\href{HD:OzTeX:TeX-docs:nasty.dvi}{full path to nasty.dvi}!\par
+\href{dvi:HD:OzTeX:TeX-docs:nasty.dvi}{full path to nasty.dvi}!\par
+\href{dvi:nasty.dvi}{nasty.dvi in current folder}!\par
+\href{dvi:nasty.dvi@3}{page 3 in nasty.dvi}!\par
+\href{nasty.dvi@3}{page 3 in nasty.dvi}!\par
+\href{nasty.dvi}{nasty.dvi}!\par
+\href{file:nasty.dvi}{nasty.dvi}!\par
+\href{file:HD:OzTeX:TeX-docs:nasty.dvi}{full path to nasty.dvi}!\par
+\href{dvi:ozuser.dvi#section.12}{section 12 in user guide}!\par
+
+\href{x/y/z.dvi}{x/y/z.dvi}
+\href{/x/y/z.dvi}{/x/y/z.dvi}
+\href{http://x/y/z.dvi}{http://x/y/z.dvi}
+\href{http://x:80/y/z.dvi}{http://x:80/y/z.dvi}
+\section{Pointing to pdf names}
+\href{dvi::TeX-docs:nasty.pdf}{relative path to nasty.pdf}!\par
+\href{:TeX-docs:nasty.pdf}{relative path to nasty.pdf}!\par
+\href{HD:OzTeX:TeX-docs:nasty.pdf}{full path to nasty.pdf}!\par
+\href{dvi:HD:OzTeX:TeX-docs:nasty.pdf}{full path to nasty.pdf}!\par
+\href{dvi:nasty.pdf}{nasty.pdf in current folder}!\par
+\href{dvi:nasty.pdf@3}{page 3 in nasty.pdf}!\par
+\href{nasty.pdf@3}{page 3 in nasty.pdf}!\par
+\href{nasty.pdf}{nasty.pdf}!\par
+\href{file:nasty.pdf}{nasty.pdf}!\par
+\href{file:HD:OzTeX:TeX-docs:nasty.pdf}{full path to nasty.pdf}!\par
+\href{dvi:ozuser.pdf#section.12}{section 12 in user guide}!\par
+
+\href{x/y/z.pdf}{x/y/z.pdf}
+\href{/x/y/z.pdf}{/x/y/z.pdf}
+\href{http://x/y/z.pdf}{http://x/y/z.pdf}
+\href{http://x:80/y/z.pdf}{http://x:80/y/z.pdf}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testslide.tex b/Master/texmf-dist/source/latex/hyperref/test/testslide.tex
new file mode 100644
index 00000000000..fa367b556a2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testslide.tex
@@ -0,0 +1,101 @@
+% dummy file seminar.con, if it does not exist.
+\begin{filecontents}{seminar.con}
+\end{filecontents}
+\documentclass[]{seminar}
+\usepackage{slidesec}
+\def\thepage{E\arabic{page}}
+\usepackage{lastpage}
+\usepackage{xspace}
+\usepackage{makeidx}
+\usepackage[pdfstartview={FitBH -32768},pdfpagemode=None,plainpages=false,colorlinks]{hyperref}
+\hypersetup{pdfauthor=?`\c C\"asar M\"uller n\~ao!`}
+\setcounter{tocdepth}{4}
+\setcounter{secnumdepth}{4}
+\makeindex
+\hypersetup{pdftitle=Welcome to the Monkey House}
+\newcommand{\ANS}{\textsf{ANSYS}\xspace}
+\begin{document}
+\begin{slide}
+\slideheading{xx}
+\end{slide}
+\begin{slide}
+\listofslides
+\end{slide}
+
+\begin{slide}
+\slideheading{A funny \ANS-section}
+Page 1; See \textcolor{red}{page} --\pageref{page2}--
+\end{slide}
+\begin{slide}
+Page 2; this is page 2\label{page2}
+\end{slide}
+
+\begin{slide}
+\index{an item on slide 3}
+
+\htmladdnormallink{A dummy URL}{http://www.tug.org/A-Fake_URL.html}
+
+\Acrobatmenu{Quit}{End Acrobat Reader}
+
+\Acrobatmenu{FullScreen}{Switch to full screen}
+
+\Acrobatmenu{ZoomIn}{Zoom in}
+
+$\int\!dx$
+\end{slide}
+\begin{slide}
+\slideheading{Yet another ?`\c C\"asar M\"uller n\~ao!`}
+
+\end{slide}
+\begin{slide}
+\slideheading{Testing Int\'ernal J\oe mps}\label{ss:intjmps}
+
+This is some text and this is a \hypertarget{target}{target}.
+
+\end{slide}
+\begin{slide}
+Now lets jump to \hyperlink{target}{Target}.
+
+Let's try going to Section~\ref{ss:intjmps}
+
+\end{slide}
+\begin{slide}
+\slideheading{A \ss ection with $\leq$}
+xx
+xx
+\subsubsection{A subsubsection \texorpdfstring{$a+b$}{a+b}}
+xx
+\paragraph{A paragraph}
+xx
+\subparagraph{A subparagraph}
+xxx
+\end{slide}
+\begin{slide}
+\slideheading{Testing External Jumps}\label{ss:extjmps}
+
+\begin{enumerate}
+
+\item Jump to an external: The jump
+\href{file:test7#TestTarget}{target} should open test7.pdf on
+page 2,
+\item Jump to an external: The jump
+\href{file:test7#page.1}{page 1} should open test7.pdf on
+page 1.
+
+%\item Jump to an relative external strange file
+%\href{/D/srahtz/skills.doc}{destination}
+
+\href{run:picture.eps}{a PS file to launch}
+
+\href{run:fontman.exe}{an application}
+
+\href{run:e:\string\\mdraw\string\\mdraw.exe#picture.eps}{a PS file to launch (2)}
+\end{enumerate}
+\end{slide}
+\begin{slide}
+\printindex
+\end{slide}
+\end{document}
+
+
+
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testurl.bbl b/Master/texmf-dist/source/latex/hyperref/test/testurl.bbl
new file mode 100644
index 00000000000..b9a3697a343
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testurl.bbl
@@ -0,0 +1,8 @@
+\begin{thebibliography}{1}
+
+\bibitem{THE}
+David~Loberg Code.
+\newblock Aural comprehension guide (webpage).
+\newblock \url{http://www.wmich.edu/mus-theo/etg/et_guide.html}.
+
+\end{thebibliography}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testurl.bib b/Master/texmf-dist/source/latex/hyperref/test/testurl.bib
new file mode 100644
index 00000000000..883c938fa1c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testurl.bib
@@ -0,0 +1,6 @@
+@MISC{THE,
+ key={the},
+ author={David Loberg Code},
+ title={Aural Comprehension Guide (Webpage)},
+ note={\url{http://www.wmich.edu/mus-theo/etg/et_guide.html}}
+}
diff --git a/Master/texmf-dist/source/latex/hyperref/test/testurl.tex b/Master/texmf-dist/source/latex/hyperref/test/testurl.tex
new file mode 100644
index 00000000000..d2a2a6f0b6d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/hyperref/test/testurl.tex
@@ -0,0 +1,14 @@
+\documentclass[11pt]{article}
+\usepackage[]{color}
+\usepackage[letterpaper,colorlinks,breaklinks,backref]{hyperref}
+%\usepackage{url} %use as alternative to hyperref for testing
+\newcommand{\myurl}[1]{{\url{{#1}}}}
+
+\begin{document}
+\url{http://www.wmich.edu/mus-theo/etg/et_guide.html} %ok now with hyperref, ok with url
+\myurl{http://www.wmich.edu/mus-theo/etg/et_guide.html} %fails with hyperref, ok with url
+
+\cite{THE}
+\bibliographystyle{unsrt}
+\bibliography{testurl}%fails with hyperref, ok with url
+\end{document}