相关这个问题但是,我却无法解决我的问题。
让我先介绍一下背景知识。我想在文章样式和特定期刊样式之间切换。期刊样式有用于摘要、证明、附录等的特定命令。变量\var
表示我使用的是文章样式 (0) 还是期刊样式 (1)。让我们假设该命令\ABSTRACT
由期刊使用,并且它接受一个参数作为实际摘要。因此,通常您会将摘要打印为\ABSTRACT{This is my abstract.}
。
以下 MWE 不起作用,错误在于它缺少结束论点 }。
平均能量损失
\documentclass{article}
\usepackage{ifthen}
\newcommand{\var}{1}
\newcommand{\ABSTRACT}[1]{\begin{abstract}#1\end{abstract}}
\begin{document}
\ifthenelse{\var = 1}{\ABSTRACT\bgroup}{\begin{abstract}}%
This is my abstract.%
\ifthenelse{\var = 1}{\egroup}{\end{abstract}}%
Some other text below the abstract.
\end{document}
答案1
宏分隔符括号必须是明确的 catcode 1 和 2 个字符,(通常{}
)它们不能是\bgroup\egroup
。你可以这样做
\documentclass{article}
\usepackage{ifthen}
\newcommand{\var}{1}
\newcommand{\ABSTRACT}[1]{\begin{abstract}#1\end{abstract}}
\begin{document}
\ifthenelse{\var = 1}
{\newcommand\myabstract[1]{\ABSTRACT{#1}}}
{\newcommand\myabstract[1]{\begin{abstract}#1\end{abstract}}}
\myabstract{This is my abstract.}
Some other text below the abstract.
\end{document}