이름이 지정된 대상에 대해 \hypertarget을 사용하여 추가된 모든 책갈피 나열

이름이 지정된 대상에 대해 \hypertarget을 사용하여 추가된 모든 책갈피 나열

다음과 같은 방법으로 프로젝트의 모든 섹션에 북마크를 추가합니다.

\section{Introduction}
\hypertarget{intro}{}

Some text.

나는 나중에 URL 링크에서 이 북마크를 사용합니다 https://example.com/my-document.pdf#intro.

특정 섹션을 참조하는 URL을 만들 때마다 LaTeX 프로젝트로 돌아가 북마크 이름이 너무 많기 때문에 북마크 이름을 찾아야 합니다. 내 모든 북마크 목록을 갖고 싶습니다(이상적으로는 표시한 섹션 이름과 병치됨).

나는 모든 북마크 목록이 다음을 사용하여 생성될 수 있다는 것을 알고 있습니다.PDF정보명령줄에서. 그러나 필요한 북마크와 함께 LaTeX에서 추가했지만 나와 관련이 없는 모든 종류의 북마크를 얻습니다.

   1 [ XYZ   57  785 null      ] "Doc-Start"
   1 [ XYZ   56  823 null      ] "page.1"
   2 [ XYZ   57  711 null      ] "section.1"
   3 [ XYZ   57  751 null      ] "intro"
   5 [ XYZ   57  666 null      ] "lstlisting.-1"
   5 [ XYZ  104  668 null      ] "lstnumber.-1.1"
   6 [ XYZ   57  785 null      ] "subsection.1.1"

그렇다면 내가 만든 북마크 목록을 생성하는 것이 가능합니까 \hypertarget? 나는 명령줄 솔루션이나 LaTeX 매크로 중 무엇이든 만족할 것입니다.

답변1

나는 나 자신을 땜질하려고 노력했고 몇 가지를 생각해 냈습니다.더러운하지만 덕분에 작업 솔루션이 스레드그리고이 스레드. 더 나은 것을 생각해낼 수 있으면 좋겠지만 더 많은 경험이 필요합니다. 그래도 누군가가 좀 더 우아한 솔루션을 제공할 수 있기를 바랍니다.

내 더러운 해결책 :

\documentclass{article}

% Corrects issues with compatibility of XeLaTeX
% and hyperref to create bookmarks
\special{dvipdfmx:config C 0x0010}

\usepackage{hyperref}
\usepackage{newfloat}% for listof
\usepackage{comment}

%\begin{comment}
    % temp code for list of bookmarks
    \DeclareFloatingEnvironment[fileext=bkmrk]{bookmark}
    \makeatletter
    \newcommand*{\currentname}{\@currentlabelname}
    \renewcommand*{\hypertarget}[2]{
      \addcontentsline{bkmrk}{bookmark}{\currentname \qquad | \qquad #1}%
    }
    \makeatother
    \AtBeginDocument{\listofbookmarks}
    % end of temp code
%\end{comment}


\begin{document}


\newpage
\section{First Section}
\hypertarget{first}{}

\newpage
\section{Second Section}
\hypertarget{second}{}

\newpage
\section{Third Section}
\hypertarget{third}{}

\end{document}

그것은 나에게 이것을 제공합니다 :

여기에 이미지 설명을 입력하세요

최종 PDF를 컴파일하기 직전에 다음을 수행합니다.

  • 북마크 목록 코드의 주석 처리를 해제하세요.
  • PDF를 컴파일하여 북마크 목록 생성
  • 북마크를 Excel에 복사합니다. (이 단계에는 많은 텍스트 편집이 필요합니다.)
  • 북마크 목록 코드를 주석 처리하세요.

그런 다음 출판용 PDF를 편집합니다.

관련 정보