如何在 LaTeX 文档 scrbook 类的标题页上的表格中添加作者姓名和日期?

如何在 LaTeX 文档 scrbook 类的标题页上的表格中添加作者姓名和日期?

我正在尝试在 scrbook 类文档中创建自定义标题页。代码如下:

\documentclass[openany]{scrbook}
\title{Sample LaTeX Book With Custome Title Page}
\author{Eva}
\date{\today}
\usepackage{blindtext}

\begin{document}
    
    \begin{titlepage}
        \begin{tabular}{|l|c|l|}
            \hline
            Name & : & \textbf{\author} \\
            \hline
            Submission Date & : & \textbf{\date} \\
            \hline
        \end{tabular}
    \end{titlepage}
\blinddocument
\end{document}

问题是第三列(我的名字和日期应该出现的地方)保持空白。我尝试在第三列中保留 @author 而不是 \author。但是当我这样做时,第三列中出现了单词“author”,而不是我的名字。我遗漏了什么?

答案1

您可以使用内部的存储宏,由\author{…}和使用\date{…}(也由\maketitle)。因为它们有内部名称使用@,你要么必须使用\makeatletter\makeatother或者\csname …\endcsname

\documentclass[openany]{scrbook}
\title{Sample LaTeX Book With Custome Title Page}
\author{Eva}
\date{\today}
\usepackage{blindtext}

\begin{document}
    
    \begin{titlepage}
        \begin{tabular}{|l|c|l|}
            \hline
            Name & : & \textbf{\csname @author\endcsname} \\
            \hline
            Submission Date & : & \textbf{\csname @date\endcsname} \\
            \hline
        \end{tabular}
    \end{titlepage}
\blinddocument
\end{document}

但我认为不让它变得简单(并避免内部宏)没有任何意义:

\documentclass[openany]{scrbook}
\usepackage{blindtext}

\begin{document}
    
    \begin{titlepage}
        \begin{tabular}{|l|c|l|}
            \hline
            Name & : & \textbf{Eva} \\
            \hline
            Submission Date & : & \textbf{\today} \\
            \hline
        \end{tabular}
    \end{titlepage}
\blinddocument
\end{document}

两个示例的结果都是:

糟糕的结果

我认为这是相当丑陋的,所以我宁愿使用类似的东西:

\documentclass[openany]{scrbook}
\usepackage{blindtext}
\usepackage{array}
\begin{document}
    
\begin{titlepage}
  \fbox{\begin{tabular}{l<{:}l}
          Name & \textbf{Eva} \\
          Submission Date & \textbf{\today} \\
        \end{tabular}}
    \end{titlepage}
\blinddocument
\end{document}

更好的

或甚至没有\fbox

相关内容