% % pxjahyper.sty % %% package declaration \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{pxjahyper}[2012/05/27 v0.2] %% error messages \def\pxhy@pkgname{pxjahyper} \def\pxhy@warn{\PackageWarningNoLine\pxhy@pkgname} \def\pxhy@error{\PackageError\pxhy@pkgname} \@onlypreamble\pxhy@fatal \def\pxhy@fatal#1#2{% \pxhy@error{#1}{#2Package loading is aborted right now.}% } %% packages \RequirePackage{atbegshi} %% globals \newif\ifpxhy@ptex \newif\ifpxhy@uptex \let\pxhy@jcode\@undefined \newif\ifpxhy@tounicode \newif\ifpxhy@zerox \newif\ifpxhy@bigcode \chardef\pxhy@driver@none=0 \chardef\pxhy@driver@dvipdfmx=1 \let\pxhy@driver\@undefined %------------------- option handling \DeclareOption{dvipdfmx}{% \let\pxhy@driver\pxhy@driver@dvipdfmx } \DeclareOption{dvipdfm}{% \let\pxhy@driver\pxhy@driver@dvipdfmx } \DeclareOption{none}{% \let\pxhy@driver\pxhy@driver@none } \DeclareOption{auto}{% \let\pxhy@driver\@undefined } \DeclareOption{tounicode}{% \pxhy@tounicodetrue } \DeclareOption{notounicode}{% \pxhy@tounicodefalse } \DeclareOption{out2uni}{% \pxhy@zeroxtrue } \DeclareOption{noout2uni}{% \pxhy@zeroxfalse } \DeclareOption{bigcode}{% \pxhy@bigcodetrue } \DeclareOption{nobigcode}{% \pxhy@bigcodefalse } \ExecuteOptions{% auto,tounicode,noout2uni,nobigcode% } \ProcessOptions* %------------------- environment check %% The hyperref package must be loaded in advance. \@ifpackageloaded{hyperref}{}{%else \pxhy@fatal{'hyperref' not yet loaded}{}% \endinput } %% hyperref option 'unicode' must not be set. \expandafter\ifx\csname ifHy@unicode\expandafter\endcsname \csname iftrue\endcsname \pxhy@fatal{hyperref 'unicode' mode is not supported}{}% \expandafter\endinput \fi %% Check hyperref driver. \ifx\pxhy@driver\@undefined \def\pxhy@tmpa{hdvipdfm} \ifx\Hy@driver\pxhy@tmpa \let\pxhy@driver\pxhy@driver@dvipdfmx \else \let\pxhy@driver\pxhy@driver@none \fi \fi %% Check the engine. \def\pxhy@check#1#2{% \edef\pxhy@tmpa{\string#1}% \edef\pxhy@tmpb{\meaning#1}% \ifx\pxhy@tmpa\pxhy@tmpb #2\fi } \pxhy@check\kanjiskip{\pxhy@ptextrue} \pxhy@check\forcecjktoken{\pxhy@uptextrue} \ifpxhy@ptex\else \pxhy@fatal{Unknown engine used!!!}{} \expandafter\endinput \fi %% Check the internal jcode. \ifnum \jis"2121="8140 \let\pxhy@jcode=s\relax \else\ifnum\jis"2121="A1A1 \let\pxhy@jcode=e\relax \else\ifnum\jis"2121="3000 \let\pxhy@jcode=u\relax \fi\fi\fi \ifx\pxhy@jcode\@undefined \pxhy@fatal{Unknown internal kanji code!!!}{} \expandafter\endinput \fi %% adjustment % upTeX not in unicode is not seen as upTeX. \if u\pxhy@jcode\else \pxhy@uptexfalse \fi % out2uni cannot be used with upTeX. \ifpxhy@uptex \ifpxhy@zerox \pxhy@warn{out2uni is invalid in upTeX} \pxhy@zeroxfalse \fi\fi % bigcode cannot be used without upTeX. \ifpxhy@uptex\else \ifpxhy@bigcode \pxhy@warn{bigcode is invalid without upTeX} \pxhy@bigcodefalse \fi\fi % out2uni disables tounicode. \ifpxhy@zerox \pxhy@tounicodefalse \fi \iffalse \typeout{% pxhy@ptex = \ifpxhy@ptex true\else false\fi^^J% pxhy@uptex = \ifpxhy@uptex true\else false\fi^^J% pxhy@jcode = \meaning\pxhy@jcode^^J% pxhy@tounicode = \ifpxhy@tounicode true\else false\fi^^J% pxhy@zerox = \ifpxhy@zerox true\else false\fi^^J% pxhy@driver = \the\pxhy@driver^^J% } \fi %------------------- helpers %% pxhy@end \def\pxhy@end{\pxhy@end@} %% \pxhy@out@special{} \def\pxhy@out@special#1{% \begingroup \toks\z@{\special{#1}}% \toks\tw@\expandafter{\AtBegShi@HookFirst}% \xdef\AtBegShi@HookFirst{\the\toks@\the\toks\tw@}% \endgroup } %% \pxhy@get@jchar{} % Let \pxhy@jchar a macro expanding to a single jchar token % of the char code . \def\pxhy@get@jchar#1{% \begingroup \pxhy@forcecjktoken \kansujichar\@ne=#1\relax \xdef\pxhy@jchar{\kansuji\@ne}% \endgroup } %% \pxhy@forcecjktoken \ifpxhy@uptex \let\pxhy@forcecjktoken\forcecjktoken \else \let\pxhy@forcecjktoken\relax \fi %------------------- output 'tounicode' special \ifpxhy@tounicode \ifnum\pxhy@driver=\pxhy@driver@dvipdfmx %<*dvipdfmx> %% dvipdfmx \if e\pxhy@jcode % euc \pxhy@out@special{pdf:tounicode EUC-UCS2} \else\if s\pxhy@jcode % sjis \pxhy@out@special{pdf:tounicode 90ms-RKSJ-UCS2} \else\ifpxhy@bigcode % ucs, bigcode \pxhy@out@special{pdf:tounicode UTF8-UTF16} \else \pxhy@out@special{pdf:tounicode UTF8-UCS2} \fi\fi\fi \fi % \fi %------------------- papersize special adjustment % When the magnification is in effect (i.e. \mag<>1000), hyperref % emits a papersize special with wrong value. (dvipdfmx interprets % the lengths in the special as 'true' length.) So here a papersize % special with adjusted values will be output. \ifnum\mag=1000 \else \expandafter\ifx\csname ifHy@setpagesize\expandafter\endcsname \csname iftrue\endcsname % hyperref setpagesize is on \ifnum0<\mag \ifnum32768>\mag % \mag is in valid range \begingroup \@ifundefined{stockwidth}{}{%else \paperwidth=\stockwidth \paperheight=\stockheight }% \@tempcnta=\mag \advance\@tempcnta100000 \def\pxhy@next1#1#2#3#4#5\relax{% \def\pxhy@tmpa{#1#2.#3#4#5}% }% \expandafter\pxhy@next\the\@tempcnta\relax \paperwidth=\pxhy@tmpa\paperwidth \paperheight=\pxhy@tmpa\paperheight \xdef\pxhy@spec@papersize{% papersize=\the\paperwidth,\the\paperheight }% \AtBeginShipoutFirst{% \special{\pxhy@spec@papersize}% } \endgroup \fi\fi \fi \fi %------------------- \def\pxhy@uc@REPL{FFFD} \def\pxhy@uc@XNAC{FDD1} % not-a-char codepoint used as marker \let\pxhy@burst\romannumeral \let\pxhy@nxend\indent %% \pxhy@uchex{} % The entity of the code-value input function. If the input % is a valid code value in hex then it passes the value to % \pxhy@uchex@res in 4-6 digits; otherwise passes FFFD to % \pxhy@uchex@res. \def\pxhy@uchex#1{% \expandafter\pxhy@uchex@a\pxhy@burst-`>#1\pxhy@nxend } \edef\pxhy@uchex@err{% \noexpand\pxhy@uchex@res{\pxhy@uc@REPL}% } \def\pxhy@uchex@a#1#2\pxhy@nxend{% \ifnum2<"1#1 \expandafter\pxhy@uchex@b\romannumeral-"#1#2\pxhy@nxend{#1#2}% \else \pxhy@uchex@err \fi } \def\pxhy@uchex@b#1\pxhy@nxend#2{% \ifx\pxhy@empty#1\pxhy@empty \ifnum"#2>"10FFFF \pxhy@uchex@err \else\ifnum"#2>"FFF \pxhy@uchex@res{#2}% \else \pxhy@uchex@c#2"000\pxhy@end \fi\fi \else \pxhy@uchex@err \fi } \def\pxhy@uchex@c#1#2#3#4#5#6\pxhy@end{% \pxhy@uchex@d#1#2#3#4#5\pxhy@end } \def\pxhy@uchex@d#1"#2\pxhy@end{% \pxhy@uchex@res{#2#1}% } \ifpxhy@uptex %<*upTeX> %% \pxhy@marker: a not-a-char U+FDD1 \pxhy@get@jchar{\ucs"\pxhy@uc@XNAC} \edef\pxhy@marker{\pxhy@jchar} %% Makes \Ux and \UTF be the code input command in PDF strings. \pdfstringdefDisableCommands{% \let\Ux\pxhy@uchex \let\UTF\pxhy@uchex \let\UTFM\pxhy@uchex \let\UTFK\pxhy@uchex \let\UTFC\pxhy@uchex \let\UTFT\pxhy@uchex } %BEGIN-- in the following block #1 means the marker \def\pxhy@next#1{% #1=marker %% \pxhy@uchex@res % Expands to a tag string which will later be converted to % a real character in the postprocess. \def\pxhy@uchex@res##1{#1##1>}% %% \pxhy@posthook % The postprocess of this package. It is registered to % \pdfstringdefPostHook. \def\pxhy@posthook##1{% \expandafter\pxhy@posthook@a##1#1\pxhy@end \pxhy@posthook@b##1% }% \def\pxhy@posthook@a##1#1##2\pxhy@end{% \ifx\pxhy@empty##2\pxhy@empty \expandafter\@gobbletwo \fi }% \def\pxhy@posthook@b##1{% \let\pxhy@str\@empty \expandafter\pxhy@posthook@c##1#1>% \global\let##1=\pxhy@str }% \def\pxhy@posthook@c##1#1##2>{% \ifx\pxhy@empty##2\pxhy@empty \edef\pxhy@str{\pxhy@str##1}% \else \pxhy@get@jchar{"##2}% \edef\pxhy@str{\pxhy@str##1\pxhy@jchar}% \expandafter\pxhy@posthook@c \fi }% } \expandafter\pxhy@next\pxhy@marker %END-- % Add \pxhy@posthook to \pdfstringdefPostHook. \begingroup \toks@\expandafter{\pdfstringdefPostHook{#1}} \edef\pxhy@next{% \gdef\noexpand\pdfstringdefPostHook##1{% \the\toks@ \noexpand\pxhy@posthook{##1}% }% }% \pxhy@next \endgroup \else\ifpxhy@zerox %<*!upTeX> %% \pxhy@uchex@res % Expands to \0x form. \def\pxhy@uchex@res#1{% \0x#1% } %% Makes \Ux be the code input command in PDF strings. % (If the otf package is loaded, then \UTF already does % the same thing.) \pdfstringdefDisableCommands{% \let\Ux\pxhy@uchex } %Note: if out2uni is off then \Ux remains undefined. \fi\fi % %------------------- Redefine text commands for PD1 \ifnum\pxhy@driver=\pxhy@driver@dvipdfmx %<*dvipdfmx> %%<+> \pxDeclarePdfTextCommand{\CS}{}{} \@onlypreamble\pxDeclarePdfTextCommand \newcommand*\pxDeclarePdfTextCommand[3]{% \pxhy@decl@pdf@tc{#2}{#3}% {\DeclareTextCommand{#1}{PD1}}% {\pxhy@revoke@pdf@tc{#1}}% } %%<+> \pxDeclarePdfTextComposite{\CS}{}{}{} \@onlypreamble\pxDeclarePdfTextComposite \newcommand*\pxDeclarePdfTextComposite[4]{% \pxhy@decl@pdf@tc{#3}{#4}% {\DeclareTextCompositeCommand{#1}{PD1}{#2}}% {\pxhy@revoke@pdf@tcc{#1}{#2}}% } \else %<*!dvipdfmx> \@onlypreamble\pxDeclarePdfTextCommand \newcommand*\pxDeclarePdfTextCommand[3]{} \@onlypreamble\pxDeclarePdfTextComposite \newcommand*\pxDeclarePdfTextComposite[4]{} \fi % %% \pxhy@revoke@pdf@tc \@onlypreamble\pxhy@revoke@pdf@tc \def\pxhy@revoke@pdf@tc#1{% \expandafter\let\csname PD1\string#1\endcsname\@undefined } %% \pxhy@revoke@pdf@tcc \@onlypreamble\pxhy@revoke@pdf@tc \def\pxhy@revoke@pdf@tcc#1#2{% \expandafter\let\csname\string\PD1\string#1-\string#2% \endcsname\@undefined } %% \pxhy@decl@pdf@tc \@onlypreamble\pxhy@decl@pdf@tc \def\pxhy@decl@pdf@tc#1#2{% \pxhy@get@body{#1}{#2}% \ifx\pxhy@body\@undefined \let\pxhy@next\@secondoftwo \else \def\pxhy@next{% \expandafter\pxhy@decl@pdf@tc@a\pxhy@body\pxhy@end}% \fi \pxhy@next } \@onlypreamble\pxhy@decl@pdf@tc@a \def\pxhy@decl@pdf@tc@a#1\pxhy@end#2#3{% #2{#1}% } %% \pxhy@get@body{}{} \@onlypreamble\pxhy@get@body \ifpxhy@uptex %<*upTeX> \def\pxhy@get@body#1#2{% \pxhy@get@jchar{\ucs"#2}% \let\pxhy@body\pxhy@jchar }% \else %<*!upTeX> \ifpxhy@zerox \def\pxhy@get@body#1#2{% \ifx\pxhy@end#1\pxhy@end \def\pxhy@body{\0x#2}% \else \pxhy@get@jchar{\jis"#1}% \let\pxhy@body\pxhy@jchar \fi }% \else \def\pxhy@get@body#1#2{% \ifx\pxhy@end#1\pxhy@end \let\pxhy@body\@undefined \else \pxhy@get@jchar{\jis"#1}% \let\pxhy@body\pxhy@jchar \fi }% \fi \fi % %------------------- % JIS X 0213 does not distinguish the following pairs: % - circumflex(U+02C6) and asciicircum(U+005E) % - tilde(U+02DC) and asciitilde(U+007E) % Here I use ASCII characters as done in JIS. \DeclareTextCommand{\textcircumflex}{PD1}{\136} \DeclareTextCommand{\textasciicircum}{PD1}{\136} \DeclareTextCommand{\texttilde}{PD1}{\176} \DeclareTextCommand{\textasciitilde}{PD1}{\176} % Some ad-hoc redefinitions. \DeclareTextCommand{\textfi}{PD1}{fi} \DeclareTextCommand{\textfl}{PD1}{fl} \DeclareTextCommand{\IJ}{PD1}{IJ} \DeclareTextCommand{\ij}{PD1}{ij} \pxDeclarePdfTextCommand{\textcelsius}{216E}{2103} %%%%%%%% \pxDeclarePdfTextCommand{\textasciibreve}{}{02D8} \pxDeclarePdfTextCommand{\textasciicaron}{}{02C7} \pxDeclarePdfTextCommand{\textdotaccent}{}{02D9} \pxDeclarePdfTextCommand{\texthungarumlaut}{}{02DD} \pxDeclarePdfTextCommand{\textogonek}{}{02DB} \pxDeclarePdfTextCommand{\textring}{}{02DA} \pxDeclarePdfTextCommand{\texttilde}{}{02DC} \pxDeclarePdfTextCommand{\textbullet}{}{2022} \pxDeclarePdfTextCommand{\textdagger}{2277}{2020} \pxDeclarePdfTextCommand{\textdaggerdbl}{2278}{2021} \pxDeclarePdfTextCommand{\textellipsis}{2144}{2026} \pxDeclarePdfTextCommand{\textemdash}{213D}{2014} \pxDeclarePdfTextCommand{\textendash}{}{2013} \pxDeclarePdfTextCommand{\textflorin}{}{0192} \pxDeclarePdfTextCommand{\textfractionsolidus}{}{2044} \pxDeclarePdfTextCommand{\guilsinglleft}{}{2039} \pxDeclarePdfTextCommand{\guilsinglright}{}{203A} \pxDeclarePdfTextCommand{\textminus}{215D}{2212} \pxDeclarePdfTextCommand{\textperthousand}{2273}{2030} \pxDeclarePdfTextCommand{\quotedblbase}{}{201E} \pxDeclarePdfTextCommand{\textquotedblleft}{2148}{201C} \pxDeclarePdfTextCommand{\textquotedblright}{2149}{201D} \pxDeclarePdfTextCommand{\textquoteleft}{2146}{2018} \pxDeclarePdfTextCommand{\textquoteright}{2147}{2019} \pxDeclarePdfTextCommand{\quotesinglbase}{}{201A} \pxDeclarePdfTextCommand{\texttrademark}{}{2122} \pxDeclarePdfTextCommand{\L}{}{0141} \pxDeclarePdfTextCommand{\OE}{}{0152} \pxDeclarePdfTextComposite{\v}{S}{}{0160} \pxDeclarePdfTextComposite{\"}{Y}{}{0178} \pxDeclarePdfTextComposite{\v}{Z}{}{017D} \pxDeclarePdfTextCommand{\i}{}{0131} \pxDeclarePdfTextCommand{\l}{}{0142} \pxDeclarePdfTextCommand{\oe}{}{0153} \pxDeclarePdfTextComposite{\v}{s}{}{0161} \pxDeclarePdfTextComposite{\v}{z}{}{017E} \pxDeclarePdfTextCommand{\texteuro}{}{20AC} \pxDeclarePdfTextCommand{\textexclamdown}{}{00A1} \pxDeclarePdfTextCommand{\textcent}{2171}{00A2} \pxDeclarePdfTextCommand{\textsterling}{2172}{00A3} \pxDeclarePdfTextCommand{\textcurrency}{}{00A4} \pxDeclarePdfTextCommand{\textyen}{}{00A5} \pxDeclarePdfTextCommand{\textbrokenbar}{}{00A6} \pxDeclarePdfTextCommand{\textsection}{2178}{00A7} \pxDeclarePdfTextCommand{\textasciidieresis}{212F}{00A8} \pxDeclarePdfTextCommand{\textcopyright}{}{00A9} \pxDeclarePdfTextCommand{\textordfeminine}{}{00AA} \pxDeclarePdfTextCommand{\guillemotleft}{}{00AB} \pxDeclarePdfTextCommand{\textlogicalnot}{224C}{00AC} \pxDeclarePdfTextCommand{\textlnot}{224C}{00AC} \pxDeclarePdfTextCommand{\textregistered}{}{00AE} \pxDeclarePdfTextCommand{\textasciimacron}{}{00AF} \pxDeclarePdfTextCommand{\textdegree}{216B}{00B0} \pxDeclarePdfTextCommand{\textplusminus}{215E}{00B1} \pxDeclarePdfTextCommand{\texttwosuperior}{}{00B2} \pxDeclarePdfTextCommand{\textthreesuperior}{}{00B3} \pxDeclarePdfTextCommand{\textacute}{212D}{00B4} \pxDeclarePdfTextCommand{\textmu}{}{00B5} \pxDeclarePdfTextCommand{\textparagraph}{2279}{00B6} \pxDeclarePdfTextCommand{\textperiodcentered}{}{00B7} \pxDeclarePdfTextCommand{\textcedilla}{}{00B8} \pxDeclarePdfTextCommand{\textonesuperior}{}{00B9} \pxDeclarePdfTextCommand{\textordmasculine}{}{00BA} \pxDeclarePdfTextCommand{\guillemotright}{}{00BB} \pxDeclarePdfTextCommand{\textonequarter}{}{00BC} \pxDeclarePdfTextCommand{\textonehalf}{}{00BD} \pxDeclarePdfTextCommand{\textthreequarters}{}{00BE} \pxDeclarePdfTextCommand{\textquestiondown}{}{00BF} \pxDeclarePdfTextComposite{\`}{A}{}{00C0} \pxDeclarePdfTextComposite{\'}{A}{}{00C1} \pxDeclarePdfTextComposite{\^}{A}{}{00C2} \pxDeclarePdfTextComposite{\~}{A}{}{00C3} \pxDeclarePdfTextComposite{\"}{A}{}{00C4} \pxDeclarePdfTextComposite{\r}{A}{}{00C5} \pxDeclarePdfTextCommand{\AE}{}{00C6} \pxDeclarePdfTextComposite{\c}{C}{}{00C7} \pxDeclarePdfTextComposite{\`}{E}{}{00C8} \pxDeclarePdfTextComposite{\'}{E}{}{00C9} \pxDeclarePdfTextComposite{\^}{E}{}{00CA} \pxDeclarePdfTextComposite{\"}{E}{}{00CB} \pxDeclarePdfTextComposite{\`}{I}{}{00CC} \pxDeclarePdfTextComposite{\'}{I}{}{00CD} \pxDeclarePdfTextComposite{\^}{I}{}{00CE} \pxDeclarePdfTextComposite{\"}{I}{}{00CF} \pxDeclarePdfTextCommand{\DH}{}{00D0} \pxDeclarePdfTextCommand{\DJ}{}{00D0} \pxDeclarePdfTextComposite{\~}{N}{}{00D1} \pxDeclarePdfTextComposite{\`}{O}{}{00D2} \pxDeclarePdfTextComposite{\'}{O}{}{00D3} \pxDeclarePdfTextComposite{\^}{O}{}{00D4} \pxDeclarePdfTextComposite{\~}{O}{}{00D5} \pxDeclarePdfTextComposite{\"}{O}{}{00D6} \pxDeclarePdfTextCommand{\textmultiply}{215F}{00D7} \pxDeclarePdfTextCommand{\O}{}{00D8} \pxDeclarePdfTextComposite{\`}{U}{}{00D9} \pxDeclarePdfTextComposite{\'}{U}{}{00DA} \pxDeclarePdfTextComposite{\^}{U}{}{00DB} \pxDeclarePdfTextComposite{\"}{U}{}{00DC} \pxDeclarePdfTextComposite{\'}{Y}{}{00DD} \pxDeclarePdfTextCommand{\TH}{}{00DE} \pxDeclarePdfTextCommand{\ss}{}{00DF} \pxDeclarePdfTextComposite{\`}{a}{}{00E0} \pxDeclarePdfTextComposite{\'}{a}{}{00E1} \pxDeclarePdfTextComposite{\^}{a}{}{00E2} \pxDeclarePdfTextComposite{\~}{a}{}{00E3} \pxDeclarePdfTextComposite{\"}{a}{}{00E4} \pxDeclarePdfTextComposite{\r}{a}{}{00E5} \pxDeclarePdfTextCommand{\ae}{}{00E6} \pxDeclarePdfTextComposite{\c}{c}{}{00E7} \pxDeclarePdfTextComposite{\`}{e}{}{00E8} \pxDeclarePdfTextComposite{\'}{e}{}{00E9} \pxDeclarePdfTextComposite{\^}{e}{}{00EA} \pxDeclarePdfTextComposite{\"}{e}{}{00EB} \pxDeclarePdfTextComposite{\`}{i}{}{00EC} \pxDeclarePdfTextComposite{\`}{\i}{}{00EC} \pxDeclarePdfTextComposite{\'}{i}{}{00ED} \pxDeclarePdfTextComposite{\'}{\i}{}{00ED} \pxDeclarePdfTextComposite{\^}{i}{}{00EE} \pxDeclarePdfTextComposite{\^}{\i}{}{00EE} \pxDeclarePdfTextComposite{\"}{i}{}{00EF} \pxDeclarePdfTextComposite{\"}{\i}{}{00EF} \pxDeclarePdfTextCommand{\dh}{}{00F0} \pxDeclarePdfTextComposite{\~}{n}{}{00F1} \pxDeclarePdfTextComposite{\`}{o}{}{00F2} \pxDeclarePdfTextComposite{\'}{o}{}{00F3} \pxDeclarePdfTextComposite{\^}{o}{}{00F4} \pxDeclarePdfTextComposite{\~}{o}{}{00F5} \pxDeclarePdfTextComposite{\"}{o}{}{00F6} \pxDeclarePdfTextCommand{\textdivide}{2160}{00F7} \pxDeclarePdfTextCommand{\o}{}{00F8} \pxDeclarePdfTextComposite{\`}{u}{}{00F9} \pxDeclarePdfTextComposite{\'}{u}{}{00FA} \pxDeclarePdfTextComposite{\^}{u}{}{00FB} \pxDeclarePdfTextComposite{\"}{u}{}{00FC} \pxDeclarePdfTextComposite{\'}{y}{}{00FD} \pxDeclarePdfTextCommand{\th}{}{00FE} \pxDeclarePdfTextComposite{\"}{y}{}{00FF} %%%%%%%% % Give a substitute definition to characters that appear as % ligatures, since otherwise hyperref leaves some garbage in % output pdf-strings when such ligatures appear. \ifpxhy@uptex\else \ifpxhy@zerox\else \DeclareTextCommand{\textendash}{PD1}{--} \DeclareTextCommand{\textquestiondown}{PD1}{}% empty \DeclareTextCommand{\textexclamdown}{PD1}{}% empty \fi \fi %------------------- all done \endinput %% EOF