我不确定macrocode
环境打算用它做什么\box\@labels
。
- 初
\box\@labels
為無效。 - 当
macrocode
环境结束时,它会留下一些内容:\box15= \hbox(0.0+0.0)x0.0 .\glue 0.0 .\glue 0.0 .\glue -5.0 .\hbox(0.0+0.0)x0.0 .\glue 5.0
- 当另一个列表环境(比如)开始时,内容仍然存在
itemize
,而当第一个\item
出现时,内容就会被丢弃。
梅威瑟:
% \iffalse
\documentclass{article}
\usepackage{doc}
\begin{document}
\DocInput{\jobname}
\end{document}
% \fi
%
% \makeatletter
% \tracingonline1
% \showboxdepth10000
% \showboxbreadth10000
%
% \showbox\@labels ^^A -> void
%
% \begin{macrocode}
\def\MACRO{}
% \end{macrocode}
%
% \showbox\@labels ^^A -> non-void???
%
% \begin{itemize}
% \showbox\@labels ^^A -> non-void???
% \item a
% \showbox\@labels ^^A -> void
% \item b
% \showbox\@labels ^^A -> void
% \end{itemize}
%
% \showbox\@labels ^^A -> void
%
\endinput
我之所以询问是因为我们在日语 pLaTeX 中遇到以下问题:
% \iffalse
\documentclass{article}
\usepackage{doc}
\usepackage{plext}
\begin{document}
\DocInput{\jobname}
\end{document}
% \fi
%
% \begin{macrocode}
\def\MACRO{}
% \end{macrocode}
%
% \begin{minipage}<t>{10zw}
% The option `t' starts vertical writing.
% \begin{itemize}
% \item a
% \end{itemize}
% \end{minipage}
%
\endinput
此代码会产生错误:
! Incompatible direction list can't be unboxed.
\@item ...setbox \@labels \hbox {\unhbox \@labels
\hskip \itemindent \hskip ...
l.17 % \item a
?
因为\box\@labels
在 tate(垂直书写)内部使用,但当时它仍然包含 yoko(水平书写)节点。