如果我没有正确使用本网站的格式,我深感抱歉。
我正在使用 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 肯定与某些东西发生冲突了?发生了什么事?