用线条分割页面

用线条分割页面

我正在尝试做两件事,但我觉得我对这两件事都使用了错误的工具……:)

  1. 我需要在顶部边缘处画一条线,下一段应该从下面开始,就像通常那样
  2. 我想将页面分成两部分并在两部分之间画一条线。线应位于页面顶部边距和底部边距的 50% 处。

我得到了什么:

\documentclass{article}
\usepackage[a6paper,top=1cm,left=1cm, right=1cm, bottom=0cm, showframe]{geometry}
\usepackage[T1]{fontenc}

\setlength{\parindent}{0pt}

\usepackage{calc}
\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=10000
\hbadness=10000

\usepackage[absolute,overlay]{textpos}

\begin{document}
\noindent\makebox[\linewidth]{\raisebox{0.5cm}{\rule{\paperwidth}{0.4pt}}}
\Large{test test test test test test test test test test test test}


\begin{textblock*}{\textwidth}(1cm,0.5\textheight+1cm)
   \noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}
\Large{test test test test test test test test test test test test}
\end{textblock*}

    
\end{document}

问题在于:

  • 我必须使用\raisebox{0.5cm}它来实际匹配行和边距 - 我认为是因为\makebox正在为文本创建框并且行与文本对齐?
  • 线下方的间距相当大(基本上就像一段文本一样)。
  • 下半部分实际上间距正确,但怀疑这是否\textblock是实现这一目标的最佳工具。

我该如何改善这种情况?

答案1

您可以将文本设置在两个\parbox相等的半文本块大小的单独文本中,并在正确的位置添加水平规则作为覆盖(使用eso-pic):

在此处输入图片描述

\documentclass{article}

\usepackage[margin=1cm]{geometry}
\usepackage{eso-pic,lipsum}

\begin{document}

\AddToShipoutPictureFG*{%
  \AtTextLowerLeft{\hspace*{-1cm}\rule{\paperwidth}{.4pt}}% Bottom line
  \AtTextLowerLeft{\hspace*{-1cm}\rule[.5\textheight]{\paperwidth}{.4pt}}% Center line
  \AtTextUpperLeft{\hspace*{-1cm}\rule{\paperwidth}{.4pt}}% Top line
}

\noindent\parbox[t][.5\textheight]{\textwidth}{%
  \Large\raggedright\strut\lipsum*[1]\strut
}

\noindent\parbox[t][.5\textheight]{\textwidth}{%
  \Large\raggedright\strut\lipsum*[2]\strut
}

\end{document}

相关内容