我正在尝试将 TikZ 绘图的位置垂直降低 1 厘米,以便在页面顶部添加空白条。为此,我已添加到baseline=1cm
参数中,\begin{tikzpicture}[overlay,remember picture]
并且在重新编译 tex 文件后它确实有效,但在另一次重新编译后,绘图又回到了之前的位置!
如何在任何情况下都使绘图保持在页面顶部以下 1 厘米处,或者更好的是,如何将 TikZ 绘图的参考点设置为自定义环境,比如说小页面而不是整个页面,以便我可以将绘图定位到我想要的任何位置?
请注意,这些代码都是从互联网上获取的\draw
,我对 TikZ
\documentclass[a4paper,14pt]{extbook}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage[left=0cm,right=0cm,top=1cm,bottom=4.5cm]{geometry}
\begin{document}
\begin{titlepage}
\begin{tikzpicture}[overlay,remember picture,baseline=1cm]
%\begin{scope}[shift={(0mm,30mm)}]%[]
\draw[gray,fill=lime!20] ([xshift=-2cm]current page.north east) -- ([yshift=-2cm]current page.north east) -- ([yshift=-4cm]current page.north east) -- ([xshift=-4cm]current page.north east);
% \end{scope}
\end{tikzpicture}
\pagecolor{gray!10}
\begin{center}
{\fontsize{60pt}{55pt}\bf\selectfont The Title Of\\ My Book}
\end{center}
\addvspace{10pt}
\begin{center}
\fbox{
\begin{minipage}[]{0.5\textwidth}
Some Text...
\end{minipage}
}
\end{center}
\end{titlepage}
\end{document}
答案1
Atikzpicture
绘制在私有坐标系上,完成后,将计算其边界框并将其像其他字符一样放置。如果您可以更改此行为,则可以使用absolute positioning
,就像您对代码所做的那样。current page
节点引用tikzpicture
绘制 的特定页面,anchors
如north west
、center
、... 在这种情况下,图片绘制在这些特定位置上,通常在两次编译之后。因此,如果您想在顶部有 1cm 的空线,您可以在该位置下方 1cm 处绘制丝带current page.north
。这就是我在下面的代码中所做的,只需调整您的初始shifts
。
关于第二个问题,我不知道如何使用,absolute positioning
但minipage
如果你想绘制与某个段落相关的内容,一个可能的解决方案可能是使用blankest
tcolorbox
并使用相应的锚点绘制您想要的任何内容frame
。以下代码中还有一个示例。
另一个解决方案可能是使用tikzmark
参考您的文本并使用它们进行绘制。
\documentclass[a4paper,14pt]{extbook}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage[left=0cm,right=0cm,top=1cm,bottom=4.5cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}
\begin{document}
\begin{titlepage}
\begin{tikzpicture}[overlay,remember picture]
\draw[gray,fill=lime!20] ([shift={(-2cm,-1cm)}]current page.north east) -- ([yshift=-3cm]current page.north east) -- ([yshift=-5cm]current page.north east) -- ([shift={(-4cm,-1cm)}]current page.north east);
\end{tikzpicture}
\pagecolor{gray!10}
\begin{center}
{\fontsize{60pt}{55pt}\bf\selectfont The Title Of\\ My Book}
\end{center}
\addvspace{10pt}
\begin{center}
\fbox{
\begin{minipage}[]{0.5\textwidth}
Some Text...
\end{minipage}
}
\end{center}
\begin{tcolorbox}[enhanced, blankest, width=.75\linewidth, center, underlay={\draw[lime!40, line width=5mm](frame.north west)--(frame.south east); \fill[lime!50!red] ([shift={(25mm,15mm)}]frame.center) circle(10mm);}]
\lipsum[1]
\end{tcolorbox}
\end{titlepage}
\end{document}