저는 knitr(XeLaTeX 사용)에서 의제를 작업 중입니다. 월별 개요에서 환경 tikz
주변의 둥근 모서리에 사용합니다 . tabular
다음은 개요의 여러 페이지 중 첫 번째입니다.
보시다시피 페이지 상단에 작은 공백이 있습니다. 나는 이 공백이 tikz 코드의 위치에 해당한다고 생각합니다(여기서 설명했듯이:TikZ로 인한 빈 공간을 피하는 방법).
내 질문은: 이 공백을 제거하는 방법이 있습니까?
- 페이지 여백을 늘리거나 그림 크기를 줄일 필요가 없는 솔루션을 찾고 있습니다.
- 질문TikZ로 인한 빈 공간을 피하는 방법그리고xelatex를 사용하여 여백 없이 전체 페이지 Tikz 이미지를 페이지 중앙에 배치하시겠습니까?내가 원하는 것을 정확히 묻는 것 같지만 답변이 내 사례에 적용되지 않거나 내 사례에 답변을 적용하는 방법을 알 수 없습니다.
여기 MWE가 있습니다(단일 셀이 있고 모서리가 둥글지 않음, 강조 표시가 수동으로 추가됨):
\documentclass{book}
\usepackage[showframe]{geometry}
\setlength{\parindent}{0pt} %no indenting of first line
\usepackage{tikz} %for rounded corners (not in mwe)
\usepackage{adjustbox} %for scaling table to fill page
\begin{document}
\raisebox{-\height}[0pt][0pt]{%
\begin{adjustbox}{totalheight=\textheight, width = \linewidth}
\begin{tikzpicture}
\node(table){%
\begin{tabular}{c}
tabular \\
\end{tabular}
};
\draw (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{adjustbox}
}
\end{document}
MWE에 대한 추가 정보:
나는
adjustbox
예전에전체 페이지를 채우도록 테이블 크기 조정. 결과 tikz 이미지가 너무 커서 빈 페이지 뒤에 이미지가 다음 페이지로 푸시되었을 것입니다.그러므로 나는 따랐다tikz 이미지의 크기를 숨기라는 Gonzola Medina의 제안. 빈 페이지는 성공적으로 제거되었지만 각 페이지 상단에 원치 않는 공백이 생겼습니다.
답변1
요구 사항을 올바르게 이해했다면 문제는 을 포함하는 TeX 상자에 tikzpicture
0이 아닌 깊이가 있다는 것입니다. 다음에서는 local bounding box
키를 사용하여 그림의 이름을 명시적으로 지정한 다음(사용은 current bounding box
작동하지 않음) 키를 사용하여 그림의 아래쪽에 baseline
대한 기준선을 설정하여 가 포함된 상자에 깊이가 없도록 합니다.tikzpicture
tikzpicture
\documentclass{book}
\usepackage[showframe]{geometry}
\setlength{\parindent}{0pt}
\usepackage{tikz}
\usepackage{adjustbox}
\begin{document}
\begin{adjustbox}{totalheight=\textheight, width=\linewidth}%
\begin{tikzpicture}[local bounding box=picture, baseline=(picture.south)]
\node (table) {Some content};
\draw (table.north west) rectangle (table.south east);
\end{tikzpicture}
\end{adjustbox}
\end{document}
또 다른 접근 방식은 그림의 경계 상자를 명시적으로 설정하는 것입니다 (0,0) (\textwidth, \textheight)
. 단점은 그림의 모든 부분이 이 점으로 설명된 직사각형 안에 있는지 확인해야 한다는 것입니다. 그렇지 않으면 측면 위로 튀어나올 것입니다. 이 문제를 해결하는 한 가지 방법은 좌표계의 크기를 조정하는 것일 수 있습니다. 이 다소 화려한 예는 다음 \textwidth
과 \textheight
같습니다.
\documentclass{book}
\usepackage[showframe]{geometry}
\setlength{\parindent}{0pt}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\useasboundingbox (0,0) (\textwidth, \textheight);
\tikzset{x=\textwidth/10, y=\textheight/10}
\foreach \x in {0,...,9}
\foreach \y [evaluate={\r=rnd; \g=rnd; \b=rnd;}] in {0,...,9}
\fill [/utils/exec=\definecolor{.}{rgb}{\r,\g,\b}, fill=.]
(\x, \y) rectangle ++(1, 1);
\end{tikzpicture}
\end{document}