Adjunte automáticamente archivos gráficos (a la salida PDF) que se utilizan en el comando \includegraphics con opciones

Adjunte automáticamente archivos gráficos (a la salida PDF) que se utilizan en el comando \includegraphics con opciones

Esta es una pregunta de seguimiento para(no solo) beamer: adjunte automáticamente archivos gráficos (a la salida PDF) que se utilizan en el comando \includegraphicsrespondido maravillosamente porDavid Carlisle.

1er bloque de preguntas

  1. Me gustaría adjuntar un archivo de texto con el mismo nombre de archivo (y el mismo destino) que la imagen que contiene la fuente, por ejemplo.

  2. Sería perfecto si esto pudiera ser "tolerante a archivos faltantes" (adjunte el archivo de texto solo si está disponible).

Aquí hay un pseudocódigo para eso:

\includegraphics[width=0.5\textwidth]{example-image.png} 
\textattachfile{example-image.png}{}
% If possible
\textattachfile{example-image.txt}{} % <-- Text file containing the source for example.

2do bloque de preguntas

  1. ¿Hay alguna manera de tener una opción adicional en el \includegraphicscomando myAttach=falsepara poder desactivar el archivo adjunto para imágenes específicas?
  2. El valor predeterminado (no se proporciona ninguna opción) debe ser que la imagen y el archivo de texto estén adjuntos.

Aquí hay un pseudocódigo para eso:

\includegraphics[width=0.5\textwidth, myAttach = false]{example-image.png}
% If "myAttach = false" is not mentioned
\textattachfile{example-image.png}{}
% If possible AND if "myAttach = false" is not mentioned
\textattachfile{example-image.txt}{} % <-- Text file containing the source for example.

MWE hasta ahora (resultado de la pregunta anterior)

\documentclass{beamer}
\usepackage{graphicx}
\usepackage{attachfile}

\makeatletter
\let\saved@Gin@setfile\Gin@setfile
\def\Gin@setfile#1#2#3{%
\saved@Gin@setfile{#1}{#2}{#3}%
\textattachfile{#3}{}}
\makeatother

\begin{document}

% For example image, see https://tex.stackexchange.com/questions/231738    

\begin{frame}[c]
\frametitle{Frame With Image}
\centering
\includegraphics[width=0.5\textwidth]{example-image.png} 
\textattachfile{example-image.png}{}
\end{frame}

\end{document}

Respuesta1

algo como

\documentclass{beamer}
\usepackage{graphicx}
\usepackage{attachfile}

\makeatletter
\let\saved@Gin@setfile\Gin@setfile

\def\Gin@setfile#1#2#3{%
\saved@Gin@setfile{#1}{#2}{#3}%
\ifGin@attach
\textattachfile{#3}{}%
{\def\Gin@ext{.txt}%
\IfFileExists{#3}{%
\textattachfile{#3}{}%
}{\PackageWarning{graphicx}{no #3 to attach}}%
}%
\fi
}
\newif\ifGin@attach\Gin@attachtrue
\define@key{Gin}{attach}[true]{%
  \lowercase{\Gin@boolkey{#1}}{attach}}

\makeatother

\begin{document}

% For example image, see http://tex.stackexchange.com/questions/231738    

\begin{frame}[c]
\frametitle{Frame With Image}
\centering
\includegraphics[width=0.3\textwidth]{example-image.png} 
\includegraphics[width=0.3\textwidth]{example-image-a.png} 
\includegraphics[width=0.3\textwidth,attach=false]{example-image-b.png} 
\end{frame}

\end{document}

ingrese la descripción de la imagen aquí

(Ejemplo donde solo example-image-a.txtestaba disponible).

información relacionada