在 TikZ 绘图中使用页面尺寸

在 TikZ 绘图中使用页面尺寸

我有一个简单的问题,但我不知道该如何解决。我想在绘制和定位 TikZ 图形时使用页面尺寸,这样当我更改纸张尺寸(例如从“信纸尺寸”更改为“小报尺寸”)时,图形的位置相同。下面的 MWE 使用坐标绘制一个绿色矩形:

\documentclass[11pt,a4paper,oneside]{report}
\usepackage{polyglossia}
\usepackage{fontspec} 
\usepackage{microtype}
\setmainlanguage{english}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw[green, very thick] (0,0) rectangle (3,2);

\end{tikzpicture}
\end{document}

我想要实现的是:一个角落位于1 英寸从页面左边缘开始1 英寸位于页面顶部边缘下方,而对角角位于1 英寸从页面的右边缘开始5 英寸页面底部边缘上方。谢谢!

答案1

请尝试以下操作:

\documentclass[11pt,a4paper,oneside]{report}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage{microtype}
\setmainlanguage{english}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[remember picture,overlay]
\draw[green, very thick] ([xshift=1in,yshift=-1in] current page.north west) rectangle ++ (3,2);
\end{tikzpicture}
\end{document}

在此处输入图片描述

或者使用以下tikzpagenodes包:

\documentclass[11pt,a4paper,oneside]{report}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage{microtype}
\setmainlanguage{english}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage{tikzpagenodes}
\begin{document}

\begin{tikzpicture}[remember picture,overlay]
\draw[green, very thick] (current page text area.north west) rectangle (3,2);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容