如何画线?

如何画线?

这是美国信纸大小的横向页面。有一条线从 (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(与其他数据结合,该行会非常短);

  • Ab使用的\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环境的限制(它可以绘制的线条斜率非常有限,因为它们来自特殊字体的字形),这里最好使用 TiZ,正如 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

相关内容