简化多次设置相同属性的操作

简化多次设置相同属性的操作

我刚刚发现自己的图形包含多个具有完全相同选项的图像文件。有没有办法避免这种重复?(如果需要,这也会减少更改这些选项的麻烦。)

\begin{figure}
\centering
\includegraphics[trim=1cm 2cm 3cm 4cm,clip]{imagefile1.pdf}
\includegraphics[trim=1cm 2cm 3cm 4cm,clip]{imagefile2.pdf}
\includegraphics[trim=1cm 2cm 3cm 4cm,clip]{imagefile3.pdf}
\end{figure}

编辑:例如在 tikz 图像中,您可以使用\tikzstyle{my style}=[<tikz options>](参见例如这里),普通乳胶中存在类似的东西吗?

答案1

您可以设置trim密钥;但是,clip似乎每次调用时都会重置,因此您需要*

\documentclass{article}
\usepackage{graphicx}

\begin{document}

\begin{figure}
\centering
\setkeys{Gin}{trim=1cm 2cm 3cm 4cm}

\includegraphics*{example-image-a} \\
\includegraphics*{example-image-b} \\
\includegraphics*{example-image-c}

\end{figure}

\end{document}

在此处输入图片描述

答案2

这不会消除单独的调用,但会简化每次调用,并可以轻松地一次性更改每次调用的可选参数。

虽然 MWE 不会消除单独调用,但如果文件名遵循系统命名约定,则可能会这样做。在这种情况下,\foreach可以设置外观,正如 Christian 在评论中所建议的那样。

编辑以提供宏\settrim(使用示例,\settrim{1cm 2cm 3cm 4cm})。

\documentclass{article}
\usepackage{graphicx}
\let\trimparms\relax
\newcommand\xincludegraphics[1]{%
  \expandafter\includegraphics\expandafter[\trimparms]{#1}}
\newcommand\settrim[1]{\def\trimparms{trim=#1,clip}}
\begin{document}
\begin{figure}
\settrim{1cm 2cm 3cm 4cm}
\centering
\xincludegraphics{example-image-a}\\
\xincludegraphics{example-image-b}\\
\xincludegraphics{example-image-c}
\end{figure}
\begin{figure}
\settrim{2cm 2cm 4cm 5cm}
\centering
\xincludegraphics{example-image-a}\\
\xincludegraphics{example-image-b}\\
\xincludegraphics{example-image-c}
\end{figure}
\end{document}

在此处输入图片描述

相关内容