阻止回忆录在标题中将数学模式部分名称变为大写

阻止回忆录在标题中将数学模式部分名称变为大写

我正在用 排版我的论文memoir,总体来说我对结果很满意。但是,我的一些章节标题有数学模式文本,就像标题中滑稽地变成的\section{The $\phi_{ij}$ matrix}那样。我是回忆录的新手,所以我真的不知道该怎么做。 memoir$\phi_{IJ}$

有没有办法告诉它在打印标题时将数学模式保留为小写?

我正在使用 XeLaTeX,昨天通过 tlmgr 下载了 TeX live。完整示例,包括可能干扰的软件包:

\documentclass[12pt]{memoir} 
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{multirow}
\usepackage[margin=1.4in]{geometry}
\usepackage{graphicx}
\usepackage{changepage}
\usepackage{url}
\usepackage{hyperref}
\usepackage{subfig}
\usepackage{standalone}
\usepackage[section]{placeins}
\usepackage{longtable}
\usepackage{rotating}
\usepackage{pdflscape}
\usepackage{supertabular}
\usepackage{nth}
\usepackage[normalem]{ulem}
\linespread{1.5}
\begin{document}

\chapter{This is a chapter}

\section{The $\phi_{ij}$ Matrix}

\chapter{Another chapter}

\section{Density - $\omega^j_c$}

\end{document}

它看起来是这样的: 渲染示例

答案1

如果你想要大写标题,那么说

\usepackage[overload]{textcase}

它将会改变\MakeUppercase\MakeLowercase变成“数学感知”命令。

在旁边

我应该提一下有关你的序言的几件事。

  • hyperref应最后加载;
  • 同时加载longtablesupertabular
  • memoir有自己的方法来设置行距,而且\linespread{1.5}在很多情况下,只说“行距”是有缺陷的
  • 当章节标题中包含数学时,请考虑使用\texorpdfstring:例如

    \section{Density --- \texorpdfstring{$\omega^j_c$}{omega j c}}
    

    避免了许多消息hyperref

答案2

事实上,这似乎是 的标准行为memoir。以下是 的一些定义memoir.cls

\newcommand*{\nouppercaseheads}{\let\memUChead\relax}
\newcommand*{\uppercaseheads}{\let\memUChead\MakeUppercase}
\uppercaseheads

尝试添加\nouppercaseheads你的序言。

确实,\MakeUppercase应该将其更改为一些“数学感知”的东西,就像\uppercasenonmathams 文档类中定义的一样。(我已经写信给的维护者memoir.cls提出建议。)

相关内容