在 \vbox 中添加 \section 失败,并显示:“出现问题 - 可能缺少 \item。}”

在 \vbox 中添加 \section 失败,并显示:“出现问题 - 可能缺少 \item。}”

我想在一个框()内放置一些复杂的命令(例如\section和) ,以便以后我可以计算包含文本的块的高度。\chapter\vbox

以下是完整示例:

\documentclass[11pt]{article}

\newsavebox{\samplebox}
\newcommand{\sampleboxcommand}[1]{
    \savebox{\samplebox}{#1}
    \usebox{\samplebox}
}
\begin{document}

\sampleboxcommand{
    \section{Section X}
    \subsection{Subsection Y}
}
\end{document}

但它给了我很多错误,例如:

  • Something's wrong--perhaps a missing \item. }
  • Missing } inserted. }
  • Too many }'s. }

我的代码有什么问题?如果我用一个简单的替换\savebox和,一切都会顺利。\usebox\vbox{#1}

答案1

尽管\vbox问题中有,但您使用了\hbox。章节标题不能在水平模式上下文中使用。

如果将垂直模式材料包裹起来,\vbox那么它就可以正常工作。

\documentclass[11pt]{article}

\newsavebox{\samplebox}
\newcommand{\sampleboxcommand}[1]{%
    \savebox{\samplebox}{\vbox{#1}}%
    \noindent\usebox{\samplebox}%
}
\begin{document}

\sampleboxcommand{
    \section{Section X}
    \subsection{Subsection Y}
}
\end{document}

相关内容