![为什么某些 TeX 基元永远不能在 LaTeX 中直接设置?](https://linux22.com/image/287714/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9F%90%E4%BA%9B%20TeX%20%E5%9F%BA%E5%85%83%E6%B0%B8%E8%BF%9C%E4%B8%8D%E8%83%BD%E5%9C%A8%20LaTeX%20%E4%B8%AD%E7%9B%B4%E6%8E%A5%E8%AE%BE%E7%BD%AE%EF%BC%9F.png)
在先前的一个问题中章节开头的摘要命令更加经济、强大David Carlisle 说过,永远不要直接使用某些 TeX 基元。如何区分哪些基元可以安全使用?
答案1
好吧,我没有说任何原始的,但特别是那些(\leftskip
和\rightskip
)是不宜触碰的。
LaTeX 列表环境(几乎所有的 latex 显示环境,因此不仅仅是enumerate
,center
,verbatim
等等quote
)都需要知道在考虑当前缩进级别后,行上有多少可用空间。LaTeX 有几个必须一起更新的参数,\leftmargin
,\linewidth
,\@totalleftmargin
,应该适合。如果您更改而不更改整个 LaTeX 参数结构\textwidth
,那么 LaTeX 将不会“知道”您已经缩进内容,并且所有此类环境都将根据它们认为有效的设置来布局,根据具体情况,这些设置可能看起来不错或很糟糕,但如果看起来不错,那是运气好,而不是设计 :-)\hsize
\leftskip