tikz 的頁面限制

tikz 的頁面限制

使用 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}

相關內容