在代码中
\begin{picture}(250,75)
% draw triangle
\put(15,10){\line(1,0){50}}
\put(65,10){\line(0,1){50}}
\put(65,60){\line(-1,-1){50}}
% draw square
\put(100,10){\line(1,0){50}}
\put(150,10){\line(0,1){50}}
\put(150,60){\line(-1,0){50}}
\put(100,60){\line(0,-1){50}}
% draw circle
\put(200,35){\circle{40}}
\end{picture}
(250,75) 是什么意思?据说这是页面上放置图片的 250 乘以 75 个单位的空间面积。但是,如果我将这些值更改为 (10,150),那么为什么数字在 x 轴上 10 个单位后仍会显示出来,因为 Ii 只允许纸张上的 10 乘以 150 的面积,而数字不应该在 X 轴上 10 个单位后显示。
答案1
符号 (X,是)(用数字代替 *x$ 和是) 表示一个坐标;在本例中,边界框右上角的坐标以 的倍数表示\unitlength
。左下角是 (0,0)。picture
环境中的所有坐标都以相同的方式考虑。
这意味着您的图片将被视为具有 的宽度250\unitlength
和 的高度75\unitlength
。 的默认值为\unitlength
1pt,但可以使用 进行更改\setlength
。
请注意,图片中位于规定边界框之外的对象仍将被绘制,并与图片旁边的文本重叠,因此您有责任正确设置边界框。
\documentclass{article}
\begin{document}
\rule{250pt}{1pt}
\medskip
\begin{picture}(250,75)
% draw triangle
\put(15,10){\line(1,0){50}}
\put(65,10){\line(0,1){50}}
\put(65,60){\line(-1,-1){50}}
% draw square
\put(100,10){\line(1,0){50}}
\put(150,10){\line(0,1){50}}
\put(150,60){\line(-1,0){50}}
\put(100,60){\line(0,-1){50}}
% draw circle
\put(200,35){\circle{40}}
% draw the bounding box
\put(0,0){\line(1,0){250}}
\put(250,0){\line(0,1){75}}
\put(250,75){\line(-1,0){250}}
\put(0,75){\line(0,-1){75}}
\end{picture}
\medskip
\setlength{\unitlength}{0.5pt}
\begin{picture}(250,75)
% draw triangle
\put(15,10){\line(1,0){50}}
\put(65,10){\line(0,1){50}}
\put(65,60){\line(-1,-1){50}}
% draw square
\put(100,10){\line(1,0){50}}
\put(150,10){\line(0,1){50}}
\put(150,60){\line(-1,0){50}}
\put(100,60){\line(0,-1){50}}
% draw circle
\put(200,35){\circle{40}}
% draw the bounding box
\put(0,0){\line(1,0){250}}
\put(250,0){\line(0,1){75}}
\put(250,75){\line(-1,0){250}}
\put(0,75){\line(0,-1){75}}
\end{picture}
\end{document}