ulem 出现 hspace 错误

ulem 出现 hspace 错误

下面的代码

\documentclass{minimal}
\usepackage{ulem}
\begin{document}
\emph{\hspace*{2in}}
\end{document}

以前没有错误,可以生成宽度为 2 英寸的带下划线的空白区域。现在使用全新的 MikTeX 安装,我收到以下错误

! Extra }, or forgotten \endgroup.
\UL@stop ...alty \ifnum \lastkern =\thr@@ \egroup 
                                                  \egroup \ifdim \wd \UL@box...
l.4 \emph{\hspace*{2in}}

以下是文件日期等。

This is pdfTeX, Version 3.14159265-2.6-1.40.21 (MiKTeX 21.1) (preloaded format=pdflatex 2021.2.7)  7 FEB 2021 13:50
entering extended mode
**./untitled-2.tex
(untitled-2.tex
LaTeX2e <2020-10-01> patch level 4
L3 programming layer <2021-01-09> xparse <2020-03-03>
("C:\Program Files\MiKTeX\tex/latex/base\minimal.cls"
Document Class: minimal 2001/05/25 Standard LaTeX minimal class
) ("C:\Program Files\MiKTeX\tex/latex/ulem\ulem.sty"
\UL@box=\box47
\UL@hyphenbox=\box48
\UL@skip=\skip47
\UL@hook=\toks15
\UL@height=\dimen138
\UL@pe=\count177
\UL@pixel=\dimen139
\ULC@box=\box49
Package: ulem 2019/11/18
\ULdepth=\dimen140
)
("C:\Program Files\MiKTeX\tex/latex/l3backend\l3backend-pdftex.def"
File: l3backend-pdftex.def 2021-01-09 L3 backend support: PDF output (pdfTeX)
\l__kernel_color_stack_int=\count178
\l__pdf_internal_box=\box50
)

答案1

更新

使用当前的 LaTeX(LaTeX2e <2021-06-01> 补丁级别 1)时,不再需要该补丁。

旧答案

\hspace命令已扩展,允许在calc加载包时进行计算。ulem尚未根据此更改更新其代码(但已通知维护者)。所需的补丁将是这样的:

\documentclass{article}
\usepackage{calc}
\usepackage{ulem}
\makeatletter
\def\@hspace#1{\begingroup\setlength\skip@{#1}%
    \edef\x{\endgroup\hskip\the\skip@\relax}\x}%
\makeatother %return @ to normal meaning
\begin{document}

\emph{\hspace*{2in+1cm}}
\end{document}

答案2

\emph{}命令用于斜体,您使用\underline{}下划线。以下 MWE 在我的计算机上生成了您想要的空白。您必须\emph{}在另一个文档或其他文件中重新定义。

\documentclass{minimal}


\begin{document}

\underline{\hspace{2 in}}

\end{document}

答案3

我不确定发生了什么变化。但是,如果您使用\kern而不是\hspace*,它就可以正常工作。

\documentclass{article}
\usepackage{ulem}
\begin{document}
x\emph{\kern2in}x
\end{document}

在此处输入图片描述

相关内容