如何将 tikz 元素放置在自定义纸张几何图形中,以达到所有四个角,并带有边距

如何将 tikz 元素放置在自定义纸张几何图形中,以达到所有四个角,并带有边距

我正在尝试为一份文档设计一个封面,该文档的页面将打印在 8.5"x11" 信纸上,作为 17"x11" 文档。我在几何图形中添加了在线找到的有关出血的边距(即每边 0.125" 的边框)。但由于某种原因,输出是错误的,通过编译此 MWE 可以看出:

Overleaf 上的 MWE

我是否认为这一切都可以通过几何选项进行管理?如果是这样,哪些选项我没有正确使用?

以下是 MWE 的代码:

\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage[paperwidth=11in,paperheight=17in,layoutwidth=10.75in,layoutheight=16.75in,left=0.125in,right=0.125in,top=0.125in,bottom=0.125in,bindingoffset=0in, landscape=true, marginparwidth=0in, marginparsep=0in]{geometry}
\begin{document}
    \begin{tikzpicture}[every node/.style={inner sep=0,outer sep=0}]
        \draw[draw=black] (0,0) rectangle ++(1in,1in) node[pos=.5] {NW};
        \draw[draw=black] (15.75in,0) rectangle ++(1in,1in) node[pos=.5] {NE};
        \draw[draw=black] (0,9.75) rectangle ++(1in,1in) node[pos=.5] {SW};
        \draw[draw=black] (15.75in,9.75) rectangle ++(1in,1in) node[pos=.5] {SE};
    \end{tikzpicture}
\end{document}

输出如下: 在此处输入图片描述

以下是这个输出中令我惊讶的几个方面:

  • 南北颠倒(四个基本方位分别用东北、西北、东南和西南的缩写来表示)。
  • 顶部边距看起来是正确的,但左边距看起来是预期边距的两倍(或更多)
  • 纸张的宽度似乎不正确,因为我希望东边的方块完全可见,并有 0.125 的额外边距。
  • 而宽度似乎太短,高度似乎太长,因为我预计最南边的盒子应该位于完全底部......

也许我的问题出在 tikz 坐标系上,而不是几何体上?无论如何,我希望能够使用 tickz 确认我对边距位置的理解,因为我的书封面的元素将用 tikz 绘制。谢谢!

答案1

有几件事:

  1. 您可以使用节点current page.north wast...current page.south west用 Ti 绘制矩形Z. 这些正好位于角落,因此如果您想尊重边距,请使用相对坐标。
  2. 太大tikzpicture了,所以你需要overlay它。

像这样:

\documentclass[12pt]{article}
\usepackage{tikz}
% if you want to change the margin
\newlength{\mymargin}
\setlength{\mymargin}{0.125in}
\usepackage
[
  paperwidth=11in,paperheight=17in,layoutwidth=10.75in,layoutheight=16.75in,
  left=\mymargin,right=\mymargin,top=\mymargin,bottom=\mymargin,
  bindingoffset=0in,landscape=true,marginparwidth=0in,marginparsep=0in
]{geometry}
\begin{document}
    \begin{tikzpicture}[remember picture,overlay,every node/.style={inner sep=0,outer sep=0}]
        \draw[draw=black] (current page.north west) ++ ( \mymargin,-\mymargin) rectangle ++( 1in,-1in) node[pos=.5] {NW};
        \draw[draw=black] (current page.north east) ++ (-\mymargin,-\mymargin) rectangle ++(-1in,-1in) node[pos=.5] {NE};
        \draw[draw=black] (current page.south west) ++ ( \mymargin, \mymargin) rectangle ++( 1in, 1in) node[pos=.5] {SW};
        \draw[draw=black] (current page.south east) ++ (-\mymargin, \mymargin) rectangle ++(-1in, 1in) node[pos=.5] {SE};
        % only to show the paper
        \draw[red, line width=2mm] (current page.north west) rectangle (current page.south east);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

哦,和 Juan Castaño 的答案几乎一样......

编辑: 但我不知道我迟到了 13 分钟(显然是我的网络拥塞,因为我在加载之前没有看到答案...)。现在我扩展了我的原始答案并进行了一些猜测,OP 想要做什么 ;-)

不太清楚您想在哪里放置框。在页面边框还是在文本区域边框?另外,您的几何定义对我来说也不清楚:

  • 为什么layoutwidth=10.75in比页边距定义的宽度小得多?
  • 您的盒子应该指定什么:
    • 只是页面的一个角落?结果如下(我增加了 marin 的大小,这样框就更明显了):

在此处输入图片描述

(红线表示文本区域边框)

\documentclass[12pt]{article}
\newlength{\pagemargin}
\setlength{\pagemargin}{0.25in}
\usepackage[paperwidth=11in,paperheight=17in,
            layoutwidth=10.75in,layoutheight=16.75in,
            margin=\pagemargin, bindingoffset=0in,
            landscape=true,
            marginparwidth=0in, marginparsep=0in
            ]{geometry}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[
remember picture, overlay,
                        ]
\draw (current page.north west) rectangle 
            ++( \pagemargin,-\pagemargin) node[midway] {NW};
\draw (current page.north east) rectangle 
            ++(-\pagemargin,-\pagemargin) node[midway] {NE};
\draw (current page.south west) rectangle 
            ++( \pagemargin, \pagemargin) node[midway] {SW};
\draw (current page.south east) rectangle 
            ++(-\pagemargin, \pagemargin) node[midway] {SE};
    \end{tikzpicture}
\end{document}
  • 文本区域的边框?在这种情况下,MWE 可以是:
\documentclass[12pt]{article}
\newlength{\pagemargin}
\setlength{\pagemargin}{0.25in}
\usepackage[paperwidth=11in,paperheight=17in,
            layoutwidth=10.75in,layoutheight=16.75in,
            margin=\pagemargin, bindingoffset=0in,
            landscape=true,
            marginparwidth=0in, marginparsep=0in
            ]{geometry}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{tikz}

\usepackage{tikzpagenodes}

\begin{document}
    \begin{tikzpicture}[
remember picture, overlay,
                        ]
\draw (current page text area.north west) 
    rectangle ++(-\pagemargin,+\pagemargin) node[midway] {NW};
\draw (current page text area.north east) 
    rectangle ++(+\pagemargin,+\pagemargin) node[midway] {NE};
\draw (current page text area.south west) 
    rectangle ++(+\pagemargin,-\pagemargin) node[midway] {SW};
\draw (current page text area.south east) 
    rectangle ++(+\pagemargin,-\pagemargin) node[midway] {SE};
    \end{tikzpicture}
\end{document}

在此处输入图片描述

  • 或者您可能希望文本区域从页面的左边距到右边距。在这种情况下,您需要删除第一个示例中的geometry选项layoutwidth=10.75in,layoutheight=16.75in,。结果将是:

在此处输入图片描述

  • 我想知道,这个矩形的用途是什么。一些文档类,如回忆录,有显示选项crop mark,否则您可以使用庄稼 用于定义裁剪标记(无论它们标记什么)的包。

相关内容