自動附加在帶有選項的 \includegraphics 命令中使用的圖形檔案(到 PDF 輸出)

自動附加在帶有選項的 \includegraphics 命令中使用的圖形檔案(到 PDF 輸出)

這是一個後續問題(不僅)beamer:自動附加 \includegraphics 指令中使用的圖形檔案(到 PDF 輸出)漂亮地回答了大衛卡萊爾

第一個問題區塊

  1. 例如,我想附加一個與包含來源的圖片具有相同檔案名稱(和相同目標)的文字檔案。

  2. 如果這可以是「容忍遺失檔案」(僅附加可用的文字檔案),那就完美了。

這是一個偽代碼:

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

第二個問題區塊

  1. 有沒有辦法在\includegraphics命令中添加附加選項myAttach=false,以便我可以停用特定圖片的附加功能?
  2. 預設(未給出選項)應附加圖片和文字檔案。

這是一個偽代碼:

\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(上一個問題的結果)

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

答案1

就像是

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

在此輸入影像描述

(僅example-image-a.txt可用的範例。)

相關內容