我有一个非常大的文档,可以将其缩小到下面的示例,以便为小节标题提供自定义格式。
\documentclass[]{article}
\usepackage{ulem}
\usepackage[explicit]{titlesec} %title control and formatting
\title{Test Paper}
\author{John Dover}
\titleformat{\subsection}{\normalfont}{\uline{\thesubsection}}{0em}{\uline{\hspace{1em}#1}}
\begin{document}
\maketitle
\section{Test}
\subsection{Ooopsie doopsie}
\end{document}
这以前有效,但现在当我编译时,我得到了不祥的错误
Extra }, or forgotten \endgroup. \subsection{Ooopsie doopsie}
uline
可以通过从命令中删除\titleformat
并将其替换underline
为来解决此问题
\titleformat{\subsection}{\normalfont}{\underline{\thesubsection}}{0em}{\underline{\hspace{1em}#1}}
但下划线不一致。使用ulem
package 命令\ul
会给出原始错误。
我正在使用 Miktex / TexStudio,最近不得不更新一些东西。随后,我发现了这些错误,但我不知道为什么。最近有变化吗?还是这本来就不应该起作用?
答案1
命令\hspace
已更改。它现在支持 calc 语法(如果使用 calc 包,您可以执行例如添加操作),但这使其变得脆弱ulem
。
您可以将其放入\hspace
盒子中以防止\uline
:
\documentclass[]{article}
\usepackage{ulem}
\usepackage[explicit]{titlesec} %title control and formatting
\title{Test Paper}
\author{John Dover}
\titleformat{\subsection}{\normalfont}{\uline{\thesubsection}}{0em}{\uline{\mbox{\hspace{1em}}#1}}
\begin{document}
\maketitle
\section{Test}
\subsection{Ooopsie doopsie}
\end{document}