tikz のページ制限

tikz のページ制限

tikz を使用して、次のように A4 用紙の端から端まで線を描きます。

\begin{tikzpicture}
    \draw (current page.south) -- (current page.north);
\end{tikzpicture}

生成された PDF には 2 つのページがあります。最初のページは空白で、もう 1 つのページには必要な縦線が入っています。

さらに、2つの「限界線」を連続して描くと、

\begin{tikzpicture}
    \draw (current page.south) -- (current page.north);
    \draw (current page.east) -- (current page.west);
\end{tikzpicture}

描画後に 2 番目の空白ページが生成されます (つまり、結果は空白ページ - 描画 - 空白ページになります) ?!

私はパッケージ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 ( を使用remember picture) または tikzmark の元の場所も読み取られ、それらのアンカーの相対的な位置も特定されます。

\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}

関連情報