longfbox 包错误

longfbox 包错误

我定义了一个框来包含指令文件中每个部分的标题。我已经使用这个个人定义的框很长时间了,它一直运行良好。MWE 如下:

\ducumentclass{article}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{longfbox}

\newcommand*{\mylbox}[1]{\lfbox[border-style=double, border-width=3pt, width = \textwidth, 
padding=4pt]{\textbf{\centerline{\Large #1}}}}

\newcommand*{\mysbox}[1]{\centerline{\lfbox[border-radius = 1.5ex, border-width=2pt,
 padding=4pt, padding-left = 10em, padding-right = 10em]{\textbf{\large #1}}}}

\begin{document}
\mylbox{General Information}
\end{document}

但是,当我对文本进行一些更改时(这不可能是原因),我在编译文件时收到很多错误。这些错误消息的两个示例如下:

引用!未定义的控制序列。\fbox@border@hcornerarc@ ...er -x}\fi @tempdimd \fbox@adjusty {@tempdimb ... l.71 \mylbox{一般信息}

引用!您不能在受限水平模式下使用“\dimexpr”。\fbox@adjusty #1->\dimexpr \option {/fbox/@border-box-height} - #1\relax l.71 \mylbox{一般信息}

可以找到更完整的错误消息列表这里

问题是什么?我唯一做的事情就是两天前通过 MikTex 更新了许多软件包。没有其他问题。

如果您还需要有关特定错误的更多详细信息,请告诉我。

答案1

不幸的是,依赖于曾经由分配但现在不再由分配的longfbox临时寄存器。\@tempdimdpict2e

您可以通过添加来解决问题

\makeatletter
\newdimen\@tempdimd
\makeatother

在您的文档序言中。顺便说一句,没有必要\centerline

\documentclass{article}
\usepackage{longfbox}

\makeatletter
\newdimen\@tempdimd
\makeatother

\newcommand*{\mylbox}[1]{%
  \lfbox[
    border-style=double,
    border-width=3pt,
    width = \dimexpr\textwidth-14pt,
    padding=4pt,
  ]{\hfill\bfseries\Large #1\hfill}%
}

\begin{document}

\noindent\mylbox{General Information}

\end{document}

在此处输入图片描述

注:感谢 campa 在评论中指出\@tempdimd曾经存在的内容pict2e

相关内容