PDF 頁面中的數字會根據其在乳膠中的標籤而定

PDF 頁面中的數字會根據其在乳膠中的標籤而定

我的乳膠中有幾十個人物,名字各不相同。我想將它們放入一個 PDF 文件中,並通過類似\includegraphics[page="label3"]{foo}而不是\includegraphics[page=3]{foo}.換句話說,我想根據正確的標籤(在建立包含所有圖形的單一 PDF 檔案時指定)從 PDF 中呼叫圖形。

答案1

您可以透過定義擴展為頁碼的巨集標籤來實現這一點。我將使用自訂巨集首先建立多頁 PDF,然後使用不同的定義建立標籤清單。

因為這很難理解,這裡有一些程式碼:

建立一個.tex僅包含以下內容的文件:

% filelist.tex
\myimagelist{some label}{some path/pdffile1}
\myimagelist{some other label}{some path/pdffile2}
% ....

若要建立多頁文檔,請使用以下文檔:

% allpdfs.tex
\documentclass{article}
\usepackage{pdfpages}
\newcommand{\myimagelist}[2]{\includepdf[fitpaper=true]{#2}}

\begin{document}
\input{filelist}
\end{document}

這會將每個(單頁)PDF 作為結果 PDF 的一個頁面,其中每個頁面仍具有原始大小。

在你的真實文件中可能如下所示:

\documentclass{book}
\usepackage{graphicx}
\newcommand{\mylabel}[1]{\csname mylabel #1\endcsname}
\newcounter{mycounter}
\newcommand{\myimagelist}[2]{%
  \stepcounter{mycounter}%
  \expandafter\edef\csname mylabel #1\endcsname{\arabic{mycounter}}%
}
\input{filelist}

\begin{document}

\includegraphics[page=\mylabel{some label}]{allpdfs}

or use:

\newcommand{\imagebylabel}[2][]{\includegraphics[page=\mylabel{#2},#1]{allpdfs}}

\imagebylabel{some other label}

\end{document}

我無法測試程式碼,因為我目前坐在一台沒有安裝 LaTeX 的家庭 PC 上,但您應該了解原理。

相關內容