使用 tikz,我從 A4 紙的一端到另一端畫一條線,如下所示:
\begin{tikzpicture}
\draw (current page.south) -- (current page.north);
\end{tikzpicture}
產生的 pdf 有兩頁。第一個是空白的,另一個是我想要的垂直線。
此外,如果我連續畫兩條“限制線”,如
\begin{tikzpicture}
\draw (current page.south) -- (current page.north);
\draw (current page.east) -- (current page.west);
\end{tikzpicture}
繪圖後會產生第二個空白頁(因此結果是空白頁-繪圖-空白頁)?
我選擇了memoir
課程,附帶geometry
套餐:
\documentclass[oneside, english, 10pt, a4paper]{memoir}
\usepackage[a4paper, margin=0pt]{geometry}
我究竟做錯了什麼?
答案1
通常,tikzpicture 中的所有內容都被放入一個邊界框中,然後 LaTeX 像任何其他框一樣處理該邊界框。你所能控制的只是基線。
使用overlay
類似於\smash{\rlap{...}}
將原點放置在目前文字位置的基線處。它還關閉邊界框計算。
使用remember picture
將原始位置(在頁面準備好發送之前未知)儲存到 aux 檔案中。在下一次傳遞時,它會讀取該值並能夠確定(current page)
錨點的位置。它還讀取頁面上每個其他 tikzpicture (使用 )或 tikzmark 的原始位置remember picture
,並且還能夠確定其錨點的相對位置。
\documentclass[oneside, english, 10pt, a4paper]{memoir}
\usepackage[a4paper, margin=0pt]{geometry}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\draw (current page.south) -- (current page.north);
\draw (current page.east) -- (current page.west);
\end{tikzpicture}
\end{document}