在一些国家,讣告的排版如下。其中有一段文字,遵循通常的排版规则,文字周围有一条粗黑边框,没有留白。
这是在半张 A4 纸上进行的快速尝试。
\documentclass[12pt]{article}
\setlength{\parindent}{0pt}
\usepackage[papersize={210mm,148.5mm},margin=0mm]{geometry}
\usepackage{tikz,lipsum}
\pagestyle{empty}
\begin{document}%
\begin{tikzpicture}[remember picture,overlay]
\node[coordinate,inner sep=0pt,outer sep=0pt] at (current page.north west) (nw) {} ;
\node[coordinate,inner sep=0pt,outer sep=0pt] at (current page.south east) (se) {} ;
\node[coordinate,inner sep=0pt,outer sep=0pt] at (current page.north east) (ne) {} ;
\node[coordinate,inner sep=0pt,outer sep=0pt] at (current page.south west) (sw) {} ;
\draw[line width=9mm] (nw) -- (ne) -- (se) -- (sw) -- (nw) ;
\end{tikzpicture}
\vfill
\begin{center}
\begin{minipage}[t]{16cm}
\lipsum[1-2]
\end{minipage}
\end{center}
\vfill
\end{document}
我想要更灵活的方法,例如,关于带有黑色边框的边距。我感觉我做的很粗糙。你能提出一些建议吗?
答案1
正如我所评论的,另一种选择是设置页边距来控制文本(geometry
包的可选参数),然后在页边距外绘制黑线。在这里,我使用了我在有哪些方法可以将内容绝对定位在页面上?。
在 MWE 中,\brdr
定义黑色边框的粗细。
\documentclass[12pt]{article}
\setlength{\parindent}{0pt}
\usepackage[papersize={210mm,148.5mm},margin=1in]{geometry}
\usepackage{lipsum,everypage}
\pagestyle{empty}
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\atxy[3]{%
\AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
\raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
% VERIFIED THAT SETTING \hoffset AND \voffset DO NOT BREAK SOLUTION.
%\hoffset=0.4in
%\voffset=0.2in
\newcommand\brdr{12pt}
\atxy{0in}{\paperheight}{\rule{\brdr}{\paperheight}}
\atxy{0in}{\brdr}{\rule{\paperwidth}{\brdr}}
\atxy{0in}{\paperheight}{\rule{\paperwidth}{\brdr}}
\atxy{\dimexpr\paperwidth-\brdr}{\paperheight}{\rule{\brdr}{\paperheight}}
\begin{document}
\lipsum[1-2]
\end{document}
如果需要,垂直居中可以通过 s 轻松实现\vfill
,方式如下\mbox{}\vfill\lipsum[1-2]\vfill\mbox{}
:
答案2
ConTeXt 只需几行就能做到这一点。文本块水平和垂直居中。
\setuppagenumbering
[location=none]
\definepapersize
[obituary]
[width=210mm,height=148.5mm]
\setuppapersize[obituary]
\setupbackgrounds
[page]
[frame=on,
framecolor=black,
rulethickness=10pt]
\starttext
\startstandardmakeup[align=middle]
\input lorem
\stopstandardmakeup
\stoptext