Titlesec 的 titleformat 与 ulem

Titlesec 的 titleformat 与 ulem

我有一个非常大的文档,可以将其缩小到下面的示例,以便为小节标题提供自定义格式。

\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}}

但下划线不一致。使用ulempackage 命令\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}

在此处输入图片描述

相关内容