Гиперссылки в простом TeX

Гиперссылки в простом TeX

Привет всем (La)TeX-людям

Здесь:

Обычный TeX и различные стили гиперссылок в dvi и pdf

есть несколько макросов (написанных Аланом У. Кеннингтоном) о том, как создавать гиперссылки и перекрестные гиперссылки в простом TeX. Я их тестировал, но у меня ссылка исчезает, когда я конвертирую формат dvi в pdf с помощью: dvips -z file.dviи затем ps2pdf file.ps. Вот мой простой пример:

% first Alan U. Kennington's macros:
%
% This \PreHatch macro to prefix a text string with a hatch character.
{\catcode`\^=6 \catcode`\#=12 \gdef\PreHatch^1{#^1}}

% Anchor points for cross-reference hyperlinks.
\def\LinkNameText#1#2{%
 \special{html:<a name="#1">}#2\special{html:</a>}}
\def\LinkNamePRE#1{\special{html:<a name="#1">}}
\def\LinkNamePOST{\special{html:</a>}}
\def\LinkName#1{\LinkNameText{#1}{}}

% Cross-reference hyperlinks to defined anchor points.
\def\LinkHrefText#1#2{%
 \special{html:<a href="\PreHatch{#1}">}#2\special{html:</a>}}

% Pre-text and post-text macros.
\def\LinkHrefPRE#1{\special{html:<a href="\PreHatch{#1}">}}
\def\LinkHrefPOST{\special{html:</a>}}

% External hyperlinks.
\def\LinkHrefExtText#1#2{%
 \special{html:<a href="#1">}#2\special{html:</a>}}
\def\LinkHrefExt#1{\LinkHrefExtText{#1}{#1}}
\def\LinkHrefExtTT#1{\LinkHrefExtText{#1}{{\tt#1}}}


% then my simple test:
%
hallo\LinkName{label}

\LinkHrefText{label}{please click here}

\end

обрабатываться просто tex file. Ссылка отлично работает в формате dvi, но, как я уже сказал, после dvips -z -> ps2pdfконвертации ее больше нет.

Помогите, кто может.

решение1

Я не уверен, но ИМХО способdvips -z который преобразуетгипертекст-htmlспециальные предложения дляpdfmarkне работает, потому что сейчас не поддерживается. Пакет hyperref для LaTeX не использует hypertext-html specials, когда используется способ LaTeX -> dvi -> dvips -> ps2pdf. Он использует свое собственное сложное решение с гораздо большим количеством и большими specials: они генерируютpdfmarkязык напрямую.

Мое предположение основано на том факте, что никто не использует hypertex-html specials, когда используется путь dvi -> PS -> PDF, поэтому они не поддерживаются. Конечно, они документированы на очень старой странице www и они работают в xdvi previewer.

Я рекомендую не использовать способ tex -> dvi -> dvips -> PS -> ps2pdf, поскольку сегодня у нас есть гораздо более простые методы создания PDF.

РедактироватьЯ нашел суть ошибки. Если ссылка начинается в вертикальном режиме и заканчивается в первой строке абзаца в горизонтальном режиме (как в вашем примере), то чувствительный прямоугольный массив ссылки исчезает. Попробуйте использовать Hey, \LinkHrefText{label}{please click here}вместо только \LinkHrefText{label}{please click here}. Или добавьте к своей ссылке префикс \leavevmode.

Связанный контент