我正在使用amsart
文档类。我想将标题中的文本(例如\author
)更改为正常书写,而不是小写。
- 我如何才能全局更改此设置?也就是说,所有标题(
\title
、、\author
等等\section
)中的文本都不使用小写字母。 - 我如何在本地更改它?也就是说,只在一个地方更改它。例如,如果我在字段中包含我的电子邮件地址
\author
,我不希望它以小写字母书写。将文本换行到里面\textnormal
或\textrm
不起作用。将其换行到里面是\lowercase
可行的,但我认为这不是一个好的解决方案。
答案1
虽然amsart
使用小型大写字母作为章节标题,但实际上它使用 (完整) 大写字母作为\author
和\title
。请注意,以大写和小写字母给出的标题参数将产生高度相同的大写字母。
\author
以下 MWE 以仅影响、\title
和 的方式重新定义了格式\section
:
\documentclass{amsart}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@settitle}{\uppercasenonmath\@title}{}{}{}
\patchcmd{\@setauthors}{\MakeUppercase}{}{}{}
\patchcmd{\section}{\scshape}{}{}{}
\makeatother
\begin{document}
\author{Author, A.}
\title{And now for something completely different}
\maketitle
\section{A section}
Some text.
\end{document}
答案2
我不明白为什么amsart
如果你想要自定义样式,你会使用。使用amsart
基本上只是告诉它你想使用 AMS 样式的一种方式。对我来说,这样做没有意义,但会大大偏离它的风格。如果是我,我会将常规类article
与amsmath
包一起使用,以利用没有样式的 AMS 类的强大功能,这将使你能够自由使用例如像 这样的包titling
,fancyhdr
并titlesec
用于自定义标题、页眉/页脚和节标题。
相信你能重新定义一些类的内部结构(lockstep 会告诉您如何操作),但对我来说这似乎是一种有趣的操作方式。