
Привет всем (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
.