![如何在 \author{} 中跨越 \textit{} 和 \Large 几行](https://linux22.com/image/281883/%E5%A6%82%E4%BD%95%E5%9C%A8%20%5Cauthor%7B%7D%20%E4%B8%AD%E8%B7%A8%E8%B6%8A%20%5Ctextit%7B%7D%20%E5%92%8C%20%5CLarge%20%E5%87%A0%E8%A1%8C.png)
我想\textit{}
在\author{}
标签中跨越几行。
到目前为止我知道我可以做到这一点(但这里\LARGE
只会影响Name
):
% title
\title{\textbf{Cool title}}
\author{\LARGE Name\\
\emph{University}\\
\emph{Faculty}\\
\emph{[email protected]}
}
\date{} % Do not print the date on the final paper!
\maketitle
但如果我尝试
\author{\LARGE{Name\\
\emph{University\\
Faculty\\
[email protected]}
}
}
我收到以下错误:
There were errors in your LaTeX source
./main.tex:60: Missing } inserted. [\maketitle]
./main.tex:60: Missing } inserted. [\maketitle]
./main.tex:60: Missing \cr inserted. [\maketitle]
./main.tex:60: Missing \cr inserted. [\maketitle]
./main.tex:60: Misplaced \cr. [\maketitle]
编辑
\author{\itshape Name\\
University\\
Faculty\\
[email protected]
}
这也只会产生影响Name
。
编辑
我使用以下documentclass
\documentclass[a4paper,11pt]{article}
答案1
地址的排版是在单列tabular
环境中进行的,因此
\emph{First line\\
second line}
是非法的,因为
\begin{tabular}{c}
\emph{First line\\
second line
\end{tabular}
最简单的补救方法是使用包authblk
:
\documentclass{article}
\usepackage{authblk}
\renewcommand{\Authfont}{\LARGE\normalfont}
\renewcommand{\Affilfont}{\normalsize\itshape}
\begin{document}
\title{Some title}
\author{Name}
\affil{University\\
Faculty\\
[email protected]}
\maketitle
\end{document}
答案2
发生这种情况的原因是,LaTeX 在内部将作者排版在表格环境中。也就是说,article.cls
包括一个定义,\maketitle
其中包括
\begin{tabular}[t]{c}
\@author
\end{tabular}
因此字体选择以与表格中任何条目相同的方式“分组”。这也是为什么如果您尝试使用例如\emph
跨行使用 eg 时会出现错误的原因。
该titling
包可用于重新定义\maketitle
命令的元素。此示例在排版您的所属机构和电子邮件详细信息之前,在您的姓名下方添加了一个小空格。它定义了一个新命令\affiliation{}
来保存这些不使用表格环境的详细信息。它还将字体形状选择构建到的重新定义中\maketitle
。
\documentclass[a4paper,11pt]{article}
\usepackage{titling}
\pretitle{\begin{center}\LARGE\bfseries}
\preauthor{\begin{center}
\LARGE \lineskip 0.5em%
\begin{tabular}[t]{c}}
\postauthor{\end{tabular}\end{center}}
\newcommand{\affiliation}[1]{%
\gdef\affil{#1}}
\renewcommand{\maketitlehookc}{%
\centering\itshape \affil\par}
% title
\title{Cool title}
\author{Name}
\affiliation{University\\
Faculty\\
[email protected]
}
\date{} % Do not print the date on the final paper!
\begin{document}
\maketitle
\end{document}
答案3
我为此苦恼了很多次。我建议你放弃,然后按照我的做法做:
\LARGE
重新输入每一行。如果你需要更改行距,你可以随时使用\renewcommand\baselinestretch
你需要的任何数字。
答案4
自最近发布的 3.12 版以来,使用任何 KOMA-Script 类或与标准类结合的包,scrextend
以下操作均可行。因此,对于后一种情况,您可以这样做:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[extendedfeature=title]{scrextend} % adds several KOMA-Script
% specific features
\addtokomafont{author}{\Huge\em} % KOMA-Script command
\begin{document}
\title{\textbf{Cool title}}
\author{\textup{Name}\\
University\\
Faculty\\
[email protected]
}
\date{}
\maketitle
\end{document}
KOMA-Script 特定的标题功能必须在 中明确激活scrextend
。请注意,我添加了\Huge\em
为整个条目添加了 (非常大,只是为了让它更显眼),然后从仅强调“名称”切换回来。
在所有早期的 KOMA-Script 版本(包括 3.11b)中,该命令\addtokomafont{author}{…}
不起作用。KOMA-Script 还会将所有标题切换为无衬线字体。如果不喜欢,可以在 之前或之后添加以下行\addtokomafont…
:
\setkomafont{disposition}{\rmfamily}