Many commands from LATEX or other packages cannot be overloaded, but must be directly redefined by hyperref. It defines the command\checkcommand which is more powerful than LATEX's\CheckCommand because it takes into account\DeclareRobustCommand and optional parameters better. HyC@nc@noopt This macro\HyC@nc@noopt is called, if the parser has reached the definition text.
HyC@nc@opt This macro scans the first optional argument of a LATEX definition (number of arguments). Therefore, the further analysis is done by \HyC@nc@opt or \Hy@nc@noopt of the.
Version check
Checks with regular expressions
Compatibility with format dumps
Hy@AtBeginDocument For the case that package 'hyperref' is loaded using\AtBeginDocument, we need to wrap the calls of\AtBeginDocument/\AfterBeginDocument in\AtEndOfPackage.
Switches
Macros for recursions
Babel’s protection of shorthand characters
Coordinate transformations
Without e-TeX's features,\hypercalcbp cannot be implemented extensibly (practically) and must be supported by\hypercalcbpdef.
Description of PDF strings
Definition of \pdfstringdef
Incorrect results are avoided if digits that are not part of the octal sequence follow. The middle position of redefinitions is a compromise: the user should be able to provide their own (perhaps better) redefinitions, but some commands should have their original meaning because they can be used in a hook (\bgroup, or\@protected@testopt and\@ifnextcharfor\renewcommand). So the font encoding engine works and the glyph commands are converted to the correct tokens for PDF strings with PD1 encoding definitions.
The last post-processing step will be an optimization of spaces, so we have already introduced the necessary command. Unlike the original \xspace \HyPsd@xspace uses an argument instead of a \futurelet, so we must provide such an argument if \HyPsd@xspace comes last.
Encodings
Because the information strings are not set by TEX's typing mechanism, but for interpretation by the PDF reader, the glyphs for the PD1 encoding are implemented to be written safely to a file (PDF output file, .outfile). The PD1 encoding can be specified as an option of the 'fontenc' package or loaded here. It doesn't matter which font family is chosen, as TEX doesn't process it anyway.
Due to large memory requirements, the encoding file for Unicode support is loaded only if the unicode option is specified as a package option.
Additional user commands
Then \HyPsd@CheckCatcodes can detect the disallowed token, \HyPsd@CatcodeWarning prints a warning message, after that.
Help macros for expansion
HyPsd@CJKActiveChars The macro\HyPsd@CJKActiveCharsis is only defined to limit the memory consumption of\HyPsd@CJKhook. With a deep trick it is possible to define commands in such a context: \csname does the job, it defines the command to be\relax, if it has no meaning. So it is detected by\HyPsd@CheckCatcodes and the command name\
The command to be defined is converted to a string and back to a command name using \csname. The order itself may be legal, but the warning is legal because of its position after a determining order.).
Help macros for postprocessing
Because of this, there can be no group at the beginning or end of the string, and grouping characters are not removed when calling af\HyPsd@@ProtectSpacesFi. HyPsd@@ProtectSpacesFi The string can contain command tokens, so it is better to use en\defin instead of en\edef. 1775 \expandafter\HyPsd@@ProtectSpacesFi#3\HyPsd@End#3%. HyPsd@RemoveBraces #1 contains the expanded string, the result will be written locally in command\HyPsd@String. HyPsd@@RemoveBraces \HyPsd@@RemoveBraces is called with the expanded string, the end marked with. HyPsd@End, the expanded string again, but enclosed in braces and the string command.
The string may still contain commands, so it is better to use \defin instead of a shorter \edef. An incorrect glyph is marked with\relax, the glyph name follows, delimited by>.\@empty ends the string.
Class memoir
Package subfigure
Package xr and xr-hyper
Help macros
Macro\Hy@CheckOptionValue checks if the given value#1 for option#2 is a member of the list of values#3.
Defining the options
If we go to PDF via HyperTeX\specialcommands, the dvips (-z option) processor does not know the height of a link, since it only works on the position of the closure. Are the page links done as plain Arabic numbers, or do they follow the formatting of the package. The shortened reference to the comparison: it is not for "the good face of the book", but perhaps it would be better to get the company for the\statement autorefname.
The name of the comparison reference has a common form for both the nominative and the accusative, but changes to other forms, such as "of\autoref{auto}" etc. Commented forms of the "footnote": have different forms, same for the nominative and accusative. Name of the list item, can be confused with the name of the paragraph reference, but the reader can understand the meaning from the context(?).
The name of the appendix can use this abbreviation, but it is not standard for books, i.e. not for the "good face of the book". Commented variant has common form for both nominative and accusative, but changes in other forms, like "af\autoref{auto}", etc. Commented variant can be used in books, but since it has common form for both nominative and accusative, but it changes in other forms, like "af\autoref{auto}", etc.
The meaning of the line reference can therefore be read as a reference to the page. The names of statement: if we want "the good face of the book", the statement reference must have the full name (like comparison reference).
Package xspace support
Option draft
PDF/A
Patch for babel’s \texttilde
If the driver is not listed, find the correct driver or use the default driver. We need to normalize all user commands with a URL argument; Within the argument, the following special definitions apply: \#,\%,~producer#,%,~respectively. We also need to provide a LATEX label for a hyperlink, to ease the pain of referring to it later.
Links have an optional type, a file name (possibly a URL), an internal name, and some highlighted text. Caution: the internal name may contain babel shorthand characters.) If the second parameter is empty, it is an internal link, otherwise we need to open another file or URL. The problem here is that the first (URL) parameter can be a local file: reference (in which case some browsers treat it differently) or a real URL, in which case we'll need to enable a real web browser. We need to properly expand the 1st parameter so we delimit the arguments instead of passing it inside a group.
Note, however, that the entire complex structure for document segmentation is not supported; it is assumed that the user will loadhtml.styfirst, and thenhyperref.sty, so that the definitions inhtml.stytake effect, and then will be bypassed in some circumstances by this package. The effects here are somewhat limited by the need to support both output formats, so it may not be as smart as something that only wants to create PDF forms.
Field flags
Put our macro names on Nikos's, so that documents prepared for that system will work without modification. The names of the flags in the PDF specification (1.7) are used as lowercase option names. There are two flags for read-only settings, one in the annotation flags is ignored, instead the other in the field flags is used.
FlagPrint is not very useful because hyperref does not use the appearance of the annotations for most fields.
Choice field
Forms
This is used, for example, in the Elsevier classes to prevent hyperref from messing up the front matter. Now the code for adding the hyperref package to a document with aux and toc written in the standard way. In the title, a good substitute can be a space, but can already be a space after\\in the title string.
In the macro\author, the newline might separate the different authors, so the newline here expands to a comma with space.
PDF /PageLabels
Package harvard
HAR@checkcitations The package hyperref has added\hyper@@link, so the original test\HAR@checkcitations will fail every time and always get the "Changed tags" warning.
Package chicago
The last page cannot contain a /Dur key, because there is no page after the last page. This can be set with \AtEndDocument, but it may be too late if the last page is already finished, or too early if there are many orphaned pages to follow. But if "the most recent destination" isn't what you expect, you're in trouble.
The whole statement business is making up new counters on the fly; we're going to intercept it. Damned if we're going to try to figure out what they're up to. This will not continue if the author has already used the|specifier for something like bolstering entries.
The solution is for the author to use generic coding and put the required hyperpage in his/her own macros along with the boldness. This is again quite flaky, but keep in mind the general situation of a page range separated by en-rule. Emend\@setrefto places a hypertext link next to the normal text (used as an anchor). endinput must be on the same line as \fi, or you must use \expandafterbefore.).
Hy@setref@link extracts the reference information entries because \hyper@@link does not expand arguments for the automatic link type detection. Now some extended references.\ref*and\pageref* are not linked, and\autoref prefixes with a tag based on the type.
PS/PDF strings
The first argument holds a macro for the result, the second argument is the string that needs protection.