Ich habe Dutzende von Abbildungen in meinem Latex, die alle unterschiedlich benannt sind. Ich möchte sie in eine einzelne PDF-Datei packen und jede Abbildung von dort aus über etwas wie \includegraphics[page="label3"]{foo}
anstelle von aufrufen \includegraphics[page=3]{foo}
. Mit anderen Worten, ich möchte Abbildungen aus einer PDF entsprechend ihrer richtigen Beschriftung aufrufen [zugewiesen bei der Erstellung dieser einzelnen PDF-Datei, die alle Abbildungen enthält].
Antwort1
Sie könnten dies tun, indem Sie die Beschriftungen als Makros definieren, die sich auf die Seitenzahl erweitern. Ich würde ein benutzerdefiniertes Makro verwenden, um zuerst die mehrseitige PDF-Datei zu erstellen und dann, mit einer anderen Definition, die Beschriftungsliste zu erstellen.
Da dies schwer zu verstehen ist, hier etwas Code:
Erstellen Sie eine .tex
Datei, die nur Folgendes enthält:
% filelist.tex
\myimagelist{some label}{some path/pdffile1}
\myimagelist{some other label}{some path/pdffile2}
% ....
Um das mehrseitige Dokument zu erstellen, verwenden Sie das folgende Dokument:
% allpdfs.tex
\documentclass{article}
\usepackage{pdfpages}
\newcommand{\myimagelist}[2]{\includepdf[fitpaper=true]{#2}}
\begin{document}
\input{filelist}
\end{document}
Dadurch wird jede (einzelne) PDF-Datei als Seite der resultierenden PDF-Datei eingefügt, wobei jede Seite weiterhin ihre Originalgröße haben muss.
In Ihrem tatsächlichen Dokument könnte es so aussehen:
\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}
Ich konnte den Code nicht testen, da ich derzeit an einem Familien-PC ohne installiertes LaTeX sitze, aber Sie sollten eine grundsätzliche Idee davon haben.