我有一个简单的问题,但我不知道该如何解决。我想在绘制和定位 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}