![画线将页面分成 2、3、4……等份](https://linux22.com/image/468985/%E7%94%BB%E7%BA%BF%E5%B0%86%E9%A1%B5%E9%9D%A2%E5%88%86%E6%88%90%202%E3%80%813%E3%80%814%E2%80%A6%E2%80%A6%E7%AD%89%E4%BB%BD.png)
按照将一页分成两个相等部分的主题,我不知道如何在页面的四分之一处画一条线。我的目标是在同一页上创建一些我可以轻松剪切的多个短测试(参见图片)。它们必须具有相同的高度。
这是一个起点。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikz[overlay,remember picture]
\draw (current page.west) -- (current page.east); %% <-- should draw a line at the end of the first quarter
\draw (current page.west) -- (current page.east); %% <-- should draw a line at the end of the second quarter
\draw (current page.west) -- (current page.east); %% <-- should draw a line at the end of the third quarter
\end{document}
在最常见的情况下,如何让 TikZ 知道我想要页面 XX% 处的节点绘制几条线?锚点east
/west
不够。
现在,我用
\vfill
\hrule
\smallskip
我尝试手动保持文本相同的高度......这并不容易。
答案1
如果你不必使用 TikZ,你可以尝试shipout
。它们不会干扰文本主体,因此不能通过添加一些文本或间距命令来“向上或向下推”:
\documentclass[a4paper]{article}
\AddToHook{shipout/background}[dashedlines]{%
\put(0,-.25\paperheight){%
\multiput(2,0)(5,0){120}{\line(1,0){2pt}}%
}%
\put(0,-.5\paperheight){%
\multiput(2,0)(5,0){120}{\line(1,0){2pt}}%
}%
\put(0,-.75\paperheight){%
\multiput(2,0)(5,0){120}{\line(1,0){2pt}}%
}%
}%
\begin{document}
Test
\end{document}
... 得到:
我使用了虚线,这可能更适合作为切割标记。当然直线也可以。
RemoveFromHook{shipout/background}[dashedlines]
可以通过在文档的某处插入命令来从特定点删除线条。
编辑:内容框
您可以使用一些框来定义每个季度的内容。
0pt
我使用包设置了整个文档的边距geometry
,然后使用\fboxsep
每个边距\colorbox
作为单独的框边距。每个框的背景颜色仅用于说明边框:
\documentclass[a4paper]{article}
\usepackage[margin=0pt]{geometry}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{blindtext}
\setlength{\parindent}{0pt}
\setlength{\fboxsep}{1.5em}
\setlength{\parskip}{0pt}
\AddToHook{shipout/foreground}[dashedlines]{%
\put(0,-.25\paperheight){%
\multiput(2,0)(5,0){120}{\line(1,0){2pt}}%
}%
\put(0,-.5\paperheight){%
\multiput(2,0)(5,0){120}{\line(1,0){2pt}}%
}%
\put(0,-.75\paperheight){%
\multiput(2,0)(5,0){120}{\line(1,0){2pt}}%
}%
}%
\begin{document}
\colorbox{gray!50}{
\begin{minipage}[][\dimexpr.25\paperheight-2\fboxsep][t]{\dimexpr \paperwidth-2\fboxsep}
\blindtext
\end{minipage}
}\par \nointerlineskip
\colorbox{gray!20}{
\begin{minipage}[][\dimexpr.25\paperheight-2\fboxsep][t]{\dimexpr \paperwidth-2\fboxsep}
\blindtext[2]
\end{minipage}
}\par \nointerlineskip
\colorbox{gray!50}{
\begin{minipage}[][\dimexpr.25\paperheight-2\fboxsep][t]{\dimexpr \paperwidth-2\fboxsep}
\blindtext
\end{minipage}
}\par \nointerlineskip
\colorbox{gray!20}{
\begin{minipage}[][\dimexpr.25\paperheight-2\fboxsep][t]{\dimexpr \paperwidth-2\fboxsep}
\blindtext
\end{minipage}
}\par \nointerlineskip
\end{document}
唯一要注意的方面是:如果框内的文本太长并超出定义的高度,它将忽略\fboxsep
框底部的文本。
当然,其他框设置也是可能的。为了重复,您可以将框设置包装在新命令中,例如
\NewDocumentCommand{\mytextbox}{+m}{%
\colorbox{gray!20}{%
\begin{minipage}[][\dimexpr.25\paperheight-2\fboxsep][t]{\dimexpr \paperwidth-2\fboxsep}
#1
\end{minipage}
}\par \nointerlineskip
name:.............
这也为您提供了声明一些默认文本等的可能性。
这只是一个额外的想法;)