일반 TeX의 하이퍼링크

일반 TeX의 하이퍼링크

(La)TeX 여러분 안녕하세요.

여기:

dvi 및 pdf의 일반 TeX 및 다양한 하이퍼링크 스타일

일반 TeX에서 하이퍼링크와 상호 참조 하이퍼링크를 생성하는 방법에 대한 몇 가지 매크로(Alan U. Kennington이 작성)가 있습니다. 테스트했지만 dvips -z file.dvi다음을 사용하여 dvi 형식을 pdf로 변환하면 링크가 사라집니다 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

잘 모르겠지만 IMHO dvips -z변환 방식하이퍼텍스트-html스페셜PDF마크지금은 지원되지 않기 때문에 작동하지 않습니다. LaTeX용 hyperref 패키지는 LaTeX -> dvi -> dvips -> ps2pdf 방식이 사용되는 경우 hypertext-html 특수 항목을 사용하지 않습니다. 훨씬 더 많고 규모가 큰 특수 기능이 포함된 자체 복잡한 솔루션을 사용합니다.PDF마크직접 언어.

내 추측은 dvi -> PS -> PDF 방식을 사용할 때 누구도 hypertex-html 특수 항목을 사용하지 않으므로 지원되지 않는다는 사실에 근거합니다. 물론 아주 오래된 www 페이지에 문서화되어 있고 xdvi 프리뷰어에서 작업하고 있습니다.

tex -> dvi -> dvips -> PS -> ps2pdf 방식을 사용하지 않는 것이 좋습니다. 왜냐하면 오늘날에는 PDF를 생성하는 훨씬 더 간단한 방법이 있기 때문입니다.

편집하다버그의 핵심을 찾았습니다. 링크가 세로 모드에서 시작하고 가로 모드의 단락 첫 번째 줄에서 끝나면(예제와 같이) 링크의 민감한 직사각형 배열이 사라집니다. Hey, \LinkHrefText{label}{please click here}대신에 사용해 보세요 \LinkHrefText{label}{please click here}. 또는 링크 앞에 \leavevmode.

관련 정보