我必须做几个这样的数字:
\begin{figure}[h!]
\centering
\includegraphics[trim = 9.55cm 1.8cm 10.25cm 4.05cm, clip,width=1\textwidth]{./../ficherosComunes/images/capturaapp/01-actividadprincipal.png}
\caption{Captura de pantalla de ActividadPrincipal.java}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[trim = 9.55cm 1.8cm 10.25cm 4.05cm, clip,width=1\textwidth]{./../ficherosComunes/images/capturaapp/02-listadoficheros.png}
\caption{Captura de pantalla de ActividadFicheros.java.}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[trim = 9.55cm 1.8cm 10.25cm 4.05cm, clip,width=1\textwidth]{./../ficherosComunes/images/capturaapp/03-listadoficherodetalles.png}
\caption{Captura de pantalla de ActividadFicheroDetalles.java.}
\end{figure}
可以看出,所有时间都是重复的。trim = 9.55cm 1.8cm 10.25cm 4.05cm, clip,width=1\textwidth
是否可以将其写入变量中?我尝试定义,\newcommand{\texttrim}{trim = 9.55cm 1.8cm 10.25cm 4.05cm, clip,width=1\textwidth}
但如果将其作为选项,则不起作用。我还尝试定义长度(至少定义修剪长度),但它们也不起作用。
答案1
做这件事有很多种方法:
1. 定义一个新命令
(正如 carsten 所说)
\newcommand{\trimmedgraphic}[2][]{%
\includegraphics[trim = 1cm 2cm 1cm 2cm,clip,width=1\textwidth,#1]%
{#2}%
}
您可以使用可选参数定义命令,以便能够将其他选项传递给\includegraphics
。您可以{figure}
根据需要添加内容。
2. 定义一个命令来预设按键
\newcommand{\settrimming}{%
\setkeys{Gin}{%
trim = 1cm 2cm 1cm 2cm,clip=true,
width=\textwidth,
}
\presetkeys{Gin}{clip}{}
}
如果您使用,则\settrimming
所有后续图形都将被修剪。您可以在序言中使用它(然后您可以直接使用定义,而不需要将其包装在中\settrimming
),或者在组(如{figure}
env)中使用它来限定其效果。请注意,您需要xkeyval.sty
以这种方式加载。
3. 使用\edef
和\expandafter
\edef\trimoptions{trim = 1cm 2cm 1cm 2cm, clip,width=1\textwidth}
您可以使用它\edef
来存储选项,然后通过添加两个选项使其在选项列表中可用\expandafter
:
\expandafter\includegraphics\expandafter[\trimoptions]{example-image}
完整的 MWE 示例
\documentclass{article}
\usepackage{xkeyval}% necessary for \presetkeys
\usepackage{graphicx}
\newcommand{\trimmedgraphic}[2][]{%
\includegraphics[trim = 1cm 2cm 1cm 2cm,clip,width=1\textwidth,#1]%
{#2}%
}
\newcommand{\settrimming}{%
\setkeys{Gin}{%
trim = 1cm 2cm 1cm 2cm,clip=true,
width=\textwidth,
}
\presetkeys{Gin}{clip}{}
}
\edef\trimoptions{trim = 1cm 2cm 1cm 2cm, clip,width=1\textwidth}
\begin{document}
\begin{figure}
\includegraphics[trim = 1cm 2cm 1cm 2cm, clip,width=1\textwidth]%
{example-image}
\caption{Normal figure}
\end{figure}
\begin{figure}
\trimmedgraphic{example-image-a}
\caption{Figure using trimmedgraphic}
\end{figure}
\begin{figure}
\trimmedgraphic[width=0.5\textwidth]{example-image-b}
\caption{Figure using trimmedgraphic}
\end{figure}
\begin{figure}
\settrimming
\includegraphics{example-image-c}
\caption{Figure using settrimming}
\end{figure}
\begin{figure}
\expandafter\includegraphics\expandafter[\trimoptions]{example-image}
\caption{Figure using edef and expandafter}
\end{figure}
\end{document}
答案2
您可以将整个内容定义为一个命令,并将图形详细信息作为参数,如下所示
\newcommand\myfigure[2]{%
\begin{figure}[h!]
\centering
\includegraphics[trim = 9.55cm 1.8cm 10.25cm 4.05cm, clip,width=1\textwidth]%
{#1}
\caption{#2}
\end{figure}%
}
然后简单地像这样调用它
\myfigure{./../ficherosComunes/images/capturaapp/01-actividadprincipal.png}{Captura de pantalla de ActividadPrincipal.java}