我的论文中有一个部分叫做:的表示$\mathfrak{g}_2$
,但每个标题包都会将其转换为$\mathfrak{G}_2$
(大写哥特式字母)的表示。
我怎么解决这个问题?
答案1
LaTeX 的标准类用于\MakeUppercase
将章节标题的字母转换为大写。转换不了解参数、数学……
解决方法:
字母“g”可以隐藏在宏内,例如:
\documentclass{article} \usepackage{amssymb} \DeclareRobustCommand{\mathfrakg}{\mathfrak{g}} \pagestyle{headings} \begin{document} \section{Test $\mathfrakg_2$} \end{document}
\DeclareRobustCommand
防止\makefrakg
内部扩张\MakeUppercase
。转换回小写:
\documentclass{article} \usepackage{amssymb} \pagestyle{headings} \begin{document} \section{Test $\mathfrak{\lowercase{g}}_2$} \end{document}
首先
\MakeUppercase
将更改为g
。G
稍后\lowercase
执行并转换G
回g
。
答案2
使用textcase
包:
\documentclass{article}
\usepackage{amssymb}
\usepackage[overload]{textcase}
\pagestyle{headings}
\begin{document}
\section{Test $\mathfrak{g}_2$}
\end{document}
然而,最好的办法是避免标准类的自动大写功能,在我看来,这是其设计中最大的缺陷。当标题包含数学时,大写是不可能实现的。
\documentclass{article}
\usepackage{amssymb}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\itshape\nouppercase{\leftmark}}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\begin{document}
\section{Test $\mathfrak{g}_2$}
\end{document}