我定义了一个命令,以便更轻松地根据某些大学格式插入数字。它工作得很好,但我在尝试添加条件语句时遇到了问题。命令如下:
%\figura{fig-location}{caption}{width(0-1)}{Source(if own, leavy empty)}{label}
\newcommand{\figura}[5]{
\begin{figure}[H]
\begin{minipage}{\textwidth}
\caption[#2]{\raggedright #2}
\label{fig:#5}
\begin{center}
\includegraphics[width=#3\textwidth]{#1}\\
\end{center}
\textbf{Fuente: }#4
\end{minipage}
\end{figure}
}
输出正如我想要的那样,这是一个例子:
但是,有些图是我做的,我不需要引用这些图的来源。来源是单词 Fuente(西班牙语)。所以我想用条件修改命令,这样当我将参数留空时,它就不会在图形下#4
打印单词。即:Fuente:
如果
#4 =
,则不执行任何操作。如果是
#4 = something
,则在图下写上Fuente: #4
。
是否可以实现上述伪代码?如果可以,我该怎么做?
我在另一篇文章中发现了这一点,但它只适用于精确的单词“某物”,我需要它与空参数以外的任何事物一起工作:
\documentclass{article}
\usepackage{xstring}
\newcommand{\example}[2]{%
\IfEqCase{#1}{%
{}{$\sqrt{#2}$}%
{something}{Fuente: XYZ}%
% you can add more cases here as desired
}
[\PackageError{tree}{Undefined option to tree: #1}{}]%
}%
\begin{document}
\example{}{None}
\example{something}{}
\end{document}
答案1
更新。
我做到了,这是新版本的命令:
\newcommand{\figura}[5]{
\begin{figure}[H]
\begin{minipage}{\textwidth}
\caption[#2]{\raggedright #2}
\label{fig:#5}
\begin{center}
\includegraphics[width=#3\textwidth]{#1}\\
\end{center}
\ifstrequal{#4}{}%
{}%
{\textbf{Fuente: }#4}%
\end{minipage}
\end{figure}
}