![如何画线?](https://linux22.com/image/411217/%E5%A6%82%E4%BD%95%E7%94%BB%E7%BA%BF%EF%BC%9F.png)
这是美国信纸大小的横向页面。有一条线从 (0,0) 到 (11in, 7.5in)。
这在 TeX 中可以做到吗?
以下是我目前所掌握的信息:
\documentclass{article}
\usepackage[paperheight=11in,paperwidth=8.5in,margin=0cm]{geometry}
\usepackage{pdfpages}
\begin{document}
\begin{picture}(0,0)
\put(0,0){\line(3,-0.35){4}} % <-- I have no idea how this works
\end{picture}
\end{document}
我不知道上面提到的代码行是如何工作的。但它确实画了一条线,并且由于某种原因添加了文本。我可以让这个工作,以便它画出所需的线吗?
答案1
关于示例环境的\put(0,0){\line(3,-0.35){4}}
内部picture
,尝试从点 (0,0) 开始并沿方向 (3,-0.35) 绘制长度为 4 的线(以 表示\unitlength
)是失败的。这不能很好地工作,因为:
您没有指定 的值
\unitlength
,因此您得到了默认值1pt
(与其他数据结合,该行会非常短);这A和b使用的
\line(a,b){length}
数值限制为 [-6,6] 范围内的整数,因此 -0.35 显然是不可能的。
您可以picture
在以下位置找到有关环境的更多信息www.dickimaw-books.com,但您应该已经意识到它的功能相当有限(这是一个非常古老的环境)。在结束本章之前,以下示例提供了更合理的输出:
\documentclass{article}
\begin{document}
\begin{picture}(0,0)
\setlength{\unitlength}{1cm}
\put(0,0){\line(5,-3){4}}
\end{picture}
\end{document}
由于picture
环境的限制(它可以绘制的线条斜率非常有限,因为它们来自特殊字体的字形),这里最好使用 Ti钾Z,正如 daleif 所建议的。使用节点可以非常轻松地完成您想要的操作current page
。请参阅引用当前页面节点 – 绝对定位在里面钛钾Z 和 PGF 手册更多细节。
\documentclass[letterpaper,landscape]{article}
\usepackage{tikz}
\pagestyle{empty} % don't print the page number
\begin{document}
\begin{tikzpicture}[remember picture, overlay]
\draw (current page.north west) -- (current page.south east);
\end{tikzpicture}
\end{document}
答案2
你不需要使用大型 TikZ 包来完成如此简单的任务。一个\pdfliteral
就足够了。例如在 OpTeX 格式中:
\useoptex % OpTeX format
\margins/1 (11,7.5) (1,1,1,1)in % letter landscape, 1in margins
\pgbackground={\pdfliteral{q 1 w 0 0 m \_bp{\pdfpagewidth} -\_bp{\pdfpageheight} l S Q}}
\nopagenumbers \null % nothing to print
\bye