画线将页面分成 2、3、4……等份

画线将页面分成 2、3、4……等份

按照将一页分成两个相等部分的主题,我不知道如何在页面的四分之一处画一条线。我的目标是在同一页上创建一些我可以轻松剪切的多个短测试(参见图片)。它们必须具有相同的高度。

这是一个起点。

\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

我尝试手动保持文本相同的高度......这并不容易。

我个人的用途是用于exam课堂,但article更为通用,在这种情况下结果会是相同的。 在此处输入图片描述

答案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:.............这也为您提供了声明一些默认文本等的可能性。

这只是一个额外的想法;)

相关内容