在这个答案中,\null
被认为等同于\hbox{}
,因此永远不需要。同样的建议或多或少是给出的这里因为它不是用户级宏,我认为这与“之后不要使用它\begin{document}
”相同。
我正在编写一个特殊日历(使用longtable
),其中某些单元格需要为空。根本没有为它们输入任何内容。我借用的原始代码\null
用于空白,但我想知道是否应该用 替换它,\hbox{}
或者它是否会产生任何有害影响。
这是精简到最基本的 MWE。我不知道//也不明白内部发生了什么,但至少 Ctrl + F 搜索和替换是一个简单的修复方法。感谢您的见解。
\documentclass[11pt]{article}
\usepackage{longtable}
\usepackage{multirow,makecell}
\begin{document}
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\setlength{\tabcolsep}{5pt}
\renewcommand{\arraystretch}{1.4}
\fontsize{8}{9}\selectfont
\begin{longtable}{>{\centering}p{0.025\textwidth}|>{\raggedright}p{0.040\textwidth}|>{\raggedleft}p{0.025\textwidth}|>{\raggedright\arraybackslash}p{0.85\textwidth}}
text & text & text & text \\ %% this looks ugly, it's fine for sample purposes.
\null & \null & \null & text \\ %% this generates empty space as needed.
\hbox{} & \hbox{} & \hbox{} & text %% it appears the same as the above line.
\end{longtable}
\normalsize
\end{document}
答案1
由于\null
与 相同\hbox{}
,因此没有区别。
但如果您什么都不输入也不会有任何区别,这实际上是首选方式。
\documentclass[11pt]{article}
\usepackage{longtable,array}
\begin{document}
\begingroup
\setlength\LTleft{0pt}
\setlength\LTright{0pt plus 1fil}
\setlength{\tabcolsep}{5pt}
\renewcommand{\arraystretch}{1.4}
\fontsize{8}{9}\selectfont
\begin{longtable}{
>{\centering}p{0.025\textwidth}|
>{\raggedright}p{0.040\textwidth}|
>{\raggedleft}p{0.025\textwidth}|
>{\raggedright\arraybackslash}p{0.7\textwidth}
}
T & T & T & T \\ %% this looks ugly, it's fine for sample purposes.
\null & \null & \null & T \\ %% this generates empty space as needed.
\hbox{} & \hbox{} & \hbox{} & T \\ %% it appears the same as the above line.
T & T & T & T \\ %% this looks ugly, it's fine for sample purposes.
& & & T \\ %% this generates empty space as needed.
& & & T \\%% it appears the same as the above line.
& & & \\ %% this generates empty space as needed.
& & & T \\%% it appears the same as the above line.
\end{longtable}
\endgroup
\end{document}