我在一个灰色方块内画了一个黄色方块,正好在中间。出乎意料的是,黄色方块没有水平对齐,而是向右移动了:
为什么?如果我理解正确的话,黄色方块应该在 x=37 处结束,灰色方块应该在 x=38 处结束。
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\setlength{\unitlength}{1mm}
\hrule\noindent
\begin{picture}(40,40)
\linethickness{36mm}
\color{gray}
\put(2,20){\line(1,0){36}}
\linethickness{34mm}
\color{yellow}
\put(3,20){\line(1,0){34}}
\end{picture}
\hrule
\end{document}
答案1
图片模式命令尝试忽略指令之间的空白,但\color
失败了,所以你看到后面有空格\color
。请注意,TeX 主要设计为文本排版语言,空格不是大多数编程语言中的语法装饰,它(通常)是一种操作说明在该点添加可伸缩的词间空间。
最好避免在图片模式中排版任何不在里面的内容,\put
这样
\color{yellow}
\put(3,20){\line(1,0){34}}
不是
\put(3,20){\color{yellow}\line(1,0){34}}
虽然\color
事实上\put
,只要你避免在它周围增加空间,它外面是安全的
\color{yellow}%
的定义\linethickness
已更改(2020 年版本),以避免出现这个多余的空间。