Figuras extraídas de páginas PDF según su etiquetado en látex.

Figuras extraídas de páginas PDF según su etiquetado en látex.

Tengo docenas de figuras en mi látex con nombres diferentes. Quiero ponerlos en un único archivo PDF y llamar a cada figura desde allí mediante algo como \includegraphics[page="label3"]{foo}en lugar de \includegraphics[page=3]{foo}. En otras palabras, quiero llamar figuras de un PDF según su etiquetado adecuado [asignado al crear este único archivo PDF que contiene todas las figuras].

Respuesta1

Puede hacerlo definiendo las etiquetas de las macros que se expanden hasta el número de página. Usaría una macro personalizada para crear primero el PDF de varias páginas y luego, con una definición diferente, para crear la lista de etiquetas.

Debido a que esto es difícil de entender, aquí hay algún código:

Cree un .texarchivo que contenga solo lo siguiente:

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

Para crear el documento de varias páginas utilice el siguiente documento:

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

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

Esto colocará cada PDF (una sola página) como una página del PDF resultante, donde cada página todavía tiene el tamaño original.

En su documento real podría verse así:

\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}

No pude probar el código porque actualmente estoy sentado en una PC familiar sin LaTeX instalado, pero deberías tener una idea principal.

información relacionada