If 语句,使用 maketitle 和 titlepage

If 语句,使用 maketitle 和 titlepage

我使用 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):

enter image description here

附有扉页:

enter image description here

相关内容