summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-11-05 00:06:38 +0000
committerKarl Berry <karl@freefriends.org>2007-11-05 00:06:38 +0000
commit5b3df0d3745a0955e550d4103228cf8d52a73241 (patch)
treee9c84d96e4bf295935da473aada238ac0b164cae /Master/texmf-dist/source
parent78bd6b24f3c38ea9be1371b6180fa90b76221e21 (diff)
hyperref update (3nov07)
git-svn-id: svn://tug.org/texlive/trunk@5345 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/hyperref/backref.dtx26
-rw-r--r--Master/texmf-dist/source/latex/hyperref/doc/manual.tex1
-rw-r--r--Master/texmf-dist/source/latex/hyperref/hyperref.dtx1761
3 files changed, 1280 insertions, 508 deletions
diff --git a/Master/texmf-dist/source/latex/hyperref/backref.dtx b/Master/texmf-dist/source/latex/hyperref/backref.dtx
index 61b93a4f782..bb6cbdcd3d6 100644
--- a/Master/texmf-dist/source/latex/hyperref/backref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/backref.dtx
@@ -22,9 +22,9 @@
%<driver>\ProvidesFile{backref.drv}
% \fi
% \ProvidesFile{backref.dtx}
- [2006/10/06 v1.27 Bibliographical back referencing]%
+ [2006/09/05 v1.28 Bibliographical back referencing]%
%
-% \CheckSum{550}
+% \CheckSum{574}
%
% \iffalse
%<*driver>
@@ -610,7 +610,7 @@
\let\bibitem\BR@bibitem
\let\BRorg@thebibliography\thebibliography
\def\thebibliography{%
- \@starttoc{brf}{}%
+ \BR@starttoc
\BRorg@thebibliography
}%
\@ifundefined{NAT@parse}{%
@@ -624,6 +624,26 @@
}%
}
% \end{macrocode}
+% \begin{macro}{\BR@starttoc}
+% \begin{macrocode}
+\def\BR@starttoc{%
+ \begingroup
+ \makeatletter
+ \@input{\jobname.brf}%
+ \if@filesw
+ \@ifundefined{tf@brf}{%
+ \expandafter\newwrite\csname tf@brf\endcsname
+ }{}%
+ \@ifundefined{tf@brf@open}{%
+ \immediate\openout\csname tf@brf\endcsname\jobname.brf\relax
+ \gdef\tf@brf@open{}%
+ }{}%
+ \fi
+ \@nobreakfalse
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
%
% \subsection{Collecting back cite informations}
%
diff --git a/Master/texmf-dist/source/latex/hyperref/doc/manual.tex b/Master/texmf-dist/source/latex/hyperref/doc/manual.tex
index 604a4feb0a0..834ac31a826 100644
--- a/Master/texmf-dist/source/latex/hyperref/doc/manual.tex
+++ b/Master/texmf-dist/source/latex/hyperref/doc/manual.tex
@@ -1100,6 +1100,7 @@ You may also want to redefine the following macros:
\def\DefaultHeightofChoiceMenu{0.8\baselineskip}
\def\DefaultWidthofChoiceMenu{0.8\baselineskip}
\def\DefaultHeightofText{\baselineskip}
+\def\DefaultHeightofTextMultiline{4\baselineskip}
\def\DefaultWidthofText{3cm}
\end{verbatim}
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
index 0f87ca726b4..efa14e32989 100644
--- a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
@@ -1,7 +1,7 @@
% \iffalse
%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
-% with portions written by David Carlisle and Heiko Oberdiek,
-% 2001-2007 Heiko Oberdiek.
+%% with portions written by David Carlisle and Heiko Oberdiek,
+%% 2001-2007 Heiko Oberdiek.
%%
%% This file is part of the `Hyperref Bundle'.
%% -------------------------------------------
@@ -39,7 +39,7 @@
%<puenc>\ProvidesFile{puenc.def}
%<puvnenc>\ProvidesFile{puvnenc.def}
%<puarenc>\ProvidesFile{puarenc.def}
-%<!none> [2007/06/14 v6.76i
+%<!none> [2007/10/30 v6.77b
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -116,7 +116,7 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{21126}
+% \CheckSum{21691}
%
% \MakeShortVerb{|}
% \StopEventually{}
@@ -593,6 +593,7 @@
\newif\ifHy@menubar
\newif\ifHy@naturalnames
\newif\ifHy@nesting
+\newif\ifHy@newwindowset
\newif\ifHy@newwindow
\newif\ifHy@pageanchor
\newif\ifHy@pagelabels
@@ -631,6 +632,7 @@
\Hy@menubartrue
\Hy@naturalnamesfalse
\Hy@nestingfalse
+\Hy@newwindowsetfalse
\Hy@newwindowfalse
\Hy@pageanchortrue
\Hy@pagelabelstrue
@@ -1007,21 +1009,27 @@
% switching commands are disabled.
% \begin{macrocode}
\let\emph\@firstofone
- \let\textbf\@firstofone
- \let\textit\@firstofone
- \let\textmd\@firstofone
\let\textnormal\@firstofone
\let\textrm\@firstofone
- \let\textsc\@firstofone
\let\textsf\@firstofone
- \let\textsl\@firstofone
\let\texttt\@firstofone
+ \let\textbf\@firstofone
+ \let\textmd\@firstofone
+ \let\textit\@firstofone
+ \let\textsc\@firstofone
+ \let\textsl\@firstofone
\let\textup\@firstofone
- \let\ttfamily\@empty
+ \let\normalfont\@empty
+ \let\rmfamily\@empty
\let\sffamily\@empty
+ \let\ttfamily\@empty
+ \let\bfseries\@empty
+ \let\mdseries\@empty
\let\itshape\@empty
+ \let\scshape\@empty
+ \let\slshape\@empty
\let\upshape\@empty
- \let\bfseries\@empty
+ \let\em\@empty
\let\rm\@empty
\let\Huge\@empty
\let\LARGE\@empty
@@ -1033,6 +1041,7 @@
\let\scriptsize\@empty
\let\small\@empty
\let\tiny\@empty
+ \let\mathversion\@gobble
% \end{macrocode}
%
% \paragraph{Package color.}
@@ -1110,6 +1119,7 @@
\let\index\@gobble
\let\glossary\@gobble
\let\href\@secondoftwo
+ \let\@mkboth\@gobbletwo
% \end{macrocode}
%
% The \cs{ref} and \cs{pageref} is much more complicate because of their
@@ -1578,6 +1588,15 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\Hy@pdfstringdef}
+% \begin{macrocode}
+\def\Hy@pdfstringdef#1#2{%
+ \pdfstringdef\Hy@gtemp{#2}%
+ \let#1\Hy@gtemp
+}
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Encodings}
% \subsubsection{PD1 encoding}
% The PD1 encoding implements the PDFDocEncoding for use with
@@ -2852,7 +2871,13 @@
% \begin{macrocode}
\def\HyPsd@CatcodeWarning#1{%
\HyPsd@Warning{%
- Token not allowed in a PDFDocEncoded string,%
+ Token not allowed in a PDF string (%
+ \ifHy@unicode
+ Unicode%
+ \else
+ PDFDocEncoding%
+ \fi
+ ),%
\MessageBreak removing `\HyPsd@RemoveCmdPrefix#1'%
}%
}
@@ -3424,7 +3449,6 @@
% actually gets used
% \end{enumerate}
% \begin{macrocode}
-\let\HyperRaiseLinkLength\@tempdima
\let\HyperRaiseLinkHook\@empty
\def\HyperRaiseLinkDefault{\baselineskip}
% \end{macrocode}
@@ -3432,13 +3456,18 @@
% |\HyperRaiseLinkLength|.
% \begin{macrocode}
\def\Hy@raisedlink#1{%
- \setlength\HyperRaiseLinkLength\HyperRaiseLinkDefault
- \HyperRaiseLinkHook
\ifvmode
#1%
\else
\penalty\@M
- \smash{\raise\HyperRaiseLinkLength\hbox{#1}}%
+ \smash{%
+ \begingroup
+ \let\HyperRaiseLinkLength\@tempdima
+ \setlength\HyperRaiseLinkLength\HyperRaiseLinkDefault
+ \HyperRaiseLinkHook
+ \expandafter\endgroup
+ \expandafter\raise\the\HyperRaiseLinkLength\hbox{#1}%
+ }%
\fi
}
% \end{macrocode}
@@ -3820,7 +3849,7 @@
\def\HyPsd@pdfencoding@unicode{unicode}
\let\HyPsd@pdfencoding\Hy@pdfencoding@pdfdoc
\def\HyPsd@LoadStringEnc{%
- \RequirePackage{stringenc}[2007/06/14]
+ \RequirePackage{stringenc}[2007/06/14]%
\let\HyPsd@LoadStringEnc\relax
}
\AtBeginDocument{%
@@ -3836,6 +3865,27 @@
}%
}
% \end{macrocode}
+% \begin{macrocode}
+\newif\ifHy@setpdfversion
+\define@key{Hyp}{pdfversion}{%
+ \@ifundefined{Hy@pdfversion@#1}{%
+ \PackageWarning{hyperref}{%
+ Unsupported PDF version `#1'.\MessageBreak
+ Valid values: 1.2 until 1.7%
+ }%
+ }{%
+ \Hy@setpdfversiontrue
+ \edef\Hy@pdfversion{\@nameuse{Hy@pdfversion@#1}}%
+ }%
+}
+\@namedef{Hy@pdfversion@1.2}{2}%
+\@namedef{Hy@pdfversion@1.3}{3}%
+\@namedef{Hy@pdfversion@1.4}{4}%
+\@namedef{Hy@pdfversion@1.5}{5}%
+\@namedef{Hy@pdfversion@1.6}{6}%
+\@namedef{Hy@pdfversion@1.7}{7}%
+\def\Hy@pdfversion{2}
+% \end{macrocode}
%
% \section{Options for different drivers}\label{drivers}
% \begin{macrocode}
@@ -3849,7 +3899,10 @@
\def\Hy@driver{htex4ht}%
\def\MaybeStopEarly{%
\typeout{Hyperref stopped early}%
- \AfterBeginDocument{\PDF@FinishDoc}%
+ \AfterBeginDocument{%
+ \PDF@FinishDoc
+ \gdef\PDF@FinishDoc{}%
+ }%
\endinput
}%
}
@@ -3923,7 +3976,10 @@
\def\Hy@driver{hvtexhtm}%
\def\MaybeStopEarly{%
\typeout{Hyperref stopped early}%
- \AfterBeginDocument{\PDF@FinishDoc}%
+ \AfterBeginDocument{%
+ \PDF@FinishDoc
+ \gdef\PDF@FinishDoc{}%
+ }%
\endinput
}%
\else
@@ -4157,6 +4213,24 @@
\def\theoremautorefname{Teorema}%
\def\pageautorefname{Pag.\@}%
}
+\def\HyLang@magyar{%
+ \def\equationautorefname{Egyenlet}%
+ \def\footnoteautorefname{l\'abjegyzet}%
+ \def\itemautorefname{Elem}%
+ \def\figureautorefname{\'Abra}%
+ \def\tableautorefname{T\'abl\'azat}%
+ \def\partautorefname{R\'esz}%
+ \def\appendixautorefname{F\"uggel\'ek}%
+ \def\chapterautorefname{fejezet}%
+ \def\sectionautorefname{szakasz}%
+ \def\subsectionautorefname{alszakasz}%
+ \def\subsubsectionautorefname{alalszakasz}%
+ \def\paragraphautorefname{bekezd\'es}%
+ \def\subparagraphautorefname{albekezd\'es}%
+ \def\FancyVerbLineautorefname{sor}%
+ \def\theoremautorefname{T\'etel}%
+ \def\pageautorefname{oldal}%
+}
\def\HyLang@portuges{%
\def\equationautorefname{Equa\c c\~ao}%
\def\footnoteautorefname{Nota de rodap\'e}%
@@ -4268,6 +4342,8 @@
\HyLang@DeclareLang{acadian}{french}
\HyLang@DeclareLang{canadien}{french}
\HyLang@DeclareLang{italian}{italian}
+\HyLang@DeclareLang{magyar}{magyar}
+\HyLang@DeclareLang{hungarian}{magyar}
% \end{macrocode}
% More work is needed in case of options |vietnamese| and |vietnam|.
% \begin{macrocode}
@@ -4650,7 +4726,19 @@
\Hy@boolkey[pdfdisplaydoctitle]{displaydoctitle}{#1}%
}
\define@key{Hyp}{pdfnewwindow}[true]{%
- \Hy@boolkey[pdfnewwindow]{newwindow}{#1}%
+ \def\Hy@temp{#1}%
+ \ifx\Hy@temp\@empty
+ \Hy@newwindowsetfalse
+ \else
+ \Hy@newwindowsettrue
+ \Hy@boolkey[pdfnewwindow]{newwindow}{#1}%
+ \fi
+}
+\def\Hy@SetNewWindow{%
+ \ifHy@newwindowset
+ /NewWindow %
+ \ifHy@newwindow true\else false\fi
+ \fi
}
\Hy@DefNameKey{pdfpagelayout}{%
\do{SinglePage}{}%
@@ -4695,13 +4783,32 @@
\let\PDF@SetupDoc\@empty
\let\PDF@FinishDoc\@empty
\let\phantomsection\@empty
+\let\special@paper\@empty
\@ifundefined{stockwidth}{%
- \edef\special@paper{\the\paperwidth,\the\paperheight}%
+ \ifdim\paperwidth>\z@
+ \ifdim\paperheight>\z@
+ \edef\special@paper{\the\paperwidth,\the\paperheight}%
+ \fi
+ \fi
}{%
- \edef\special@paper{\the\stockwidth,\the\stockheight}%
+ \ifdim\stockwith>\z@
+ \ifdim\stockheight>\z@
+ \edef\special@paper{\the\stockwidth,\the\stockheight}%
+ \fi
+ \fi
}
\begingroup
- \dimen@=\@ifundefined{stockheight}{\paperheight}{\stockheight}\relax
+ \edef\x{\@ifundefined{stockheight}\paperheight\stockheight}%
+ \dimen@=\x\relax
+ \ifdim\dimen@>\z@
+ \else
+ \dimen@=11in\relax
+ \Hy@WarningNoLine{%
+ Height of page (\expandafter\string\x) %
+ is invalid (\the\x),\MessageBreak
+ using 11in%
+ }%
+ \fi
\dimen@=0.99626401\dimen@
\xdef\Hy@pageheight{\strip@pt\dimen@}%
\endgroup
@@ -4764,6 +4871,7 @@
\let\hyper@linkend\@empty
\def\hyper@linkurl#1#2{#1}%
\def\hyper@linkfile#1#2#3{#1}%
+ \def\hyper@link@[#1]#2#3{}%
\def\Acrobatmenu#1#2{#2}%
\let\PDF@SetupDoc\@empty
\let\PDF@FinishDoc\@empty
@@ -4776,7 +4884,8 @@
\Hy@DisableOption{draft}%
\Hy@DisableOption{nolinks}%
\Hy@DisableOption{final}%
-}%
+}
+\Hy@DisableOption{pdfversion}%
% \end{macrocode}
%
% \subsection{Patch for babel's
@@ -4834,7 +4943,10 @@
\typeout{Implicit mode OFF; no redefinition of LaTeX internals}%
\def\MaybeStopEarly{%
\typeout{Hyperref stopped early}%
- \AfterBeginDocument{\PDF@FinishDoc}%
+ \AfterBeginDocument{%
+ \PDF@FinishDoc
+ \gdef\PDF@FinishDoc{}%
+ }%
\endinput
}%
\AtBeginDocument{%
@@ -4883,7 +4995,10 @@
\def\Hy@driver{hvtexhtm}%
\def\MaybeStopEarly{%
\typeout{Hyperref stopped early}%
- \AfterBeginDocument{\PDF@FinishDoc}%
+ \AfterBeginDocument{%
+ \PDF@FinishDoc
+ \gdef\PDF@FinishDoc{}%
+ }%
\endinput
}%
\else
@@ -5153,6 +5268,7 @@
\providecommand*\hyper@chars{%
\let\#\hyper@hash
\let\%\@percentchar
+ \Hy@safe@activestrue
}
% \end{macrocode}
%
@@ -5184,7 +5300,8 @@
\RequirePackage{url}
\let\HyOrg@url\url
\def\Hurl{\begingroup \Url}
-\let\nolinkurl\Hurl
+\DeclareRobustCommand*{\nolinkurl}{\hyper@normalise\nolinkurl@}
+\def\nolinkurl@#1{\Hurl{#1}}
\DeclareRobustCommand*{\url}{\hyper@normalise\url@}
\def\url@#1{\hyper@linkurl{\Hurl{#1}}{#1}}
% \end{macrocode}
@@ -5501,26 +5618,586 @@
% so it may not be as clever as something which only wants
% to make PDF forms.
%
-% I could not have started this without the encouragement of T V Raman.
+% I (Sebastian) could not have started this without the
+% encouragement of T V Raman.
+%
+% \subsection{Field flags}
+%
+% The field flags are organized in a bit set.
+% \begin{macrocode}
+\RequirePackage{bitset}
+% \end{macrocode}
+%
+% Each flag has a option name, an \cs{if} switch,
+% and a bit position. The default is always `false', the
+% flag is clear.
+% This is also the default of the switch created by \cs{newif}.
+%
+% The names of the flags in the PDF specification (1.7)
+% are used as lowercase option names.
+% \begin{macro}{\HyField@NewFlag}
+% |#1|: type: |F| annot flags, |Ff| field flags\\
+% |#2|: PDF name\\
+% |#3|: PDF position
+% \begin{macrocode}
+\def\HyField@NewFlag#1#2{%
+ \lowercase{\HyField@NewOption{#2}}%
+ \lowercase{\HyField@NewBitsetFlag{#2}}{#2}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@NewFlagOnly}
+% \begin{macrocode}
+\def\HyField@NewFlagOnly#1#2{%
+ \lowercase{\HyField@NewBitsetFlag{#2}}{#2}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@NewOption}
+% |#1|: option name
+% \begin{macrocode}
+\def\HyField@NewOption#1{%
+ \expandafter\newif\csname ifFld@#1\endcsname
+ \define@key{Field}{#1}[true]{%
+ \lowercase{\Field@boolkey{##1}}{#1}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@NewBitsetFlag}
+% Package `bitset' uses zero based positions, the
+% PDF specification starts with one.\\
+% |#1|: option\\
+% |#2|: PDF name\\
+% |#3|: type: |F| annot flags, |Ff| field flags\\
+% |#4|: PDF position
+% \begin{macrocode}
+\def\HyField@NewBitsetFlag#1#2#3#4{%
+ \begingroup
+ \count@=#4\relax
+ \advance\count@\m@ne
+ \def\x##1{%
+ \endgroup
+ \expandafter\def\csname HyField@#3@#1\endcsname{##1}%
+ \expandafter\ifx\csname HyField@#3@##1\endcsname\relax
+ \expandafter\edef\csname HyField@#3@##1\endcsname{%
+ (\number#4) #2%
+ }%
+ \else
+ \expandafter\edef\csname HyField@#3@##1\endcsname{%
+ \csname HyField@#3@##1\endcsname
+ /#2%
+ }%
+ \fi
+ }%
+ \expandafter\x\expandafter{\the\count@}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@UseFlag}
+% The bit set is |HyField@#1|
+% \begin{macrocode}
+\def\HyField@UseFlag#1#2{%
+ \lowercase{\HyField@@UseFlag{#2}}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@@UseFlag}
+% \begin{macrocode}
+\def\HyField@@UseFlag#1#2{%
+ \bitsetSetValue{HyField@#2}{%
+ \csname HyField@#2@#1\endcsname
+ }{%
+ \csname ifFld@#1\endcsname 1\else 0\fi
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@SetFlag}
+% The bit set is |HyField@#1|
+% \begin{macrocode}
+\def\HyField@SetFlag#1#2{%
+ \lowercase{\HyField@@SetFlag{#2}}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@@SetFlag}
+% \begin{macrocode}
+\def\HyField@@SetFlag#1#2{%
+ \bitsetSetValue{HyField@#2}{%
+ \csname HyField@#2@#1\endcsname
+ }{1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@PrintFlags}
+% \begin{macrocode}
+\def\HyField@PrintFlags#1#2{%
+ \ifHy@verbose
+ \begingroup
+ \let\Hy@temp\@empty
+ \let\MessageBreak\relax
+ \expandafter\@for\expandafter\x\expandafter:\expandafter=%
+ \bitsetGetSetBitList{HyField@#1}\do{%
+ \edef\Hy@temp{%
+ \Hy@temp
+ \csname HyField@#1@\x\endcsname\MessageBreak
+ }%
+ }%
+ \edef\x{\endgroup
+ \noexpand\Hy@Info{%
+ Field flags: %
+ \expandafter\ifx\@car#1\@nil S\else/\fi
+ #1 %
+ \bitsetGetDec{HyField@#1} %
+ (0x\bitsetGetHex{HyField@#1}{32})\MessageBreak
+ \Hy@temp
+ for #2%
+ }%
+ }\x
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Declarations of field flags}
+%
+% ``Table 8.70 Field flags common to all field types''
+% \begin{macrocode}
+\HyField@NewFlag{Ff}{ReadOnly}{1}
+\HyField@NewFlag{Ff}{Required}{2}
+\HyField@NewFlag{Ff}{NoExport}{3}
+% \end{macrocode}
+% ``Table 8.75 Field flags specific to button fields''
+% \begin{macrocode}
+\HyField@NewFlag{Ff}{NoToggleToOff}{15}
+\HyField@NewFlag{Ff}{Radio}{16}
+\HyField@NewFlag{Ff}{Pushbutton}{17}
+\HyField@NewFlag{Ff}{RadiosInUnison}{26}
+% \end{macrocode}
+% ``Table 8.77 Field flags specific to text fields''
+% \begin{macrocode}
+\HyField@NewFlag{Ff}{Multiline}{13}
+\HyField@NewFlag{Ff}{Password}{14}
+\HyField@NewFlag{Ff}{FileSelect}{21}% PDF 1.4
+\HyField@NewFlag{Ff}{DoNotSpellCheck}{23}% PDF 1.4
+\HyField@NewFlag{Ff}{DoNotScroll}{24}% PDF 1.4
+\HyField@NewFlag{Ff}{Comb}{25}% PDF 1.4
+\HyField@NewFlag{Ff}{RichText}{26}% PDF 1.5
+% \end{macrocode}
+% ``Table 8.79 field flags specific to choice fields''
+% \begin{macrocode}
+\HyField@NewFlag{Ff}{Combo}{18}
+\HyField@NewFlag{Ff}{Edit}{19}
+\HyField@NewFlag{Ff}{Sort}{20}
+\HyField@NewFlag{Ff}{MultiSelect}{22}% PDF 1.4
+% \HyField@NewFlag{Ff}{DoNotSpellCheck}{23}% PDF 1.4
+\HyField@NewFlag{Ff}{CommitOnSelChange}{27}% PDF 1.5
+% \end{macrocode}
+% Signature fields are not supported.
+%
+% Until 6.76i hyperref uses field option `combo' to set
+% three flags `Combo', `Edit', and `Sort'. Option `popdown' sets
+% flag `Combo' only.
+% \begin{macrocode}
+\newif\ifFld@popdown
+\define@key{Field}{popdown}[true]{%
+ \lowercase{\Field@boolkey{#1}}{popdown}%
+}
+% \end{macrocode}
+%
+% Annotation flags. The form objects are widget annotations.
+% There are two flags for readonly settings, the one in the annotation
+% flags is ignored, instead the other in the field flags is used.
+%
+% Flag |Print| is not much useful, because hyperref do not
+% use the appearance entry of the annotations for most fields.
+% \begin{macrocode}
+\HyField@NewFlag{F}{Invisible}{1}
+\HyField@NewFlag{F}{Hidden}{2}% PDF 1.2
+\HyField@NewFlag{F}{Print}{3}% PDF 1.2
+\HyField@NewFlag{F}{NoZoom}{4}% PDF 1.2
+\HyField@NewFlag{F}{NoRotate}{5}% PDF 1.3
+\HyField@NewFlag{F}{NoView}{6}% PDF 1.3
+\HyField@NewFlag{F}{Locked}{8}% PDF 1.4
+\HyField@NewFlag{F}{ToggleNoView}{9}% PDF 1.5
+\HyField@NewFlag{F}{LockedContents}{10}% PDF 1.7
+% \end{macrocode}
+%
+% Submit flags. Flag 1 Include/Exclude is not supported,
+% use option noexport instead.
+% \begin{macrocode}
+\HyField@NewFlag{Submit}{IncludeNoValueFields}{2}
+\HyField@NewFlagOnly{Submit}{ExportFormat}{3}
+\HyField@NewFlag{Submit}{GetMethod}{4}
+\HyField@NewFlag{Submit}{SubmitCoordinates}{5}
+\HyField@NewFlagOnly{Submit}{XFDF}{6}
+\HyField@NewFlag{Submit}{IncludeAppendSaves}{7}
+\HyField@NewFlag{Submit}{IncludeAnnotations}{8}
+\HyField@NewFlagOnly{Submit}{SubmitPDF}{9}
+\HyField@NewFlag{Submit}{CanonicalFormat}{10}
+\HyField@NewFlag{Submit}{ExclNonUserAnnots}{11}
+\HyField@NewFlag{Submit}{ExclFKey}{12}
+\HyField@NewFlag{Submit}{EmbedForm}{14}
+% \end{macrocode}
+% \begin{macrocode}
+\define@key{Field}{export}{%
+ \lowercase{\def\Hy@temp{#1}}%
+ \@ifundefined{Fld@export@\Hy@temp}{%
+ \@onelevel@sanitize\Hy@temp
+ \PackageError{hyperref}{%
+ Unknown export format `\Hy@temp'.\MessageBreak
+ Known formats are `FDF', `HTML', `XFDF', and `PDF'%
+ }\@ehc
+ }{%
+ \let\Fld@export\Hy@temp
+ }%
+}
+\def\Fld@export{fdf}
+\@namedef{Fld@export@fdf}{0}%
+\@namedef{Fld@export@html}{1}%
+\@namedef{Fld@export@xfdf}{2}%
+\@namedef{Fld@export@pdf}{3}%
+% \end{macrocode}
+%
+% \subsubsection{Set submit flags}
+%
+% \begin{macro}{\HyField@FlagsSubmit}
+% \begin{macrocode}
+\def\HyField@FlagsSubmit{%
+ \bitsetReset{HyField@Submit}%
+ \ifcase\@nameuse{Fld@export@\Fld@export} %
+ % FDF
+ \HyField@UseFlag{Submit}{IncludeNoValueFields}%
+ \HyField@UseFlag{Submit}{SubmitCoordinates}%
+ \HyField@UseFlag{Submit}{IncludeAppendSaves}%
+ \HyField@UseFlag{Submit}{IncludeAnnotations}%
+ \HyField@UseFlag{Submit}{CanonicalFormat}%
+ \HyField@UseFlag{Submit}{ExclNonUserAnnots}%
+ \HyField@UseFlag{Submit}{ExclFKey}%
+ \HyField@UseFlag{Submit}{EmbedForm}%
+ \or % HTML
+ \HyField@SetFlag{Submit}{ExportFormat}%
+ \HyField@UseFlag{Submit}{IncludeNoValueFields}%
+ \HyField@UseFlag{Submit}{GetMethod}%
+ \HyField@UseFlag{Submit}{SubmitCoordinates}%
+ \HyField@UseFlag{Submit}{CanonicalFormat}%
+ \or % XFDF
+ \HyField@SetFlag{Submit}{XFDF}%
+ \HyField@UseFlag{Submit}{IncludeNoValueFields}%
+ \HyField@UseFlag{Submit}{SubmitCoordinates}%
+ \HyField@UseFlag{Submit}{CanonicalFormat}%
+ \or % PDF
+ \HyField@SetFlag{Submit}{SubmitPDF}%
+ \HyField@UseFlag{Submit}{GetMethod}%
+ \fi
+ \HyField@PrintFlags{Submit}{submit button field}%
+ \bitsetIsEmpty{HyField@Submit}{%
+ \def\Fld@submitflags{}%
+ }{%
+ \edef\Fld@submitflags{/Flags \bitsetGetDec{HyField@Submit}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Set annot flags in fields}
+%
+% \begin{macro}{\HyField@FlagsAnnot}
+% \begin{macrocode}
+\def\HyField@FlagsAnnot#1{%
+ \bitsetReset{HyField@F}%
+ \HyField@UseFlag{F}{Invisible}%
+ \HyField@UseFlag{F}{Hidden}%
+ \HyField@UseFlag{F}{Print}%
+ \HyField@UseFlag{F}{NoZoom}%
+ \HyField@UseFlag{F}{NoRotate}%
+ \HyField@UseFlag{F}{NoView}%
+ \HyField@UseFlag{F}{Locked}%
+ \HyField@UseFlag{F}{ToggleNoView}%
+ \HyField@UseFlag{F}{LockedContents}%
+ \HyField@PrintFlags{F}{#1}%
+ \bitsetIsEmpty{HyField@F}{%
+ \def\Fld@annotflags{}%
+ }{%
+ \edef\Fld@annotflags{/F \bitsetGetDec{HyField@F}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Pushbutton field}
+%
+% \begin{macro}{\HyField@FlagsPushButton}
+% \begin{macrocode}
+\def\HyField@FlagsPushButton{%
+ \HyField@FlagsAnnot{push button field}%
+ \bitsetReset{HyField@Ff}%
+ \HyField@UseFlag{Ff}{ReadOnly}%
+ \HyField@UseFlag{Ff}{Required}%
+ \HyField@UseFlag{Ff}{NoExport}%
+ \HyField@SetFlag{Ff}{Pushbutton}%
+ \HyField@PrintFlags{Ff}{push button field}%
+ \bitsetIsEmpty{HyField@Ff}{%
+ \def\Fld@flags{}%
+ }{%
+ \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Check box field}
+%
+% \begin{macro}{\HyField@FlagsCheckBox}
+% \begin{macrocode}
+\def\HyField@FlagsCheckBox{%
+ \HyField@FlagsAnnot{check box field}%
+ \bitsetReset{HyField@Ff}%
+ \HyField@UseFlag{Ff}{ReadOnly}%
+ \HyField@UseFlag{Ff}{Required}%
+ \HyField@UseFlag{Ff}{NoExport}%
+ \HyField@PrintFlags{Ff}{check box field}%
+ \bitsetIsEmpty{HyField@Ff}{%
+ \def\Fld@flags{}%
+ }{%
+ \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Radio button field}
+%
+% \begin{macro}{\HyField@FlagsRadioButton}
+% \begin{macrocode}
+\def\HyField@FlagsRadioButton{%
+ \HyField@FlagsAnnot{radio button field}%
+ \bitsetReset{HyField@Ff}%
+ \HyField@UseFlag{Ff}{ReadOnly}%
+ \HyField@UseFlag{Ff}{Required}%
+ \HyField@UseFlag{Ff}{NoExport}%
+ \HyField@UseFlag{Ff}{NoToggleToOff}%
+ \HyField@SetFlag{Ff}{Radio}%
+ \HyField@UseFlag{Ff}{RadiosInUnison}%
+ \HyField@PrintFlags{Ff}{radio button field}%
+ \bitsetIsEmpty{HyField@Ff}{%
+ \def\Fld@flags{}%
+ }{%
+ \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Text fields}
+%
+% \begin{macro}{\HyField@FlagsText}
+% \begin{macrocode}
+\def\HyField@FlagsText{%
+ \HyField@FlagsAnnot{text field}%
+ \bitsetReset{HyField@Ff}%
+ \HyField@UseFlag{Ff}{ReadOnly}%
+ \HyField@UseFlag{Ff}{Required}%
+ \HyField@UseFlag{Ff}{NoExport}%
+ \HyField@UseFlag{Ff}{Multiline}%
+ \HyField@UseFlag{Ff}{Password}%
+ \HyField@UseFlag{Ff}{FileSelect}%
+ \HyField@UseFlag{Ff}{DoNotSpellCheck}%
+ \HyField@UseFlag{Ff}{DoNotScroll}%
+ \ifFld@comb
+ \ifcase0\ifFld@multiline
+ \else\ifFld@password
+ \else\ifFld@fileselect
+ \else 1\fi\fi\fi\relax
+ \PackageError{hyperref}{%
+ Field option `comb' cannot used together with\MessageBreak
+ `multiline', `password', or `fileselect'%
+ }\@ehc
+ \else
+ \HyField@UseFlag{Ff}{Comb}%
+ \fi
+ \fi
+ \HyField@UseFlag{Ff}{RichText}%
+ \HyField@PrintFlags{Ff}{text field}%
+ \bitsetIsEmpty{HyField@Ff}{%
+ \def\Fld@flags{}%
+ }{%
+ \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Choice fields}
+%
+% \begin{macro}{\HyField@FlagsChoice}
+% \begin{macrocode}
+\def\HyField@FlagsChoice{%
+ \HyField@FlagsAnnot{choice field}%
+ \bitsetReset{HyField@Ff}%
+ \HyField@UseFlag{Ff}{ReadOnly}%
+ \HyField@UseFlag{Ff}{Required}%
+ \HyField@UseFlag{Ff}{NoExport}%
+ \HyField@UseFlag{Ff}{Combo}%
+ \ifFld@combo
+ \HyField@UseFlag{Ff}{Edit}%
+ \fi
+ \HyField@UseFlag{Ff}{Sort}%
+ \HyField@UseFlag{Ff}{MultiSelect}%
+ \ifFld@combo
+ \ifFld@edit
+ \HyField@UseFlag{Ff}{DoNotSpellCheck}%
+ \fi
+ \fi
+ \HyField@UseFlag{Ff}{CommitOnSelChange}%
+ \HyField@PrintFlags{Ff}{choice field}%
+ \bitsetIsEmpty{HyField@Ff}{%
+ \def\Fld@flags{}%
+ }{%
+ \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Choice field}
+%
+% \begin{macrocode}
+\RequirePackage{kvsetkeys}[2007/09/29]
+% \end{macrocode}
+% \begin{macro}{\HyField@PDFChoices}
+% |#1|: list of choices in key value syntax, key = exported name,
+% value = displayed text.\\
+% Input: \cs{Fld@default}, \cs{Fld@value}, \cs{ifFld@multiselect}\\
+% Result: \cs{Fld@choices} with entries: |/Opt|, |/DV|, |/V|, |/I|.
+% \begin{macrocode}
+\def\HyField@PDFChoices#1{%
+ \begingroup
+ \gdef\Fld@choices{}%
+ \def\HyTmp@optlist{}%
+ \let\HyTmp@optitem\relax
+ \count@=0 %
+ \kv@parse{#1}{%
+ \Hy@pdfstringdef\kv@key\kv@key
+ \ifx\kv@value\relax
+ \ifnum\Hy@pdfversion<3 % implementation note 122, PDF spec 1.7
+ \xdef\Fld@choices{\Fld@choices[(\kv@key)(\kv@key)]}%
+ \else
+ \xdef\Fld@choices{\Fld@choices(\kv@key)}%
+ \fi
+ \else
+ \Hy@pdfstringdef\kv@value\kv@value
+ \xdef\Fld@choices{\Fld@choices[(\kv@key)(\kv@value)]}%
+ \fi
+ \edef\HyTmp@optlist{%
+ \HyTmp@optlist
+ \HyTmp@optitem{\the\count@}{\kv@key}0%
+ }%
+ \advance\count@ by 1 %
+ \@gobbletwo
+ }%
+ \xdef\Fld@choices{/Opt[\Fld@choices]}%
+ \ifFld@multiselect
+ \HyField@@PDFChoices{DV}\Fld@default
+ \HyField@@PDFChoices{V}\Fld@value
+ \else
+ \ifx\Fld@default\relax
+ \else
+ \pdfstringdef\Hy@gtemp\Fld@default
+ \xdef\Fld@choices{\Fld@choices/DV(\Hy@gtemp)}%
+ \fi
+ \ifx\Fld@value\relax
+ \else
+ \pdfstringdef\Hy@gtemp\Fld@value
+ \xdef\Fld@choices{\Fld@choices/V(\Hy@gtemp)}%
+ \fi
+ \fi
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@@PDFChoices}
+% \begin{macrocode}
+\def\HyField@@PDFChoices#1#2{%
+ \ifx#2\relax
+ \else
+ \count@=0 %
+ \def\HyTmp@optitem##1##2##3{%
+ \def\HyTmp@key{##2}%
+ \ifx\HyTmp@key\Hy@gtemp
+ \expandafter\def\expandafter\HyTmp@optlist\expandafter{%
+ \HyTmp@optlist
+ \HyTmp@optitem{##1}{##2}1%
+ }%
+ \let\HyTmp@found=Y%
+ \else
+ \expandafter\def\expandafter\HyTmp@optlist\expandafter{%
+ \HyTmp@optlist
+ \HyTmp@optitem{##1}{##2}##3%
+ }%
+ \fi
+ }%
+ \expandafter\comma@parse\expandafter{#2}{%
+ \pdfstringdef\Hy@gtemp\comma@entry
+ \let\HyTmp@found=N %
+ \expandafter\let\expandafter\HyTmp@optlist\expandafter\@empty
+ \HyTmp@optlist
+ \ifx\HyTmp@found Y%
+ \advance\count@ by 1 %
+ \else
+ \@onelevel@sanitize\comma@entry
+ \PackageWarning{hyperref}{%
+ \string\ChoiceBox: Ignoring value `\comma@entry',%
+ \MessageBreak
+ it cannot be found in the choices%
+ }%
+ \fi
+ \@gobble
+ }%
+ \def\HyTmp@optitem##1##2##3{%
+ \ifnum##3=1 %
+ (##2)%
+ \fi
+ }%
+ \ifcase\count@
+ \or
+ \xdef\Fld@choices{\Fld@choices/#1\HyTmp@optlist}%
+ \else
+ \xdef\Fld@choices{\Fld@choices/#1[\HyTmp@optlist]}%
+ \ifx#1V%
+ \def\HyTmp@optitem##1##2##3{%
+ \ifnum##3=1 %
+ \@firstofone{ ##1}%
+ \fi
+ }%
+ \edef\HyTmp@optlist{\HyTmp@optlist}%
+ \xdef\Fld@choices{%
+ \Fld@choices
+ /I[\expandafter\@firstofone\HyTmp@optlist]%
+ }%
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Forms}
+%
+% \begin{macro}{\HyField@SetKeys}
+% \begin{macrocode}
+\def\HyField@SetKeys{%
+ \setkeys{Field}%
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
\newif\ifFld@checked
-\newif\ifFld@hidden
-\newif\ifFld@multiline
-\newif\ifFld@readonly
\newif\ifFld@disabled
-\newif\ifFld@password
-\newif\ifFld@radio
-\newif\ifFld@combo
-\newif\ifFld@popdown
-\Fld@multilinefalse
\Fld@checkedfalse
-\Fld@hiddenfalse
-\Fld@readonlyfalse
\Fld@disabledfalse
-\Fld@radiofalse
-\Fld@combofalse
-\Fld@popdownfalse
-\Fld@passwordfalse
\newcount\Fld@menulength
\newdimen\Field@Width
\newdimen\Fld@charsize
@@ -5535,7 +6212,6 @@
\def\Fld@borderstyle{S}
\def\Fld@cbsymbol{4}
\def\Fld@rotation{0}
-\newtoks\Choice@toks
\def\Form{\@ifnextchar[{\@Form}{\@Form[]}}
\def\endForm{\@endForm}
\newif\ifForm@html
@@ -5552,6 +6228,7 @@
\def\Hy@tempa{#1}%
\ifx\Hy@tempa\enc@@html
\Form@htmltrue
+ \def\Fld@export{html}%
\else
\typeout{hyperref: form `encoding' key set to #1 %
-- unknown type%
@@ -5560,9 +6237,25 @@
\fi
}
\define@key{Form}{method}{%
- \def\Form@method{#1}%
+ \lowercase{\def\Hy@temp{#1}}%
+ \@ifundefined{Form@method@\Hy@temp}{%
+ \@onelevel@sanitize\Hy@temp
+ \PackageError{hyperref}{%
+ Unknown method `\Hy@temp'.\MessageBreak
+ Known values are `post' and `get'%
+ }\@ehc
+ }{%
+ \let\Form@method\Hy@temp
+ \ifcase\@nameuse{Form@method@\Hy@temp} %
+ \Fld@getmethodfalse
+ \else
+ \Fld@getmethodtrue
+ \fi
+ }%
}
\def\Form@method{}
+\@namedef{Form@method@post}{0}
+\@namedef{Form@method@get}{1}
\def\Field@boolkey#1#2{%
\csname Fld@#2\ifx\relax#1\relax true\else#1\fi\endcsname
}
@@ -5583,33 +6276,12 @@
\define@key{Field}{loc}{%
\def\Fld@loc{#1}%
}
-\define@key{Field}{multiline}[true]{%
- \lowercase{\Field@boolkey{#1}}{multiline}%
-}
\define@key{Field}{checked}[true]{%
\lowercase{\Field@boolkey{#1}}{checked}%
}
-\define@key{Field}{hidden}[true]{%
- \lowercase{\Field@boolkey{#1}}{hidden}%
-}
-\define@key{Field}{readonly}[true]{%
- \lowercase{\Field@boolkey{#1}}{readonly}%
-}
\define@key{Field}{disabled}[true]{%
\lowercase{\Field@boolkey{#1}}{disabled}%
}
-\define@key{Field}{password}[true]{%
- \lowercase{\Field@boolkey{#1}}{password}%
-}
-\define@key{Field}{radio}[true]{%
- \lowercase{\Field@boolkey{#1}}{radio}%
-}
-\define@key{Field}{combo}[true]{%
- \lowercase{\Field@boolkey{#1}}{combo}%
-}
-\define@key{Field}{popdown}[true]{%
- \lowercase{\Field@boolkey{#1}}{popdown}%
-}
\define@key{Field}{accesskey}{%
\Field@addtoks{accesskey}{#1}%
}
@@ -5806,7 +6478,20 @@
\def\DefaultHeightofChoiceMenu{\baselineskip}
\def\DefaultWidthofChoiceMenu{\baselineskip}
\def\DefaultHeightofText{\baselineskip}
+\def\DefaultHeightofTextMultiline{4\baselineskip}
\def\DefaultWidthofText{3cm}
+\def\DefaultOptionsofSubmit{print,name=Submit,noexport}
+\def\DefaultOptionsofReset{print,name=Reset,noexport}
+\def\DefaultOptionsofPushButton{print}
+\def\DefaultOptionsofCheckBox{print}
+\def\DefaultOptionsofText{print}
+% \end{macrocode}
+% Default options for the types of \cs{ChoiceMenu}.
+% \begin{macrocode}
+\def\DefaultOptionsofListBox{print}
+\def\DefaultOptionsofComboBox{print,edit,sort}
+\def\DefaultOptionsofPopdownBox{print}
+\def\DefaultOptionsofRadio{print,notoggletooff}
% \end{macrocode}
%
% \section{Setup}
@@ -5902,6 +6587,7 @@
\let\hyper@linkend\@empty
\def\hyper@linkurl##1##2{##1}%
\def\hyper@linkfile##1##2##3{##1}%
+ \def\hyper@link@[##1]##2##3{}%
\let\Hy@backout\@gobble
}
\def\stop@hyper{%
@@ -5915,6 +6601,7 @@
\let\hyper@linkend\@empty
\def\hyper@linkurl##1##2{##1}%
\def\hyper@linkfile##1##2##3{##1}%
+ \def\hyper@link@[##1]##2##3{}%
}
\def\endNoHyper{%
\global\let\hyper@link\hyper@livelink
@@ -5943,6 +6630,7 @@
\let\hyper@linkend\@empty
\def\hyper@linkurl#1#2{#1}%
\def\hyper@linkfile#1#2#3{#1}%
+\def\hyper@link@[#1]#2#3{}%
\let\PDF@SetupDoc\@empty
\let\PDF@FinishDoc\@empty
% \end{macrocode}
@@ -6155,6 +6843,33 @@
% \section{Page numbers}
% This stuff is done by Heiko Oberdiek.
%
+% \section{Every page}
+%
+% \begin{macrocode}
+\RequirePackage{atbegshi}[2007/09/09]
+\def\Hy@EveryPageHook{}
+\def\Hy@EveryPageBoxHook{}
+\def\Hy@FirstPageHook{}
+\AtBeginShipout{%
+ \Hy@EveryPageHook
+ \ifx\Hy@EveryPageBoxHook\@empty
+ \else
+ \setbox\AtBeginShipoutBox=\vbox{%
+ \offinterlineskip
+ \Hy@EveryPageBoxHook
+ \box\AtBeginShipoutBox
+ }%
+ \fi
+}
+\AtBeginShipoutFirst{%
+ \Hy@FirstPageHook
+}
+\g@addto@macro\Hy@FirstPageHook{%
+ \PDF@FinishDoc
+ \gdef\PDF@FinishDoc{}%
+}
+% \end{macrocode}
+%
% \subsection{PDF /PageLabels}
% Internal macros of this module are marked with |\HyPL@|.
%
@@ -6402,15 +7117,10 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\HyPL@EveryPage}
-% Without option `pdfpagelabels' we need a dummy for
-% \cmd{\HyPL@EveryPage}.
% \begin{macrocode}
-\else
- \let\HyPL@EveryPage\@empty
+ \g@addto@macro\Hy@EveryPageHook{\HyPL@EveryPage}%
\fi
% \end{macrocode}
-% \end{macro}
%
% Option `pdfpagelabels' has been used and is now disabled.
% \begin{macrocode}
@@ -6497,7 +7207,11 @@
% to make sure, that no further pages will follow.
% Then the PDF catalog entry for |\PageLabels| is set.
% \begin{macrocode}
- \AtEndDocument{\clearpage\HyPL@SetPageLabels}%
+ \@ifclassloaded{revtex4}{%
+ \g@addto@macro\clear@document{\HyPL@SetPageLabels}%
+ }{%
+ \AtEndDocument{\clearpage\HyPL@SetPageLabels}%
+ }%
% \end{macrocode}
%
% \begin{macrocode}
@@ -6820,11 +7534,14 @@
% that package lastpage is loaded after package hyperref.
% The same algorithm (options hypertexnames and plainpages)
% is used to get the page anchor name as
-% in |\@hyperfixhead| (see sec. \ref{pagenum}).
+% in |\Hy@EveryPageAnchor| (see sec. \ref{pagenum}).
% The link will not work if option pageanchor is set to false.
% \begin{macro}{\lastpage@putlabel}
% \begin{macrocode}
\AtBeginDocument{%
+ \@ifclassloaded{revtex4}{%
+ \@namedef{ver@lastpage.sty}{1994/06/25}%
+ }{}%
\@ifpackageloaded{lastpage}{%
\ifHy@pageanchor
\else
@@ -6859,6 +7576,18 @@
\fi
\addtocounter{page}{1}%
}%
+ \@ifclassloaded{revtex4}{%
+ \begingroup
+ \toks@\expandafter{\lastpage@putlabel}%
+ \edef\x{\endgroup
+ \def\noexpand\lastpage@putlabel{%
+ \noexpand\stepcounter{page}%
+ \the\toks@
+ \noexpand\addtocounter{page}\noexpand\m@ne
+ }%
+ }%
+ \x
+ }{}%
}{}%
}
%</package>
@@ -6956,6 +7685,8 @@
\expandafter\def\y[##1]##2{%
\H@refstepcounter{#1}%
\hyper@makecurrent{table}%
+ \let\Hy@LT@currentHlabel\@currentHlabel
+ \let\Hy@LT@currentHref\@currentHref
#2\@sharp#####4%
}%
}%
@@ -6969,7 +7700,11 @@
\endgroup
\def\LT@start{%
#1%
- \hyper@refstepcounter{table}%
+ \let\@currentHlabel\Hy@LT@currentHlabel
+ \let\@currentHref\Hy@LT@currentHref
+ \Hy@raisedlink{%
+ \hyper@anchorstart{\@currentHref}\hyper@anchorend
+ }%
\ifvoid\LT@firsthead\copy
#2%
}%
@@ -7362,10 +8097,12 @@
\expandafter\@gobble
\else
\H@refstepcounter\@captype
- \@ifundefined{fst@\@captype}{%
- \let\Hy@tempa\@caption
+ \let\Hy@tempa\@caption
+ \@ifundefined{float@caption}{%
}{%
- \let\Hy@tempa\Hy@float@caption
+ \expandafter\ifx\csname @float@c@\@captype\endcsname\float@caption
+ \let\Hy@tempa\Hy@float@caption
+ \fi
}%
\expandafter\@firstofone
\fi
@@ -7417,17 +8154,23 @@
\let\Hy@float@caption\@caption
\@ifpackageloaded{float}{%
\def\Hy@float@caption{%
- \hyper@makecurrent{\@captype}%
+ \ifx\Hy@float@currentHref\@undefined
+ \hyper@makecurrent{\@captype}%
+ \global\let\Hy@float@currentHref\@currentHref
+ \else
+ \let\@currentHref\Hy@float@currentHref
+ \fi
\float@caption
}%
\let\HyOrg@float@makebox\float@makebox
\renewcommand{\float@makebox}[1]{%
\HyOrg@float@makebox{%
#1\relax
- \begingroup
- \hyper@makecurrent{\@captype}%
- \hyper@@anchor{\@currentHref}{\relax}%
- \endgroup
+ \ifx\Hy@float@currentHref\@undefined
+ \else
+ \hyper@@anchor{\Hy@float@currentHref}{\relax}%
+ \global\let\Hy@float@currentHref\@undefined
+ \fi
}%
}%
}{}
@@ -7834,34 +8577,6 @@
%
% \section{Page numbers}\label{pagenum}
%
-% Give every page an automatic number anchor. This involves, sigh,
-% overloading \LaTeX's output bits and pieces, which must be dangerous.
-% This used to be |\@shipoutsetup|, now |\@begindvi|. We cannot even
-% overload this, as it sets itself to null. SIGH.
-% \begin{macrocode}
-\def\@begindvi{%
- \unvbox \@begindvibox
- \Hy@begindvi
- \global\let\@begindvi\Hy@begindvi
-}
-\def\Hy@begindvi{%
- \@hyperfixhead
- \HyPL@EveryPage
-}
-\def\pagenumbering#1{%
- \global\c@page \@ne
- \gdef\thepage{\csname @#1\endcsname\c@page}%
-}
-% \end{macrocode}
-% This is needed for some unremembered reason\ldots
-% \begin{macrocode}
-\let\HYPERPAGEANCHOR\hyperpageanchor
-% \end{macrocode}
-%
-% Macro \cmd{\@hyperfixhead} calls \cmd{\hyper@pagetransition}
-% and \cmd{\hyper@pageduration}. Therefore empty definitions
-% are provided for drivers that do not define these macros.
-%
% The last page should not contain a /Dur key, because there
% is no page after the last page. Therefore at the last page
% there should be a command |\hypersetup{pdfpageduration={}}|.
@@ -7869,194 +8584,52 @@
% be too late, if the last page is already finished, or too
% early, if lots of float pages will follow.
% Therefore currently nothing is done by hyperref.
-% \begin{macrocode}
-\providecommand*\hyper@pagetransition{}
-\providecommand*\hyper@pageduration{}
-\providecommand*\hyper@pagehidden{}
-% \end{macrocode}
%
-% This where we supply a destination for each page. Test to see
-% if there is some sort of header. The test used to be
-% |\expandafter\ifx\expandafter\@empty\H@old@thehead|.
-% \begin{macro}{\@hyperfixhead}
+% This where we supply a destination for each page.
% \begin{macrocode}
-\def\@hyperfixhead{%
+\def\Hy@EveryPageAnchor{%
\Hy@DistillerDestFix
\ifHy@pageanchor
\ifHy@hypertexnames
\ifHy@plainpages
- \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}%
+ \def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}%
\else
\begingroup
\let\@number\@firstofone
\Hy@unicodefalse
\pdfstringdef\@the@H@page{\thepage}%
\endgroup
- \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
+ \def\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
\fi
\else
\Hy@GlobalStepCount\Hy@pagecounter
- \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\the\Hy@pagecounter}}%
+ \def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\Hy@pagecounter}}%
\fi
- \else
- \let\Hy@TempPageAnchor\@empty
- \fi
- \let\H@old@thehead\@thehead
- \if^\@thehead^%
- \def\H@old@thehead{\hfil}%
- \fi
- \ifHy@texht
- \def\@thehead{}%
- \else
- \ifHy@seminarslides
- \begingroup
- \let\leavevmode\relax
- \Hy@TempPageAnchor\relax
- \hyper@pagetransition
- \hyper@pageduration
- \hyper@pagehidden
- \endgroup
- \else
- \def\@thehead{%
- \Hy@TempPageAnchor\relax
- \hyper@pagetransition
- \hyper@pageduration
- \hyper@pagehidden
- \H@old@thehead
+ \vbox to 0pt{%
+ \kern\voffset
+ \kern\topmargin
+ \kern-1bp\relax
+ \hbox to 0pt{%
+ \kern\hoffset
+ \kern\ifodd\value{page}%
+ \oddsidemargin
+ \else
+ \evensidemargin
+ \fi
+ \kern-1bp\relax
+ \Hy@TempPageAnchor
+ \hss
}%
- \fi
- \fi
- \ifx\PDF@FinishDoc\@empty
- \else
- \PDF@FinishDoc
- \gdef\PDF@FinishDoc{}%
+ \vss
+ }%
\fi
}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Package \textsf{fancybox}}
-%
-% Fix for fancybox 2000/09/19 v1.3.
-% Several commands are redefined to get \cs{@begindvi} at a better
-% place and putting page anchor and transition macros in
-% \cs{fb@outputpage}.
-% \begin{macrocode}
-\@ifpackageloaded{fancybox}{%
- \def\fb@outputpage{%
- \begingroup
- \catcode`\ =10 %
- \let\-\@dischyph
- \let\'\@acci
- \let\`\@accii
- \let\=\@acciii
- \if@specialpage
- \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
- \fi
- \if@twoside
- \ifodd\count\z@
- \let\@thehead\@oddhead
- \let\@thefoot\@oddfoot
- \let\@themargin\oddsidemargin
- \else
- \let\@thehead\@evenhead
- \let\@thefoot\@evenfoot
- \let\@themargin\evensidemargin
- \fi
- \fi
- \csname reset@font\endcsname
- \normalsize
- \baselineskip\z@
- \lineskip\z@
- \let\par\@@par
- \ifx\this@fancypage\@empty\else
- \this@fancypage
- \gdef\this@fancypage{}%
- \fi
- \ifx\the@fancypage\@empty\else
- \setbox\@outputbox\hbox{\the@fancypage{\box\@outputbox}}%
- \fi
- \ifx\fb@@rotatepage\@empty\else
- \setbox\@outputbox\hbox{\fb@@rotatepage{\box\@outputbox}}%
- \fi
- \setbox\@outputbox\vbox{%
- \@tempdima=\wd\@outputbox
- \setbox\@tempboxa=\hbox to\@tempdima{%
- \let\label\@gobble
- \let\index\@gobble
- \let\glossary\@gobble
- \@thehead
- }%
- \ht\@tempboxa\headheight
- \dp\@tempboxa\z@
- \box\@tempboxa
- \vskip\headsep
- \box\@outputbox
- \baselineskip\footskip
- \hbox to\@tempdima{%
- \let\label\@gobble
- \let\index\@gobble
- \let\glossary\@gobble
- \@thefoot
- }%
- }%
- \ifx\the@@fancypage\@empty\else
- \setbox\@outputbox\hbox{\the@@fancypage{\box\@outputbox}}%
- \fi
- \setbox\@outputbox\vbox{%
- \ifnum\fancyput@flag>-1 \do@fancyput\fi
- \@begindvi
- \Hy@TempPageAnchor\relax
- \hyper@pagetransition
- \hyper@pageduration
- \hyper@pagehidden
- \vskip\topmargin
- \moveright\@themargin\box\@outputbox
- }%
- \ifx\fb@rotatepage\@empty\else
- \setbox\@outputbox\hbox{\lower\ht\@outputbox\box\@outputbox}%
- \dp\@outputbox\z@
- \wd\@outputbox\z@
- \setbox\@outputbox\hbox{\fb@rotatepage{\box\@outputbox}}%
- \expandafter\fb@setoffsets\fb@theoffsets
- \fi
- \let\protect\noexpand
- \shipout\box\@outputbox
- \global\@colht\textheight
- \endgroup
- \stepcounter{page}%
- \let\firstmark\botmark
- }%
- \def\fancypage#1#2{%
- \def\the@fancypage{#1}%
- \def\the@@fancypage{#2}%
- \def\@outputpage{\fb@outputpage}%
- }%
- \def\thisfancypage#1#2{%
- \gdef\@outputpage{\fb@outputpage}%
- \gdef\this@fancypage{\def\the@fancypage{#1}\def\the@@fancypage{#2}}%
- }%
- \def\fancyput{%
- \def\@outputpage{\fb@outputpage}%
- \@ifstar{\@testtrue\@fancyput}{\@testfalse\@fancyput}%
- }%
- \def\thisfancyput{%
- \gdef\@outputpage{\fb@outputpage}%
- \@ifstar{\@testtrue\@thisfancyput}{\@testfalse\@thisfancyput}%
- }%
- \def\LandScape#1{%
- \clearpage
- \def\fb@@rotatepage{#1}%
- \def\@outputpage{\fb@outputpage}%
- \@tempdima\textheight
- \textheight\textwidth
- \textwidth\@tempdima
- \UsePageParameters
- }%
-}{}
+\g@addto@macro\Hy@EveryPageBoxHook{%
+ \Hy@EveryPageAnchor
+}
% \end{macrocode}
%
-%\section{Table of contents}\label{toc}
+% \section{Table of contents}\label{toc}
% TV Raman noticed that people who add arbitrary material into the TOC
% generate a bad or null link. We avoid that by checking if the current
% destination is empty. But if `the most recent destination' is not
@@ -8990,6 +9563,42 @@
% PDF code, so there is a lot of flexibility which we do not at
% present harness.
%
+% Set PDF version if requested by option \textsf{pdfversion}.
+% \begin{itemize}
+% \item pdf\TeX\ 1.10a, 2003-01-16: \cs{pdfoptionpdfminorversion}
+% \item pdf\TeX\ 1.30, 2005-08-081: \cs{pdfminorversion}
+% \end{itemize}
+% \begin{macrocode}
+\let\Hy@pdfminorversion\relax
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname pdfminorversion\endcsname\relax
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdfoptionpdfminorversion\endcsname\relax
+ \else
+ \def\Hy@pdfminorversion{\pdfoptionpdfminorversion}%
+ \fi
+\else
+ \def\Hy@pdfminorversion{\pdfminorversion}%
+\fi
+\@ifundefined{Hy@pdfminorversion}{%
+ \PackageInfo{hyperref}{%
+ PDF version is not set, because pdfTeX is too old (<1.10a)%
+ }%
+}{%
+ \ifHy@setpdfversion
+ \ifnum\Hy@pdfminorversion=\Hy@pdfversion\relax
+ \else
+ \Hy@pdfminorversion=\Hy@pdfversion\relax
+ \fi
+ \PackageInfo{hyperref}{%
+ \expandafter\string\Hy@pdfminorversion:=\number\Hy@pdfversion\space
+ }%
+ \fi
+ \edef\Hy@pdfversion{\number\Hy@pdfminorversion}%
+ \Hy@DisableOption{pdfversion}%
+}
+% \end{macrocode}
+%
% First, allow for some changes and additions to pdftex syntax:
% \begin{macrocode}
\def\setpdflinkmargin#1{\pdflinkmargin#1}
@@ -9137,7 +9746,7 @@
/A<<%
/F(\Hy@pstringF)%
/S/GoToR%
- \ifHy@newwindow /NewWindow true\fi
+ \Hy@SetNewWindow
% \end{macrocode}
% If |#3| is empty, page 0; if its a number, Page number, otherwise
% a named destination.
@@ -9186,7 +9795,7 @@
/A<<%
/F(\Hy@pstringF)%
/S/Launch%
- \ifHy@newwindow /NewWindow true\fi
+ \Hy@SetNewWindow
\ifx\\#3\\%
\else
/Win<</P(\Hy@pstringP)/F(\Hy@pstringF)>>%
@@ -9476,6 +10085,14 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+\g@addto@macro\Hy@EveryPageHook{%
+ \hyper@pagetransition
+ \hyper@pageduration
+ \hyper@pagehidden
+}
+% \end{macrocode}
+%
% Let us explicitly turn on PDF generation; they can reverse
% this decision in the document, but since we are emitting PDF
% links anyway, we \emph{must} be in PDF mode.
@@ -10055,7 +10672,7 @@
/S/GoToR%
/F(\Hy@pstringF)%
/D\ifx\\#3\\[0 \@pdfstartview]\else(\Hy@pstringD)\fi
- \ifHy@newwindow /NewWindow true\fi
+ \Hy@SetNewWindow
>>%
>>%
}%
@@ -10078,7 +10695,7 @@
/A<<%
/S/Launch%
/F(\Hy@pstringF)%
- \ifHy@newwindow /NewWindow true\fi
+ \Hy@SetNewWindow
\ifx\\#3\\%
\else
/Win<</P(\Hy@pstringP)/F(\Hy@pstringF)>>%
@@ -10513,7 +11130,7 @@
/Type/Action%
/S/Launch%
/F(\Hy@pstringF)%
- \ifHy@newwindow /NewWindow true \fi
+ \Hy@SetNewWindow
\ifx\\#3\\\else /Win<</F(\Hy@pstringF)/P(\Hy@pstringP)>>\fi%
>;%
a=<%
@@ -10762,6 +11379,11 @@
\special{!hidden\ifHy@pdfpagehidden +\else -\fi}%
\fi
}%
+ \g@addto@macro\Hy@EveryPageBoxHook{%
+ \hyper@pagetransition
+ \hyper@pageduration
+ \hyper@pagehidden
+ }%
\fi
% \end{macrocode}
%
@@ -11138,6 +11760,13 @@
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
+\g@addto@macro\Hy@EveryPageBoxHook{%
+ \hyper@pagetransition
+ \hyper@pageduration
+ \hyper@pagehidden
+}
+% \end{macrocode}
+% \begin{macrocode}
%</pdfmark>
\def\hyper@image#1#2{%
\hyper@linkurl{#2}{#1}%
@@ -11632,7 +12261,7 @@
Action={%
<<%
/S/GoToR%
- \ifHy@newwindow /NewWindow true\fi
+ \Hy@SetNewWindow
/F(\Hy@pstringF)%
/D\ifx\\#3\\[0 \@pdfstartview]\else(\Hy@pstringD)cvn\fi
>>%
@@ -11650,7 +12279,7 @@
Action={%
<<%
/S/GoToR%
- \ifHy@newwindow /NewWindow true\fi
+ \Hy@SetNewWindow
/F(\Hy@pstringF)%
/D\ifx\\#3\\[0 \@pdfstartview]\else(\Hy@pstringD)cvn\fi
>>%
@@ -11676,7 +12305,7 @@
Action={%
<<%
/S/Launch%
- \ifHy@newwindow /NewWindow true\fi
+ \Hy@SetNewWindow
/F(\Hy@pstringF)%
\ifx\\#3\\%
\else
@@ -11697,7 +12326,7 @@
Action={%
<<%
/S/GoToR%
- \ifHy@newwindow /NewWindow true\fi
+ \Hy@SetNewWindow
/F(\Hy@pstringF)%
\ifx\\#3\\%
\else
@@ -11739,7 +12368,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\AtBeginDvi{%
+\AtBeginShipoutFirst{%
\headerps@out{%
% \end{macrocode}
% Unless I am going mad, this \emph{appears} to be the relationship
@@ -11878,7 +12507,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\AtBeginDvi{%
+\AtBeginShipoutFirst{%
\headerps@out{%
/vsize {\Hy@pageheight} def%
% \end{macrocode}
@@ -12021,7 +12650,7 @@
% set afterwards.
%
% \begin{macrocode}
-\AtBeginDvi{%
+\AtBeginShipoutFirst{%
\headerps@out{%
/betterpdfmark {%
systemdict begin %
@@ -12043,7 +12672,7 @@
}%
ifelse%
}% end of \headerps@out
-}% end of \AtBeginDvi
+}% end of \AtBeginShipoutFirst
%
\input{pdfmark.def}%
%
@@ -12438,7 +13067,10 @@
\ifx\Hy@tempa\@urltype
\special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
\else
- {\hyper@chars\special{t4ht=<a href=\hyper@quote\##2\hyper@quote>}}%
+ \begingroup
+ \hyper@chars
+ \special{t4ht=<a href=\hyper@quote\##2\hyper@quote>}%
+ \endgroup
\fi
}
\def\hyper@linkend{%
@@ -12506,7 +13138,7 @@
% \begin{macrocode}
%<*pdfmark>
\long\def\@Form[#1]{%
-\AtBeginDvi{%
+\AtBeginShipoutFirst{%
\headerps@out{%
[%
/_objdef{pdfDocEncoding}%
@@ -12688,19 +13320,19 @@
\def\Fld@default{}%
\let\Fld@value\@empty
\def\Fld@width{\DefaultWidthofText}%
- \def\Fld@height{\DefaultHeightofText}%
- \ifFld@multiline
- \begingroup
- \dimen@=\DefaultHeightofText
- \dimen@=4\dimen@
- \edef\x{\endgroup
- \def\noexpand\Fld@height{\the\dimen@}%
- }%
- \x
- \fi
- \bgroup
+ \def\Fld@height{%
+ \ifFld@multiline
+ \DefaultHeightofTextMultiline
+ \else
+ \DefaultHeightofText
+ \fi
+ }%
+ \begingroup
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofText,#1%
+ }%
+ \HyField@FlagsText
\ifFld@hidden\def\Fld@width{1sp}\fi
\ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
\LayoutTextField{#2}{%
@@ -12709,7 +13341,7 @@
pdfmark=/ANN,Raw={\PDFForm@Text}%
}%
}%
- \egroup
+ \endgroup
}
\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
\def\Fld@name{#2}%
@@ -12717,7 +13349,7 @@
\let\Fld@value\relax
\def\Fld@width{\DefaultWidthofChoiceMenu}%
\def\Fld@height{\DefaultHeightofChoiceMenu}%
- \bgroup
+ \begingroup
\Fld@menulength=0 %
\@tempdima\z@
\@for\@curropt:=#3\do{%
@@ -12728,34 +13360,57 @@
}%
\advance\@tempdima by 15\p@
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \begingroup
+ \HyField@SetKeys{#1}%
+ \edef\x{\endgroup
+ \noexpand\expandafter
+ \noexpand\HyField@SetKeys
+ \noexpand\expandafter{%
+ \expandafter\noexpand\csname DefaultOptionsof%
+ \ifFld@radio
+ Radio%
+ \else
+ \ifFld@combo
+ \ifFld@popdown
+ PopdownBox%
+ \else
+ ComboBox%
+ \fi
+ \else
+ ListBox%
+ \fi
+ \fi
+ \endcsname
+ }%
+ }\x
+ \HyField@SetKeys{#1}%
\ifFld@hidden\def\Fld@width{1sp}\fi
\ifx\Fld@value\relax
\let\Fld@value\Fld@default
\fi
\LayoutChoiceField{#2}{%
\ifFld@radio
+ \HyField@FlagsRadioButton
\@@Radio{#3}%
\else
- {%
+ \begingroup
+ \HyField@FlagsChoice
\ifdim\Fld@width<\@tempdima
\ifdim\@tempdima<1cm\@tempdima1cm\fi
\edef\Fld@width{\the\@tempdima}%
\fi
- \def\Fld@flags{}%
- \ifFld@combo\def\Fld@flags{/Ff 917504}\fi
- \ifFld@popdown\def\Fld@flags{/Ff 131072}\fi
- \ifx\Fld@flags\@empty
+ \ifFld@combo
+ \else
\@tempdima=\the\Fld@menulength\Fld@charsize
\advance\@tempdima by \Fld@borderwidth bp %
\advance\@tempdima by \Fld@borderwidth bp %
\edef\Fld@height{\the\@tempdima}%
\fi
\@@Listbox{#3}%
- }%
+ \endgroup
\fi
}%
- \egroup
+ \endgroup
}
\def\@@Radio#1{%
\Fld@listcount=0 %
@@ -12772,15 +13427,7 @@
}
\newcount\Fld@listcount
\def\@@Listbox#1{%
- \Choice@toks={ }%
- \Fld@listcount=0 %
- \@for\@curropt:=#1\do{%
- \expandafter\Fld@checkequals\@curropt==\\%
- \Hy@StepCount\Fld@listcount
- \edef\@processme{%
- \Choice@toks{\the\Choice@toks [(\@currValue) (\@currDisplay)]}%
- }\@processme
- }%
+ \HyField@PDFChoices{#1}%
\Hy@escapeform\PDFForm@List
\pdfmark[\MakeChoiceField{\Fld@width}{\Fld@height}]{%
pdfmark=/ANN,Raw={\PDFForm@List}%
@@ -12788,9 +13435,12 @@
}
\def\@PushButton[#1]#2{% parameters, label
\def\Fld@name{#2}%
- \bgroup
+ \begingroup
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofPushButton,#1%
+ }%
+ \HyField@FlagsPushButton
\ifFld@hidden\def\Fld@width{1sp}\fi
\LayoutPushButtonField{%
\Hy@escapeform\PDFForm@Push
@@ -12798,45 +13448,53 @@
pdfmark=/ANN,Raw={\PDFForm@Push}%
}%
}%
- \egroup
+ \endgroup
}
\def\@Submit[#1]#2{%
\Field@toks={ }%
\def\Fld@width{\DefaultWidthofSubmit}%
\def\Fld@height{\DefaultHeightofSubmit}%
- \bgroup
- \def\Fld@name{Submit}%
- \setkeys{Field}{#1}%
+ \begingroup
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofSubmit,#1%
+ }%
+ \HyField@FlagsPushButton
+ \HyField@FlagsSubmit
\ifFld@hidden\def\Fld@width{1sp}\fi
\Hy@escapeform\PDFForm@Submit
\pdfmark[\MakeButtonField{#2}]{%
pdfmark=/ANN,%
Raw={\PDFForm@Submit /AP << /N {Submit} /D {SubmitP} >>}%
}%
- \egroup
+ \endgroup
}
\def\@Reset[#1]#2{%
\Field@toks={ }%
\def\Fld@width{\DefaultWidthofReset}%
\def\Fld@height{\DefaultHeightofReset}%
- \bgroup
- \def\Fld@name{Reset}%
- \setkeys{Field}{#1}%
+ \begingroup
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofReset,#1%
+ }%
+ \HyField@FlagsPushButton
\ifFld@hidden\def\Fld@width{1sp}\fi
\Hy@escapeform\PDFForm@Reset
\pdfmark[\MakeButtonField{#2}]{%
pdfmark=/ANN,Raw={\PDFForm@Reset}%
}%
- \egroup
+ \endgroup
}
\def\@CheckBox[#1]#2{% parameters, label
\def\Fld@name{#2}%
\def\Fld@default{0}%
- \bgroup
+ \begingroup
\def\Fld@width{\DefaultWidthofCheckBox}%
\def\Fld@height{\DefaultHeightofCheckBox}%
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofCheckBox,#1%
+ }%
+ \HyField@FlagsCheckBox
\ifFld@hidden\def\Fld@width{1sp}\fi
\LayoutCheckField{#2}{%
\Hy@escapeform\PDFForm@Check
@@ -12844,7 +13502,7 @@
pdfmark=/ANN,Raw={\PDFForm@Check}%
}%
}%
- \egroup
+ \endgroup
}
%</pdfmark>
% \end{macrocode}
@@ -12959,17 +13617,17 @@
\def\Fld@name{#2}%
\def\Fld@default{}%
\let\Hy@reserved@a\relax
- \bgroup
- \expandafter\Fld@findlength#3\\%
- \Field@toks={ }%
- \setkeys{Field}{#1}%
- #2%
- \ifFld@radio
- \expandafter\@@Radio#3\\%
- \else
- \expandafter\@@Menu#3\\%
- \fi
- \egroup
+ \begingroup
+ \expandafter\Fld@findlength#3\\%
+ \Field@toks={ }%
+ \setkeys{Field}{#1}%
+ #2%
+ \ifFld@radio
+ \expandafter\@@Radio#3\\%
+ \else
+ \expandafter\@@Menu#3\\%
+ \fi
+ \endgroup
}
\def\Fld@findlength#1\\{%
\Fld@menulength=0 %
@@ -13087,19 +13745,20 @@
\def\Fld@default{}%
\let\Fld@value\@empty
\def\Fld@width{\DefaultWidthofText}%
- \def\Fld@height{\DefaultHeightofText}%
- \ifFld@multiline
- \begingroup
- \dimen@=\DefaultHeightofText
- \dimen@=4\dimen@
- \edef\x{\endgroup
- \def\noexpand\Fld@height{\the\dimen@}%
- }%
- \x
- \fi
- \bgroup
+ \def\Fld@height{%
+ \ifFld@multiline
+ \DefaultHeightofTextMultiline
+ \else
+ \DefaultHeightofText
+ \fi
+ }%
+ \begingroup
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofText,#1%
+ }%
+ \PDFForm@Name
+ \HyField@FlagsText
\ifFld@hidden\def\Fld@width{1sp}\fi
\ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
\LayoutTextField{#2}{%
@@ -13107,7 +13766,7 @@
\pdfstartlink user {\PDFForm@Text}\relax
\MakeTextField{\Fld@width}{\Fld@height}\pdfendlink
}%
- \egroup
+ \endgroup
}
\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
\def\Fld@name{#2}%
@@ -13115,7 +13774,7 @@
\let\Fld@value\relax
\def\Fld@width{\DefaultWidthofChoiceMenu}%
\def\Fld@height{\DefaultHeightofChoiceMenu}%
- \bgroup
+ \begingroup
\Fld@menulength=0 %
\@tempdima\z@
\@for\@curropt:=#3\do{%
@@ -13126,34 +13785,58 @@
}%
\advance\@tempdima by 15\p@
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \begingroup
+ \HyField@SetKeys{#1}%
+ \edef\x{\endgroup
+ \noexpand\expandafter
+ \noexpand\HyField@SetKeys
+ \noexpand\expandafter{%
+ \expandafter\noexpand\csname DefaultOptionsof%
+ \ifFld@radio
+ Radio%
+ \else
+ \ifFld@combo
+ \ifFld@popdown
+ PopdownBox%
+ \else
+ ComboBox%
+ \fi
+ \else
+ ListBox%
+ \fi
+ \fi
+ \endcsname
+ }%
+ }\x
+ \HyField@SetKeys{#1}%
+ \PDFForm@Name
\ifFld@hidden\def\Fld@width{1sp}\fi
\ifx\Fld@value\relax
\let\Fld@value\Fld@default
\fi
\LayoutChoiceField{#2}{%
\ifFld@radio
+ \HyField@FlagsRadioButton
\@@Radio{#3}%
\else
- {%
+ \begingroup
+ \HyField@FlagsChoice
\ifdim\Fld@width<\@tempdima
\ifdim\@tempdima<1cm\@tempdima1cm\fi
\edef\Fld@width{\the\@tempdima}%
\fi
- \def\Fld@flags{}%
- \ifFld@combo\def\Fld@flags{/Ff 917504}\fi
- \ifFld@popdown\def\Fld@flags{/Ff 131072}\fi
- \ifx\Fld@flags\@empty
+ \ifFld@combo
+ \else
\@tempdima=\the\Fld@menulength\Fld@charsize
\advance\@tempdima by \Fld@borderwidth bp %
\advance\@tempdima by \Fld@borderwidth bp %
\edef\Fld@height{\the\@tempdima}%
\fi
\@@Listbox{#3}%
- }%
+ \endgroup
\fi
}%
- \egroup
+ \endgroup
}
\def\@@Radio#1{%
\Fld@listcount=0 %
@@ -13184,15 +13867,7 @@
}
\newcount\Fld@listcount
\def\@@Listbox#1{%
- \Choice@toks={ }%
- \Fld@listcount=0 %
- \@for\@curropt:=#1\do{%
- \expandafter\Fld@checkequals\@curropt==\\%
- \Hy@StepCount\Fld@listcount
- \edef\@processme{%
- \Choice@toks{\the\Choice@toks [(\@currValue) (\@currDisplay)]}%
- }\@processme
- }%
+ \HyField@PDFChoices{#1}%
\leavevmode
\Hy@escapeform\PDFForm@List
\pdfstartlink user {\PDFForm@List}\relax
@@ -13201,9 +13876,13 @@
}
\def\@PushButton[#1]#2{% parameters, label
\def\Fld@name{#2}%
- \bgroup
+ \begingroup
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofPushButton,#1%
+ }%
+ \PDFForm@Name
+ \HyField@FlagsPushButton
\ifFld@hidden\def\Fld@width{1sp}\fi
\LayoutPushButtonField{%
\leavevmode
@@ -13212,15 +13891,18 @@
\MakeButtonField{#2}%
\pdfendlink
}%
- \egroup
+ \endgroup
}
\def\@Submit[#1]#2{%
\Field@toks={ }%
\def\Fld@width{\DefaultWidthofSubmit}%
\def\Fld@height{\DefaultHeightofSubmit}%
- \bgroup
- \def\Fld@name{Submit}%
- \setkeys{Field}{#1}%
+ \begingroup
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofSubmit,#1%
+ }%
+ \HyField@FlagsPushButton
+ \HyField@FlagsSubmit
\ifFld@hidden\def\Fld@width{1sp}\fi
\leavevmode
\Hy@escapeform\PDFForm@Submit
@@ -13231,31 +13913,37 @@
\relax
\MakeButtonField{#2}%
\pdfendlink
- \egroup
+ \endgroup
}
\def\@Reset[#1]#2{%
\Field@toks={ }%
\def\Fld@width{\DefaultWidthofReset}%
\def\Fld@height{\DefaultHeightofReset}%
- \bgroup
- \def\Fld@name{Reset}%
- \setkeys{Field}{#1}%
+ \begingroup
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofReset,#1%
+ }%
+ \HyField@FlagsPushButton
\ifFld@hidden\def\Fld@width{1sp}\fi
\leavevmode
\Hy@escapeform\PDFForm@Reset
\pdfstartlink user {\PDFForm@Reset}\relax
\MakeButtonField{#2}%
\pdfendlink
- \egroup
+ \endgroup
}
\def\@CheckBox[#1]#2{% parameters, label
\def\Fld@name{#2}%
\def\Fld@default{0}%
- \bgroup
+ \begingroup
\def\Fld@width{\DefaultWidthofCheckBox}%
\def\Fld@height{\DefaultHeightofCheckBox}%
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofCheckBox,#1%
+ }%
+ \PDFForm@Name
+ \HyField@FlagsCheckBox
\ifFld@hidden\def\Fld@width{1sp}\fi
\LayoutCheckField{#2}{%
\Hy@escapeform\PDFForm@Check
@@ -13263,7 +13951,7 @@
\MakeCheckField{\Fld@width}{\Fld@height}%
\pdfendlink
}%
- \egroup
+ \endgroup
}
\pdfobj { << /Type /Encoding /Differences [ 24 /breve /caron
/circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde 39
@@ -13381,6 +14069,27 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\HyField@AnnotCount}
+% \begin{macrocode}
+\newcount\HyField@AnnotCount
+\HyField@AnnotCount=\z@
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@AdvanceAnnotCount}
+% \begin{macrocode}
+\def\HyField@AdvanceAnnotCount{%
+ \global\advance\HyField@AnnotCount\@ne
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyField@TheAnnotCount}
+% \begin{macrocode}
+\def\HyField@TheAnnotCount{%
+ \the\HyField@AnnotCount
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@TextField}
% \begin{macrocode}
\def\@TextField[#1]#2{% parameters, label
@@ -13388,33 +14097,37 @@
\def\Fld@default{}%
\let\Fld@value\@empty
\def\Fld@width{\DefaultWidthofText}%
- \def\Fld@height{\DefaultHeightofText}%
- \ifFld@multiline
- \begingroup
- \dimen@=\DefaultHeightofText
- \dimen@=4\dimen@
- \edef\x{\endgroup
- \def\noexpand\Fld@height{\the\dimen@}%
- }%
- \x
- \fi
- \bgroup
+ \def\Fld@height{%
+ \ifFld@multiline
+ \DefaultHeightofTextMultiline
+ \else
+ \DefaultHeightofText
+ \fi
+ }%
+ \begingroup
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofText,#1%
+ }%
+ \PDFForm@Name
+ \HyField@FlagsText
\ifFld@hidden\def\Fld@width{1sp}\fi
\ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
\setbox\pdfm@box=\hbox{%
\MakeTextField{\Fld@width}{\Fld@height}%
}%
+ \HyField@AdvanceAnnotCount
\LayoutTextField{#2}{%
\Hy@escapeform\PDFForm@Text
\@pdfm@mark{%
- ann @\Fld@name\space \dvipdfm@setdim << \PDFForm@Text >>%
+ ann @text\HyField@TheAnnotCount\space
+ \dvipdfm@setdim << \PDFForm@Text >>%
}%
}%
\unhbox\pdfm@box
- \@pdfm@mark{put @afields @\Fld@name}% record in @afields array
- \egroup
+ \@pdfm@mark{put @afields @text\HyField@TheAnnotCount}%
+ % record in @afields array
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -13427,7 +14140,7 @@
\let\Fld@value\relax
\def\Fld@width{\DefaultWidthofChoiceMenu}%
\def\Fld@height{\DefaultHeightofChoiceMenu}%
- \bgroup
+ \begingroup
\Fld@menulength=0 %
\@tempdima\z@
\@for\@curropt:=#3\do{%
@@ -13438,34 +14151,58 @@
}%
\advance\@tempdima by 15\p@
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \begingroup
+ \HyField@SetKeys{#1}%
+ \edef\x{\endgroup
+ \noexpand\expandafter
+ \noexpand\HyField@SetKeys
+ \noexpand\expandafter{%
+ \expandafter\noexpand\csname DefaultOptionsof%
+ \ifFld@radio
+ Radio%
+ \else
+ \ifFld@combo
+ \ifFld@popdown
+ PopdownBox%
+ \else
+ ComboBox%
+ \fi
+ \else
+ ListBox%
+ \fi
+ \fi
+ \endcsname
+ }%
+ }\x
+ \HyField@SetKeys{#1}%
+ \PDFForm@Name
\ifFld@hidden\def\Fld@width{1sp}\fi
\ifx\Fld@value\relax
\let\Fld@value\Fld@default
\fi
\LayoutChoiceField{#2}{%
\ifFld@radio
+ \HyField@FlagsRadioButton
\@@Radio{#3}%
\else
- {%
+ \begingroup
+ \HyField@FlagsChoice
\ifdim\Fld@width<\@tempdima
\ifdim\@tempdima<1cm\@tempdima1cm\fi
\edef\Fld@width{\the\@tempdima}%
\fi
- \def\Fld@flags{}%
- \ifFld@combo\def\Fld@flags{/Ff 917504}\fi
- \ifFld@popdown\def\Fld@flags{/Ff 131072}\fi
- \ifx\Fld@flags\@empty
+ \ifFld@combo
+ \else
\@tempdima=\the\Fld@menulength\Fld@charsize
\advance\@tempdima by \Fld@borderwidth bp %
\advance\@tempdima by \Fld@borderwidth bp %
\edef\Fld@height{\the\@tempdima}%
\fi
\@@Listbox{#3}%
- }%
+ \endgroup
\fi
}%
- \egroup
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -13481,8 +14218,11 @@
\@currDisplay\space
\leavevmode
\Hy@escapeform\PDFForm@Radio
+ \ifnum\Fld@listcount=1 %
+ \HyField@AdvanceAnnotCount
+ \fi
\@pdfm@mark{%
- ann \ifnum\Fld@listcount=1 @\Fld@name\space\fi
+ ann \ifnum\Fld@listcount=1 @radio\HyField@TheAnnotCount\space\fi
\dvipdfm@setdim
<<%
\PDFForm@Radio
@@ -13490,7 +14230,9 @@
>>%
}%
\unhcopy\pdfm@box\space% deliberate space between radio buttons
- \ifnum\Fld@listcount=1\@pdfm@mark{put @afields @\Fld@name}\fi
+ \ifnum\Fld@listcount=1 %
+ \@pdfm@mark{put @afields @radio\HyField@TheAnnotCount}%
+ \fi
}%
}
% \end{macrocode}
@@ -13504,24 +14246,18 @@
% \begin{macro}{\@@Listbox}
% \begin{macrocode}
\def\@@Listbox#1{%
- \Choice@toks={ }%
- \Fld@listcount=0 %
- \@for\@curropt:=#1\do{%
- \expandafter\Fld@checkequals\@curropt==\\%
- \Hy@StepCount\Fld@listcount
- \edef\@processme{%
- \Choice@toks{\the\Choice@toks [(\@currValue) (\@currDisplay)]}%
- }\@processme
- }%
+ \HyField@PDFChoices{#1}%
\setbox\pdfm@box=\hbox{\MakeChoiceField{\Fld@width}{\Fld@height}}%
\leavevmode
\Hy@escapeform\PDFForm@List
+ \HyField@AdvanceAnnotCount
\@pdfm@mark{%
- ann @\Fld@name\space\dvipdfm@setdim
- << \PDFForm@List >>%
+ ann @list\HyField@TheAnnotCount\space
+ \dvipdfm@setdim
+ <<\PDFForm@List>>%
}%
\unhbox\pdfm@box
- \@pdfm@mark{put @afields @\Fld@name}%
+ \@pdfm@mark{put @afields @list\HyField@TheAnnotCount}%
}
% \end{macrocode}
% \end{macro}
@@ -13530,22 +14266,28 @@
% \begin{macrocode}
\def\@PushButton[#1]#2{% parameters, label
\def\Fld@name{#2}%
- \bgroup
+ \begingroup
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofPushButton,#1%
+ }%
+ \PDFForm@Name
+ \HyField@FlagsPushButton
\ifFld@hidden\def\Fld@width{1sp}\fi
\setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
+ \HyField@AdvanceAnnotCount
\LayoutPushButtonField{%
\leavevmode
\Hy@escapeform\PDFForm@Push
\@pdfm@mark{%
- ann @\Fld@name\space\dvipdfm@setdim
- << \PDFForm@Push >>%
+ ann @push\HyField@TheAnnotCount\space
+ \dvipdfm@setdim
+ <<\PDFForm@Push>>%
}%
}%
\unhbox\pdfm@box
- \@pdfm@mark{put @afields @\Fld@name}%
- \egroup
+ \@pdfm@mark{put @afields @push\HyField@TheAnnotCount}%
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -13556,20 +14298,25 @@
\Field@toks={ }%
\def\Fld@width{\DefaultWidthofSubmit}%
\def\Fld@height{\DefaultHeightofSubmit}%
- \bgroup
- \def\Fld@name{Submit}%
- \setkeys{Field}{#1}%
+ \begingroup
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofSubmit,#1%
+ }%
+ \HyField@FlagsPushButton
+ \HyField@FlagsSubmit
\ifFld@hidden\def\Fld@width{1sp}\fi
\setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
\leavevmode
\Hy@escapeform\PDFForm@Submit
+ \HyField@AdvanceAnnotCount
\@pdfm@mark{%
- ann @\Fld@name\space\dvipdfm@setdim
- << \PDFForm@Submit >>%
+ ann @submit\HyField@TheAnnotCount\space
+ \dvipdfm@setdim
+ <<\PDFForm@Submit>>%
}%
\unhbox\pdfm@box%
- \@pdfm@mark{put @afields @\Fld@name}%
- \egroup
+ \@pdfm@mark{put @afields @submit\HyField@TheAnnotCount}%
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -13580,20 +14327,24 @@
\Field@toks={ }%
\def\Fld@width{\DefaultWidthofReset}%
\def\Fld@height{\DefaultHeightofReset}%
- \bgroup
- \def\Fld@name{Reset}%
- \setkeys{Field}{#1}%
+ \begingroup
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofReset,#1%
+ }%
+ \HyField@FlagsPushButton
\ifFld@hidden\def\Fld@width{1sp}\fi
\setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
\leavevmode
\Hy@escapeform\PDFForm@Reset
+ \HyField@AdvanceAnnotCount
\@pdfm@mark{%
- ann @\Fld@name\space\dvipdfm@setdim
- << \PDFForm@Reset >>%
+ ann @reset\HyField@TheAnnotCount\space
+ \dvipdfm@setdim
+ <<\PDFForm@Reset>>%
}%
\unhbox\pdfm@box
- \@pdfm@mark{put @afields @\Fld@name}%
- \egroup
+ \@pdfm@mark{put @afields @reset\HyField@TheAnnotCount}%
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -13603,23 +14354,29 @@
\def\@CheckBox[#1]#2{% parameters, label
\def\Fld@name{#2}%
\def\Fld@default{0}%
- \bgroup
+ \begingroup
\def\Fld@width{\DefaultWidthofCheckBox}%
\def\Fld@height{\DefaultHeightofCheckBox}%
\Field@toks={ }%
- \setkeys{Field}{#1}%
+ \expandafter\HyField@SetKeys\expandafter{%
+ \DefaultOptionsofCheckBox,#1%
+ }%
+ \PDFForm@Name
+ \HyField@FlagsCheckBox
\ifFld@hidden\def\Fld@width{1sp}\fi
\setbox\pdfm@box=\hbox{\MakeCheckField{\Fld@width}{\Fld@height}}%
+ \HyField@AdvanceAnnotCount
\LayoutCheckField{#2}{%
\Hy@escapeform\PDFForm@Check
\@pdfm@mark{%
- ann @\Fld@name\space\dvipdfm@setdim
- << \PDFForm@Check >>%
+ ann @check\HyField@TheAnnotCount\space
+ \dvipdfm@setdim
+ <<\PDFForm@Check>>%
}%
\unhbox\pdfm@box
- \@pdfm@mark{put @afields @\Fld@name}%
+ \@pdfm@mark{put @afields @check\HyField@TheAnnotCount}%
}%
- \egroup
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -13728,12 +14485,30 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\PDFForm@Name}
+% \begin{macrocode}
+\def\PDFForm@Name{%
+ \begingroup
+ \ifnum\Hy@pdfversion<5 % implementation note 117, PDF spec 1.7
+ \ifHy@unicode
+ \Hy@unicodefalse
+ \fi
+ \fi
+ \pdfstringdef\Hy@gtemp\Fld@name
+ \endgroup
+ \let\Fld@name\Hy@gtemp
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\PDFForm@Check}
% \begin{macrocode}
\def\PDFForm@Check{%
/Subtype/Widget%
- \ifFld@hidden /F 6\else /F 4\fi
- /T(\Hy@escapestring{\Fld@name})%
+ \Fld@annotflags
+ /T(\Fld@name)%
+ /FT/Btn%
+ \Fld@flags
/Q \Fld@align
/BS<</W \Fld@borderwidth /S/\Fld@borderstyle>>%
/MK<<%
@@ -13753,7 +14528,6 @@
>>%
/DA(/ZaDb \strip@pt\Fld@charsize\space Tf%
\ifx\Fld@color\@empty\else\space\Fld@color\fi)%
- /FT/Btn%
/H/P%
\ifFld@checked /V/Yes\else /V/Off\fi
}
@@ -13763,10 +14537,10 @@
% \begin{macrocode}
\def\PDFForm@Push{%
/Subtype/Widget%
- \ifFld@hidden /F 6\else /F 4\fi
- /T(\Hy@escapestring{\Fld@name})%
+ \Fld@annotflags
+ /T(\Fld@name)%
/FT/Btn%
- /Ff 65540%
+ \HyField@flags
/H/P%
/BS<</W \Fld@borderwidth/S/\Fld@borderstyle>>%
/MK<<%
@@ -13871,11 +14645,12 @@
% \begin{macrocode}
\def\PDFForm@List{%
/Subtype/Widget%
- \ifFld@hidden /F 6\else /F 4\fi
- /T(\Hy@escapestring{\Fld@name})%
+ \Fld@annotflags
+ /T(\Fld@name)%
/FT/Ch%
+ \Fld@flags
/Q \Fld@align
- /BS<</W \Fld@borderwidth /S/\Fld@borderstyle>>%
+ /BS<</W \Fld@borderwidth/S/\Fld@borderstyle>>%
/MK<<%
\ifnum\Fld@rotation=\z@
\else
@@ -13892,17 +14667,8 @@
>>%
/DA(/Helv \strip@pt\Fld@charsize\space Tf%
\ifx\Fld@color\@empty\else\space\Fld@color\fi)%
- /Opt[\the\Choice@toks]%
- \ifx\Fld@default\relax
- \else
- /DV(\Hy@escapestring{\Fld@default})%
- \fi
- \ifx\Fld@value\relax
- \else
- /V(\Hy@escapestring{\Fld@value})%
- \fi
+ \Fld@choices
\Fld@additionalactions
- \Fld@flags
}
% \end{macrocode}
% \end{macro}
@@ -13910,10 +14676,10 @@
% \begin{macrocode}
\def\PDFForm@Radio{%
/Subtype/Widget%
- \ifFld@hidden /F 6\else /F 4\fi
- /T(\Hy@escapestring{\Fld@name})%
+ \Fld@annotflags
+ /T(\Fld@name)%
/FT/Btn%
- /Ff 49152%
+ \Fld@flags
/H/P%
/BS<</W \Fld@borderwidth/S/\Fld@borderstyle>>%
/MK<<%
@@ -13946,10 +14712,11 @@
% \begin{macrocode}
\def\PDFForm@Text{%
/Subtype/Widget%
- \ifFld@hidden /F 6\else /F 4\fi
- /T(\Hy@escapestring{\Fld@name})%
- /Q \Fld@align
+ \Fld@annotflags
+ /T(\Fld@name)%
/FT/Tx%
+ \Fld@flags
+ /Q \Fld@align
/BS<</W \Fld@borderwidth\space /S /\Fld@borderstyle>>%
/MK<<%
\ifnum\Fld@rotation=\z@
@@ -13970,15 +14737,6 @@
/DV(\Hy@escapestring{\Fld@default})%
/V(\Hy@escapestring{\Fld@value})%
\Fld@additionalactions
- \ifFld@multiline
- \ifFld@readonly /Ff 4097\else /Ff 4096\fi
- \else
- \ifFld@password
- \ifFld@readonly /Ff 8193\else /Ff 8192\fi
- \else
- \ifFld@readonly /Ff 1\fi
- \fi
- \fi
\ifnum\Fld@maxlen>\z@/MaxLen \Fld@maxlen \fi
}
% \end{macrocode}
@@ -13987,10 +14745,10 @@
% \begin{macrocode}
\def\PDFForm@Submit{%
/Subtype/Widget%
- \ifFld@hidden /F 6\else /F 4\fi
- /T(\Hy@escapestring{\Fld@name})%
+ \Fld@annotflags
+ /T(\Fld@name)%
/FT/Btn%
- /Ff 65540%
+ \Fld@flags
/H/P%
/BS<</W \Fld@borderwidth/S/\Fld@borderstyle>>%
/MK<<%
@@ -14009,7 +14767,7 @@
/FS/URL%
/F(\Hy@escapestring{\Form@action})%
>>%
- \ifForm@html /Flags 4\fi
+ \Fld@submitflags
>>%
}
% \end{macrocode}
@@ -14018,12 +14776,12 @@
% \begin{macrocode}
\def\PDFForm@Reset{%
/Subtype/Widget%
- \ifFld@hidden /F 6\else /F 4\fi
- /T(\Hy@escapestring{\Fld@name})%
+ \Fld@annotflags
+ /T(\Fld@name)%
/FT/Btn%
+ \Fld@flags
/H/P%
/DA(/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)%
- /Ff 65540%
/MK<<%
\ifnum\Fld@rotation=\z@
\else
@@ -14389,16 +15147,9 @@ o\fi,t=#4}%
%</!vtex>
% \end{macrocode}
%
-% This code is added, so that option `pdfpagenumbers' works
-% with option `implicit' (suggestion of Sebastian Rahtz).
% \begin{macrocode}
\ifHy@implicit
\else
- \def\@begindvi{%
- \unvbox\@begindvibox
- \HyPL@EveryPage
- \global\let\@begindvi\HyPL@EveryPage
- }%
\expandafter\endinput
\fi
% \end{macrocode}