From 6a202048032d41223115d64328753cae0efeca55 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 14 Sep 2010 23:56:54 +0000 Subject: hyperref update (15sep10) git-svn-id: svn://tug.org/texlive/trunk@19734 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/hyperref/doc/manual.tex | 37 +- .../source/latex/hyperref/doc/options.tex | 1 + .../texmf-dist/source/latex/hyperref/hyperref.dtx | 425 ++++++++++++++------- 3 files changed, 318 insertions(+), 145 deletions(-) (limited to 'Master/texmf-dist/source/latex') diff --git a/Master/texmf-dist/source/latex/hyperref/doc/manual.tex b/Master/texmf-dist/source/latex/hyperref/doc/manual.tex index 956606fcf4f..418d4f493e0 100644 --- a/Master/texmf-dist/source/latex/hyperref/doc/manual.tex +++ b/Master/texmf-dist/source/latex/hyperref/doc/manual.tex @@ -233,6 +233,24 @@ 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}. +\begin{description} +\item[driverfallback] + If a driver is not given and cannot be autodetected, then use + the driver option, given as value to this option \textsf{driverfallback}. + Example: + \begin{quote} + \texttt{driverfallback=dvipdfm} + \end{quote} + Autodetected drivers (\textsf{pdftex}, \textsf{xetex}, \textsf{vtex}, + \textsf{vtexpdfmark}) are recognized from within \TeX\ and + therefore cannot be given as value to option \textsf{driverfallback}. + However a DVI driver program is run after the \TeX\ run is finished. + Thus it cannot be detected at \TeX\ macro level. Then package hyperref + uses the driver, given by \textsf{driverfallback}. If the driver + is already specified or can be autodetected, then option + \textsf{driverfallback} is ignored. +\end{description} + \section{Implicit behavior} This package can be used with more or less any normal \LaTeX\ document @@ -361,10 +379,25 @@ 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. +If no driver is specified, the package tries to find a driver in +the following order: +\begin{enumerate} +\item Autodetection, some \TeX\ processors can be detected at \TeX\ macro + level (pdf\TeX, Xe\TeX, V\TeX). +\item Option \textsf{driverfallback}. If this option is set, its value + is taken as driver option. +\item Makro \cs{Hy@defaultdriver}. The makro takes a driver file + name (without file extension). +\item Package default is \textsf{hypertex}. +\end{enumerate} +Many distributions are using a driver file \texttt{hypertex.cfg} that +define \cs{Hy@defaultdriver} with \texttt{hdvips}. This is recommended +because driver \textsf{dvips} provides much more features than +\textsf{hypertex} for PDF generation. \noindent\begin{longtable}{>{\ttfamily}lp{.8\hsize}} +driverfallback & Its value is used as driver option\\ + & if the driver is not given or autodetected.\\ dvipdfm & Sets up \textsf{hyperref} for use with the \textsf{dvipdfm} driver.\\ dvipdfmx & Sets up \textsf{hyperref} for use with the \textsf{dvipdfmx} driver.\\ dvips & Sets up \textsf{hyperref} for use with the \textsf{dvips} driver. \\ diff --git a/Master/texmf-dist/source/latex/hyperref/doc/options.tex b/Master/texmf-dist/source/latex/hyperref/doc/options.tex index 7e8278cea26..d7e05c77d38 100644 --- a/Master/texmf-dist/source/latex/hyperref/doc/options.tex +++ b/Master/texmf-dist/source/latex/hyperref/doc/options.tex @@ -33,6 +33,7 @@ colorlinks &color links&false\\ debug &provide details of anchors defined&false\\ &same as verbose&\\ draft &do not do any hyper linking&false\\ +driverfallback &Use this driver option, if no driver is given and cannot be autodetected\\ dvipdfm &use dvipdfm backend\\ dvipdfmx &use dvipdfmx backend (dvipdfm)\\ dvips &use dvips backend\\ diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx index 353532ad87f..f56ee4d783a 100644 --- a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx +++ b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx @@ -44,7 +44,7 @@ %\ProvidesFile{puenc.def} %\ProvidesFile{puvnenc.def} %\ProvidesFile{puarenc.def} -% [2010/09/11 v6.81m +% [2010/09/13 v6.81n % Hypertext links for LaTeX] % Dummy hyperref (SR)] % Hyperref documentation driver file] @@ -126,7 +126,7 @@ \end{document} % % \fi -% \CheckSum{27643} +% \CheckSum{27751} % % \MakeShortVerb{|} % \StopEventually{} @@ -566,6 +566,7 @@ % with the later releases! % \begin{macrocode} \RequirePackage{ltxcmds}[2010/03/09] +\RequirePackage{infwarerr}[2010/04/08] \RequirePackage{keyval}[1997/11/10] \RequirePackage{kvsetkeys}[2007/09/29] \RequirePackage{pdfescape}[2007/11/11] @@ -574,9 +575,18 @@ \RequirePackage{ifxetex}[2006/08/21] \RequirePackage{hycolor} \RequirePackage{letltxmacro}[2008/06/13] -\def\Hy@Warning#1{\PackageWarning{hyperref}{#1}} -\def\Hy@WarningNoLine#1{\PackageWarningNoLine{hyperref}{#1}} -\def\Hy@Info#1{\PackageInfo{hyperref}{#1}} +\def\Hy@Error#1{\@PackageError{hyperref}} +\def\Hy@Warning#1{\@PackageWarning{hyperref}{#1}} +\def\Hy@WarningNoLine#1{\@PackageWarningNoLine{hyperref}{#1}} +\def\Hy@Info#1{\@PackageInfo{hyperref}{#1}} +\def\Hy@InfoNoLine{\@PackageInfoNoLine{hyperref}} +\def\Hy@Message#1{% + \GenericWarning{% + (hyperref)\@spaces\@spaces\@spaces\@spaces + }{% + Package hyperref Message: #1\ltx@gobble + }% +} % \end{macrocode} % % \subsection{Checks with regular expressions} @@ -685,6 +695,14 @@ } % \end{macrocode} % +% Package kvoptions is used for processing options that are +% given as key value pairs. The package provides +% |\ProcessKeyvalOptions|, formerly known as +% |\ProcessOptionsWithKV|. +% \begin{macrocode} +\RequirePackage{kvoptions}[2009/07/21] +% \end{macrocode} +% % \subsection{Switches} % \begin{macrocode} \newif\ifHy@typexml @@ -4390,6 +4408,13 @@ % % \section{Options} % +% \begin{macrocode} +\SetupKeyvalOptions{% + family=Hyp,% + prefix=HyOpt% +} +% \end{macrocode} +% % \subsection{Help macros} % % \begin{macro}{\Hy@boolkey} @@ -4711,7 +4736,7 @@ \ifx\HyPsd@LoadUnicode\relax \else \def\HyPsd@LoadUnicode{% - \PackageError{hyperref}{% + \Hy@Error{% Unicode support for bookmarks is not available.\MessageBreak Activate unicode support by using one of the options\MessageBreak `unicode', `pdfencoding=unicode', `pdfencoding=auto'\MessageBreak @@ -4812,15 +4837,47 @@ % \end{macrocode} % % \section{Options for different drivers}\label{drivers} +% +% \begin{macrocode} +\newif\ifHy@DviMode +\let\Hy@DviErrMsg\ltx@empty +\ifpdf + \def\Hy@DviErrMsg{pdfTeX or LuaTeX is running in PDF mode}% +\else + \ifxetex + \def\Hy@DviErrMsg{XeTeX is running}% + \else + \ifvtex + \ifvtexdvi + \Hy@DviModetrue + \else + \def\Hy@DviErrMsg{VTeX is running, but not in DVI mode}% + \fi + \else + \Hy@DviModetrue + \fi + \fi +\fi +\def\HyOpt@CheckDvi#1{% + \ifHy@DviMode + \expandafter\ltx@firstofone + \else + \Hy@Error{% + Wrong DVI mode driver option `#1',\MessageBreak + because \Hy@DviErrMsg + }\@ehc + \expandafter\ltx@gobble + \fi +} +% \end{macrocode} % \begin{macrocode} -\define@key{Hyp}{hyperref}[true]{} -\define@key{Hyp}{tex4ht}[true]{% +\DeclareVoidOption{tex4ht}{% \Hy@texhttrue \kvsetkeys{Hyp}{colorlinks=true}% - \def\BeforeTeXIVht{\usepackage{color}}% + \def\BeforeTeXIVht{\RequirePackage{color}}% \def\Hy@driver{htex4ht}% \def\MaybeStopEarly{% - \typeout{Hyperref stopped early}% + \Hy@Message{Stopped early}% \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% @@ -4828,17 +4885,30 @@ \endinput }% } -\define@key{Hyp}{pdftex}[true]{% - \def\Hy@driver{hpdftex}% +\DeclareVoidOption{pdftex}{% + \ifpdf + \def\Hy@driver{hpdftex}% + \else + \Hy@Error{% + Wrong driver option `pdftex',\MessageBreak + because pdfTeX in PDF mode is not detected% + }\@ehc + \fi } -\define@key{Hyp}{nativepdf}[true]{% - \def\Hy@driver{hdvips}% +\DeclareVoidOption{nativepdf}{% + \HyOpt@CheckDvi{nativepdf}{% + \def\Hy@driver{hdvips}% + }% } -\define@key{Hyp}{dvipdfm}[true]{% - \def\Hy@driver{hdvipdfm}% +\DeclareVoidOption{dvipdfm}{% + \HyOpt@CheckDvi{dvipdfm}{% + \def\Hy@driver{hdvipdfm}% + }% } -\define@key{Hyp}{dvipdfmx}[true]{% - \def\Hy@driver{hdvipdfm}% +\DeclareVoidOption{dvipdfmx}{% + \HyOpt@CheckDvi{dvipdfmx}{% + \def\Hy@driver{hdvipdfm}% + }% } \define@key{Hyp}{dvipdfmx-outline-open}[true]{% \expandafter\ifx\csname if#1\expandafter\endcsname @@ -4848,33 +4918,41 @@ \chardef\SpecialDvipdfmxOutlineOpen\z@ \fi } -\define@key{Hyp}{xetex}[true]{% - \def\Hy@driver{hxetex}% +\DeclareVoidOption{xetex}{% + \ifxetex + \def\Hy@driver{hxetex}% + \else + \Hy@Error{% + Wrong driver option `xetex',\MessageBreak + because XeTeX is not detected% + }\@ehc + \fi } -\define@key{Hyp}{pdfmark}[true]{% - \def\Hy@driver{hdvips}% +\DeclareVoidOption{pdfmark}{% + \HyOpt@CheckDvi{pdfmark}{% + \def\Hy@driver{hdvips}% + }% } -\define@key{Hyp}{dvips}[true]{% - \def\Hy@driver{hdvips}% +\DeclareVoidOption{dvips}{% + \HyOpt@CheckDvi{dvips}{% + \def\Hy@driver{hdvips}% + }% } -\define@key{Hyp}{hypertex}[true]{% - \def\Hy@driver{hypertex}% +\DeclareVoidOption{hypertex}{% + \HyOpt@CheckDvi{hypertex}{% + \def\Hy@driver{hypertex}% + }% } \let\Hy@MaybeStopNow\relax -\define@key{Hyp}{vtex}[true]{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname OpMode\endcsname\relax - \@latex@error{Non-VTeX processor}{}% - \global\let\Hy@MaybeStopNow\endinput - \endinput - \else +\DeclareVoidOption{vtex}{% + \ifvtex \ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 % \def\Hy@driver{hvtex}% \else \ifnum\OpMode=10\relax \def\Hy@driver{hvtexhtm}% \def\MaybeStopEarly{% - \typeout{Hyperref stopped early}% + \Hy@Message{Stopped early}% \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% @@ -4882,55 +4960,80 @@ \endinput }% \else - \@latex@error{Mode (\the\OpMode) has no hyperref driver}{}% - \global\let\Hy@MaybeStopNow\endinput - \endinput + \Hy@Error{% + Wrong driver option `vtex',\MessageBreak + because of wrong OpMode (\the\OpMode)% + }\@ehc \fi \fi + \else + \Hy@Error{% + Wrong driver option `vtex',\MessageBreak + because VTeX is not running% + }\@ehc \fi } -\define@key{Hyp}{vtexpdfmark}[true]{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname OpMode\endcsname\relax - \@latex@error{Non-VTeX processor}{}% - \let\Hy@MaybeStopNow\endinput - \endinput - \else +\DeclareVoidOption{vtexpdfmark}{% + \ifvtex \ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 % \def\Hy@driver{hvtexmrk}% \else - \@latex@error{Mode (\the\OpMode) has no hyperref driver}{}% - \let\Hy@MaybeStopNow\endinput - \endinput + \Hy@Error{% + Wrong driver option `vtexpdfmark',\MessageBreak + because of wrong OpMode (\the\OpMode)% + }\@ehc \fi - \fi -} -\define@key{Hyp}{dviwindo}[true]{% - \def\Hy@driver{hdviwind}% - \kvsetkeys{Hyp}{colorlinks}% - \ifpdf \else - \ifxetex - \else - \PassOptionsToPackage{dviwindo}{color}% - \fi + \Hy@Error{% + Wrong driver option `vtexpdfmark,\MessageBreak + because VTeX is not running% + }\@ehc \fi } -\define@key{Hyp}{dvipsone}[true]{% - \def\Hy@driver{hdvipson}% +\DeclareVoidOption{dviwindo}{% + \HyOpt@CheckDvi{dviwindo}{% + \def\Hy@driver{hdviwind}% + \kvsetkeys{Hyp}{colorlinks}% + \PassOptionsToPackage{dviwindo}{color}% + }% +} +\DeclareVoidOption{dvipsone}{% + \HyOpt@CheckDvi{dvipsone}{% + \def\Hy@driver{hdvipson}% + }% } -\define@key{Hyp}{textures}[true]{% - \def\Hy@driver{htexture}% +\DeclareVoidOption{textures}{% + \HyOpt@CheckDvi{textures}{% + \def\Hy@driver{htexture}% + }% } -\define@key{Hyp}{latex2html}[true]{% - \Hy@AtBeginDocument{\@@latextohtmlX}% +\DeclareVoidOption{latex2html}{% + \HyOpt@CheckDvi{latex2html}{% + \Hy@AtBeginDocument{\@@latextohtmlX}% + }% } % \end{macrocode} % No more special treatment for ps2pdf. Let it sink or swim. % \begin{macrocode} -\define@key{Hyp}{ps2pdf}[true]{% - \def\Hy@driver{hdvips}% - \providecommand*\@pdfborder{0 0 1}% +\DeclareVoidOption{ps2pdf}{% + \HyOpt@CheckDvi{ps2pdf}{% + \def\Hy@driver{hdvips}% + }% +} +% \end{macrocode} +% +% \begin{macrocode} +\let\HyOpt@DriverFallback\ltx@empty +\define@key{Hyp}{driverfallback}{% + \ifHy@DviMode + \def\HyOpt@DriverFallback{#1}% + \Hy@Match\HyOpt@DriverFallback{% + ^(|dvipdfm|dvipdfmx|dvips|dvipsone|dviwindo|hypertex|ps2pdf|% + latex2html|tex4ht)$% + }{}{% + \let\HyOpt@DriverFallback\ltx@empty + }% + \fi } % \end{macrocode} % @@ -5422,7 +5525,7 @@ % \end{macrocode} % More work is needed in case of options |vietnamese| and |vietnam|. % \begin{macrocode} -\define@key{Hyp}{vietnamese}[]{% +\DeclareVoidOption{vietnamese}{% \HyLang@addto\extrasvietnamese\HyLang@vietnamese \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% @@ -5430,7 +5533,7 @@ }% }% } -\define@key{Hyp}{vietnam}[]{% +\DeclareVoidOption{vietnam}{% \HyLang@addto\extrasvietnam\HyLang@vietnamese \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% @@ -5442,7 +5545,7 @@ % Similar for option |arabic| that just loads the additions % to PU encoding for Arabi. % \begin{macrocode} -\define@key{Hyp}{arabic}[]{% +\DeclareVoidOption{arabic}{% \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% \input{puarenc.def}% @@ -5633,7 +5736,9 @@ % value. % \begin{macrocode} \let\@pdfpagetransition\relax -\define@key{Hyp}{pdfpagetransition}{\def\@pdfpagetransition{#1}} +\define@key{Hyp}{pdfpagetransition}{% + \def\@pdfpagetransition{#1}% +} % \end{macrocode} % \end{macro} % \begin{macro}{\@pdfpageduration} @@ -5644,7 +5749,19 @@ % value. % \begin{macrocode} \let\@pdfpageduration\relax -\define@key{Hyp}{pdfpageduration}{\def\@pdfpageduration{#1}} +\define@key{Hyp}{pdfpageduration}{% + \def\@pdfpageduration{#1}% + \Hy@Match\@pdfpageduration{% + ^(|[0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+)$% + }{}{% + \Hy@Warning{% + Invalid value `\@pdfpageduration'\MessageBreak + of `pdfpageduration'\MessageBreak + is replaced by an empty value% + }% + \let\@pdfpageduration\ltx@empty + }% +} % \end{macrocode} % \end{macro} % @@ -5706,7 +5823,23 @@ \do{/O}{Outline}% \do{/P}{Push}% } -\define@key{Hyp}{pdfborder}{\def\@pdfborder{#1}} +\define@key{Hyp}{pdfborder}{% + \def\Hy@temp{#1}% + \Hy@Match\Hy@temp{% + ^(\HyPat@NonNegativeReal/ % + \HyPat@NonNegativeReal/ % + \HyPat@NonNegativeReal/% + ( ?[\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)*])?)$% + }{% + \let\@pdfborder\Hy@temp + }{% + \Hy@Warning{% + Invalid value `\Hy@temp'\MessageBreak + for option `pdfborder'.\MessageBreak + Option setting is ignored% + }% + }% +} \define@key{Hyp}{pdfborderstyle}{\def\@pdfborderstyle{#1}} \def\Hy@setpdfborder{% \ifx\@pdfborder\@empty @@ -6184,14 +6317,6 @@ % package options, but put them through the \emph{keyval} package. % This section was written by David Carlisle. % -% Package kvoptions is used for processing options that are -% given as key value pairs. The package provides -% |\ProcessKeyvalOptions|, formerly known as -% |\ProcessOptionsWithKV|. -% \begin{macrocode} -\RequirePackage{kvoptions}[2009/07/21] -% \end{macrocode} -% % \begin{macrocode} \SetupKeyvalOptions{family=Hyp} \DeclareLocalOptions{% @@ -6276,7 +6401,7 @@ \expandafter\endgroup \ifx\y Y% \else - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Named action `#1' is not permitted% }\@ehc {#2}% @@ -6346,11 +6471,11 @@ \fi \Hy@DisableOption{typexml} \ifHy@implicit - \typeout{Implicit mode ON; LaTeX internals redefined}% + \Hy@InfoNoLine{Implicit mode ON; LaTeX internals redefined}% \else - \typeout{Implicit mode OFF; no redefinition of LaTeX internals}% + \Hy@InfoNoLine{Implicit mode OFF; no redefinition of LaTeX internals}% \def\MaybeStopEarly{% - \typeout{Hyperref stopped early}% + \Hy@Message{Stopped early}% \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% @@ -6453,7 +6578,9 @@ % If the driver is not given, find the right driver or % use the default driver. % \begin{macrocode} + \def\HyOpt@DriverType{}% \ifx\Hy@driver\@empty + \def\HyOpt@DriverType{ (autodetected)}% \providecommand*{\Hy@defaultdriver}{hypertex}% \ifpdf \def\Hy@driver{hpdftex}% @@ -6464,7 +6591,7 @@ \ifvtexhtml \def\Hy@driver{hvtexhtm}% \def\MaybeStopEarly{% - \typeout{Hyperref stopped early}% + \Hy@Message{Stopped early}% \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% @@ -6478,7 +6605,23 @@ \ifvtexps \def\Hy@driver{hvtex}% \else - \let\Hy@driver\Hy@defaultdriver + \ifx\HyOpt@DriverFallback\ltx@empty + \let\Hy@driver\Hy@defaultdriver + \def\HyOpt@DriverType{ (default)}% + \else + \begingroup + \toks@\expandafter{\HyOpt@DriverFallback}% + \edef\x{\endgroup + \noexpand\kvsetkeys{Hyp}{\the\toks@}% + }% + \x + \ifx\Hy@driver\ltx@empty + \let\Hy@driver\Hy@defaultdriver + \def\HyOpt@DriverType{ (default)}% + \else + \def\HyOpt@DriverType{ (fallback)}% + \fi + \fi \fi \fi \fi @@ -6491,13 +6634,29 @@ \PassOptionsToPackage{dviwindo}{color}% \fi \fi - \typeout{* hyperref using default driver \Hy@driver\ltx@space*}% - \else - \typeout{* hyperref using driver \Hy@driver\ltx@space*}% \fi + \Hy@Message{Driver\HyOpt@DriverType: \Hy@driver}% \input{\Hy@driver.def}% \let\@unprocessedoptions\relax \Hy@RestoreCatcodes + \Hy@DisableOption{tex4ht}% + \Hy@DisableOption{pdftex}% + \Hy@DisableOption{nativepdf}% + \Hy@DisableOption{dvipdfm}% + \Hy@DisableOption{dvipdfmx}% + \Hy@DisableOption{dvipdfmx-outline-open}% + \Hy@DisableOption{pdfmark}% + \Hy@DisableOption{dvips}% + \Hy@DisableOption{hypertex}% + \Hy@DisableOption{vtex}% + \Hy@DisableOption{vtexpdfmark}% + \Hy@DisableOption{dviwindo}% + \Hy@DisableOption{dvipsone}% + \Hy@DisableOption{textures}% + \Hy@DisableOption{latex2html}% + \Hy@DisableOption{ps2pdf}% + \Hy@DisableOption{xetex}% + \Hy@DisableOption{pdfversion}% } % \end{macrocode} % Support for open outlines is enabled for Xe\TeX\ >= 0.9995. @@ -6519,26 +6678,6 @@ \Hy@DvipdfmxOutlineOpentrue \fi \fi -\Hy@DisableOption{tex4ht} -\Hy@DisableOption{pdftex} -\Hy@DisableOption{nativepdf} -\Hy@DisableOption{dvipdfm} -\Hy@DisableOption{dvipdfmx} -\Hy@DisableOption{dvipdfmx-outline-open} -\Hy@DisableOption{pdfmark} -\Hy@DisableOption{dvips} -\Hy@DisableOption{hypertex} -\Hy@DisableOption{vtex} -\Hy@DisableOption{vtexpdfmark} -\Hy@DisableOption{dviwindo} -\Hy@DisableOption{dvipsone} -\Hy@DisableOption{textures} -\Hy@DisableOption{latex2html} -\Hy@DisableOption{ps2pdf} -\Hy@DisableOption{xetex} -\Hy@AtEndOfPackage{% - \Hy@DisableOption{pdfversion}% -} % \end{macrocode} % % \subsubsection{Bookmarks} @@ -6953,7 +7092,7 @@ \newif\ifHy@href@ismap \define@key{href}{ismap}[true]{% \ltx@IfUndefined{Hy@href@ismap#1}{% - \PackageError{hyperref}{% + \Hy@Error{% Invalid value (#1) for key `ismap'.\MessageBreak Permitted values are `true' or `false'.\MessageBreak Ignoring `ismap'% @@ -7203,7 +7342,7 @@ % \begin{macrocode} \ifx\@pdftempa\@pdftempwordrun \ifHy@pdfa - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Launch action is prohibited% }\@ehc \begingroup @@ -7657,7 +7796,7 @@ \lowercase{\def\Hy@temp{#1}}% \@ifundefined{Fld@export@\Hy@temp}{% \@onelevel@sanitize\Hy@temp - \PackageError{hyperref}{% + \Hy@Error{% Unknown export format `\Hy@temp'.\MessageBreak Known formats are `FDF', `HTML', `XFDF', and `PDF'% }\@ehc @@ -7822,7 +7961,7 @@ \else\ifFld@password \else\ifFld@fileselect \else 1\fi\fi\fi\relax - \PackageError{hyperref}{% + \Hy@Error{% Field option `comb' cannot used together with\MessageBreak `multiline', `password', or `fileselect'% }\@ehc @@ -8051,7 +8190,7 @@ \lowercase{\def\Hy@temp{#1}}% \@ifundefined{Form@method@\Hy@temp}{% \@onelevel@sanitize\Hy@temp - \PackageError{hyperref}{% + \Hy@Error{% Unknown method `\Hy@temp'.\MessageBreak Known values are `post' and `get'% }\@ehc @@ -8222,7 +8361,7 @@ \def\Hy@@temp#1#2{% \ifHy@pdfa \define@key{Field}{#2}{% - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Additional action `#2' is prohibited% }\@ehc }% @@ -8271,7 +8410,7 @@ \else \ifHy@pdfa \define@key{Field}{onclick}{% - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Action `onclick' is prohibited% }\@ehc }% @@ -13720,29 +13859,29 @@ \Hy@RestoreLastskip } \def\@Form[#1]{% - \typeout{Sorry, TeXpider does not yet support FORMs}% + \Hy@Message{Sorry, TeXpider does not yet support FORMs}% } \def\@endForm{} \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum - \typeout{Sorry, TeXpider does not yet support FORM gauges}% + \Hy@Message{Sorry, TeXpider does not yet support FORM gauges}% } \def\@TextField[#1]#2{% parameters, label - \typeout{Sorry, TeXpider does not yet support FORM text fields}% + \Hy@Message{Sorry, TeXpider does not yet support FORM text fields}% } \def\@CheckBox[#1]#2{% parameters, label - \typeout{Sorry, TeXpider does not yet support FORM checkboxes}% + \Hy@Message{Sorry, TeXpider does not yet support FORM checkboxes}% } \def\@ChoiceMenu[#1]#2#3{% parameters, label, choices - \typeout{Sorry, TeXpider does not yet support FORM choice menus}% + \Hy@Message{Sorry, TeXpider does not yet support FORM choice menus}% } \def\@PushButton[#1]#2{% parameters, label - \typeout{Sorry, TeXpider does not yet support FORM pushbuttons}% + \Hy@Message{Sorry, TeXpider does not yet support FORM pushbuttons}% } \def\@Reset[#1]#2{% - \typeout{Sorry, TeXpider does not yet support FORMs}% + \Hy@Message{Sorry, TeXpider does not yet support FORMs}% } \def\@Submit[#1]#2{% - \typeout{Sorry, TeXpider does not yet support FORMs}% + \Hy@Message{Sorry, TeXpider does not yet support FORMs}% } % % \end{macrocode} @@ -15944,7 +16083,7 @@ \providecommand*{\XR@ext}{html} \def\Hy@raisedlink{} \@ifpackageloaded{tex4ht}{% - \typeout{hyperref tex4ht: tex4ht already loaded}% + \Hy@InfoNoLine{tex4ht is already loaded}% }{% \RequirePackage[htex4ht]{tex4ht}% } @@ -16280,7 +16419,7 @@ } \def\@endForm{} \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum - \typeout{Sorry, pdfmark drivers do not support FORM gauges}% + \Hy@Message{Sorry, pdfmark drivers do not support FORM gauges}% } \def\@TextField[#1]#2{% parameters, label \def\Fld@name{#2}% @@ -16407,7 +16546,7 @@ \DefaultOptionsofPushButton,#1% }% \ifHy@pdfa - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Push button with JavaScript is prohibited% }\@ehc \LayoutPushButtonField{% @@ -16453,7 +16592,7 @@ }% \leavevmode \ifHy@pdfa - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Reset action is prohibited% }\@ehc \MakeButtonField{#2}% @@ -16492,25 +16631,25 @@ % \subsection{HyperTeX} % \begin{macrocode} %<*hypertex> -\def\@Form[#1]{\typeout{Sorry, HyperTeX does not support FORMs}} +\def\@Form[#1]{\Hy@Message{Sorry, HyperTeX does not support FORMs}} \def\@endForm{} \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum - \typeout{Sorry, HyperTeX does not support FORM gauges}% + \Hy@Message{Sorry, HyperTeX does not support FORM gauges}% } \def\@TextField[#1]#2{% parameters, label - \typeout{Sorry, HyperTeX does not support FORM text fields}% + \Hy@Message{Sorry, HyperTeX does not support FORM text fields}% } \def\@CheckBox[#1]#2{% parameters, label - \typeout{Sorry, HyperTeX does not support FORM checkboxes}% + \Hy@Message{Sorry, HyperTeX does not support FORM checkboxes}% } \def\@ChoiceMenu[#1]#2#3{% parameters, label, choices - \typeout{Sorry, HyperTeX does not support FORM choice menus}% + \Hy@Message{Sorry, HyperTeX does not support FORM choice menus}% } \def\@PushButton[#1]#2{% parameters, label - \typeout{Sorry, HyperTeX does not support FORM pushbuttons}% + \Hy@Message{Sorry, HyperTeX does not support FORM pushbuttons}% } -\def\@Reset[#1]#2{\typeout{Sorry, HyperTeX does not support FORMs}} -\def\@Submit[#1]#2{\typeout{Sorry, HyperTeX does not support FORMs}} +\def\@Reset[#1]#2{\Hy@Message{Sorry, HyperTeX does not support FORMs}} +\def\@Submit[#1]#2{\Hy@Message{Sorry, HyperTeX does not support FORMs}} % % \end{macrocode} % \subsection{TeX4ht} @@ -16522,7 +16661,7 @@ } \def\@endForm{\HCode{}} \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum - \typeout{Sorry, TeX4ht does not support gauges}% + \Hy@Message{Sorry, TeX4ht does not support gauges}% } \def\@TextField[#1]#2{% parameters, label \let\Hy@reserved@a\@empty @@ -16663,7 +16802,7 @@ % \begin{macrocode} %<*pdftex> \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum - \typeout{Sorry, pdftex does not support FORM gauges}% + \Hy@Message{Sorry, pdftex does not support FORM gauges}% } \def\MakeFieldObject#1#2{\sbox0{#1}% \immediate\pdfxform0 % @@ -16914,7 +17053,7 @@ }% \PDFForm@Name \ifHy@pdfa - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Push button with JavaScript is prohibited% }\@ehc \LayoutPushButtonField{% @@ -16966,7 +17105,7 @@ }% \leavevmode \ifHy@pdfa - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Reset action is prohibited% }\@ehc \MakeButtonField{#2}% @@ -17071,7 +17210,7 @@ % \begin{macro}{\@Gauge} % \begin{macrocode} \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum - \typeout{Sorry, dvipdfm/XeTeX does not support FORM gauges}% + \Hy@Message{Sorry, dvipdfm/XeTeX does not support FORM gauges}% } % \end{macrocode} % \end{macro} @@ -17334,7 +17473,7 @@ }% \PDFForm@Name \ifHy@pdfa - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Push button with JavaScript is prohibited% }\@ehc \LayoutPushButtonField{% @@ -17402,7 +17541,7 @@ }% \leavevmode \ifHy@pdfa - \PackageError{hyperref}{% + \Hy@Error{% PDF/A: Reset action is prohibited% }\@ehc \MakeButtonField{#2}% -- cgit v1.2.3