我使用 NewEnviron 包创建了一个新环境,如下所示
\NewEnviron{AbstractTitle}{
\twocolumn[
% \maketitle
\begin{onecolabstract}\noindent
\BODY
\end{onecolabstract}\vspace{.5cm}
]
}
我想要一个条件,在调用 AbstractTitle 环境之前测试我是否使用了 \begin{titlepage},这样我就不必在每次想要在 titlepage 和 maketitle 之间切换时都更改它。(我还没有深入研究过 TeX 的 if 语句,所以我可能在这里有点无知。。)
\documentclass[twocolumn, twoside, draft]{article}
\usepackage{abstract}
\usepackage{environ}
\NewEnviron{AbstractTitle}{
\twocolumn[
% \maketitle
\begin{onecolabstract}\noindent
\BODY
\end{onecolabstract}\vspace{.5cm}
]
}
\begin{document}
\begin{titlepage}
\begin{center}
\vspace*{1cm}
\Huge
\textbf{Machine Learning}
\vspace{0.5cm}
\LARGE
and stuff
\end{center}
\end{titlepage}
\begin{AbstractTitle}
Abstract
\end{AbstractTitle}
\end{document}
答案1
使用该etoolbox
包,您可以修改titlepage
环境以在使用环境时设置切换(布尔标志)。在新的抽象环境中,您可以检查此切换,并且\maketitle
仅在切换为 false 时调用。
梅威瑟:
\documentclass[twocolumn, twoside, draft]{article}
\usepackage{abstract}
\usepackage{environ}
\usepackage{etoolbox}
\title{My title}
\newtoggle{tpage} % note: toggles are false by default
\AtBeginEnvironment{titlepage}{\global\toggletrue{tpage}}
\NewEnviron{AbstractTitle}{
\twocolumn[
\iftoggle{tpage}{}{\maketitle}
\begin{onecolabstract}\noindent
\BODY
\end{onecolabstract}\vspace{.5cm}
]
}
\begin{document}
%\begin{titlepage}
% \begin{center}
% \vspace*{1cm}
% \Huge
% \textbf{Machine Learning}
% \vspace{0.5cm}
% \LARGE
% and stuff
% \end{center}
%\end{titlepage}
\begin{AbstractTitle}
My abstract
\end{AbstractTitle}
\end{document}
结果(无titlepage
):
附有扉页: