为什么有些包在章节标题中不起作用?

为什么有些包在章节标题中不起作用?

如果我没有正确使用本网站的格式,我深感抱歉。

我正在使用 XeLaTeX 和文章类,并尝试创建我经常使用的缩写命令。然而,在两种情况下,在正文中运行良好的命令在章节标题中使用时会导致 LaTeX 崩溃。

具体来说,似乎包中的\relsize\relscale命令relsize在用于章节标题时会导致编译崩溃(\smaller奇怪的是,不会)。我\xperiod在使用包中的命令时也遇到了同样的问题xpunctuate

是否发生了什么我不知道的事情?

编辑:在创建最小工作示例时,我可能知道哪里出了问题,但不知道如何修复它。上下文正在创建几个世纪以来法语的样式,这些样式都是用小写字母书写的,但一些粗体字体中不存在小写字母。所以我正在尝试创建一个解决方法。

以下代码有效:

\documentclass{article}

\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{relsize}
\usepackage{polyglossia}
\usepackage{xspace}
\usepackage{xpunctuate}

\newcommand{\siecle}[1]{\textsc{#1}\textsuperscript{e} siècle}

\newcommand{\boldsiecle}[1]{{\relscale{0.75}\uppercase{#1}}\textsuperscript{e} siècle}

\providecommand{\BC}[0]{\mbox{av. J.-C}\xperiod}

\begin{document}

Nous sommes au \siecle{ii} \BC

Nous sommes au \boldsiecle{ii} \BC

\textbf{Nous sommes au \siecle{ii} \BC}

\textbf{Nous sommes au \boldsiecle{ii} \BC}

\section{La vie au \boldsiecle{ii} \BC} 

Lorem ipsum 

\end{document}

在此处输入图片描述

此代码崩溃(仅hyperref已添加):

\documentclass{article}

\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{relsize}
\usepackage{polyglossia}
\usepackage{xspace}
\usepackage{xpunctuate}
\usepackage{hyperref}

\newcommand{\siecle}[1]{\textsc{#1}\textsuperscript{e} siècle}

\newcommand{\boldsiecle}[1]{{\relscale{0.75}\uppercase{#1}}\textsuperscript{e} siècle}

\providecommand{\BC}[0]{\mbox{av. J.-C}\xperiod}

\begin{document}

Nous sommes au \siecle{ii} \BC

Nous sommes au \boldsiecle{ii} \BC

\textbf{Nous sommes au \siecle{ii} \BC}

\textbf{Nous sommes au \boldsiecle{ii} \BC}

\section{La vie au \boldsiecle{ii} \BC} 

Lorem ipsum 

\end{document}

我想 hyperref 肯定与某些东西发生冲突了?发生了什么事?

相关内容