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}

관련 정보