章节标题小写

章节标题小写

我对 LaTeX 还很陌生。按照其他问题中关于在标题中使用小写字母的示例,我尝试在将其应用到某个部分时模仿它们,但没有成功:

我在 LyX2.0 中工作。

\documentclass{book}

\usepackage{textcase}

\begin{document}
\chapter{X}
\section{Y}
\section{Introduction to A\MakeLowercase{g} compounds}

\end{document}

我收到错误:

! Undefined control sequence.
\MakeLowercase ...owercaseUnsupportedInPdfStrings 

 l.17 ...roduction to A\MakeLowercase{g} compounds}

 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.

这可能实现吗?

答案1

正如 egreg 指出的那样,该消息来自包hyperref。您需要提供部分标题的替代方案,例如可以在 PDF 书签中使用的替代方案:

\section{Introduction to \texorpdfstring{A\MakeLowercase{g}}{Ag} compounds}

答案2

对于化学元素名称永远不应该大写的问题的一般解决方案如下。

\documentclass{book}
\usepackage{hyperref}
\usepackage{kantlipsum} % just to provide mock text

\makeatletter
\DeclareRobustCommand{\element}[1]{\@element#1\@nil}
\def\@element#1#2\@nil{%
  #1%
  \if\relax#2\relax\else\MakeLowercase{#2}\fi}
\pdfstringdefDisableCommands{\let\element\@firstofone}
\makeatother

\begin{document}
\mainmatter
\chapter{X}
\section{Introduction to \element{Ag} compounds}

\kant[1-20]

\end{document}

的参数\element被拆分为第一个字母和可能的第二个字母。如果存在第二个字母,则将其传递给\MakeLowercase\element然后,将宏添加到在构建书签时可能给 带来问题的宏集中hyperref,重新定义它只是为了返回其参数。

在此处输入图片描述

相关内容