\begin{tikzpicture}[scale=x]
\node[scale=y] (a,b)
복잡한 그림을 설정하고 모든 것을 손으로 배치할 때(모든 (a,b) 지정) x를 더 크거나 작게 만들기 위해 변경하면 모든 것이 망가집니다.
크기 조정 상자를 사용할 수 있다고 가정하지만 x 척도가 전체 척도가 될 것이고 그 값을 무엇이든 설정하면 그 안의 모든 척도도 확장될 것이라고 생각합니다. 그렇지 않습니다.
어쩌면 더 쉬운 방법이 있을까요?
답변1
이렇게 간결한 질문으로 문제를 이해하는 것은 꽤 어렵지만 OP가 찾고 있는 것일 수도 있습니다 transform shape
. 바라보다:
\documentclass[]{article}
\usepackage{tikz}
\begin{document}
{\Huge X}
\begin{tikzpicture}[
]
\node[draw] at (0,0) {A};
\node[draw, scale=2] at (1,0) {B};
\end{tikzpicture}
\bigskip
{\Huge X}
\begin{tikzpicture}[
scale=0.5]
\node[draw] at (0,0) {A};
\node[draw, scale=2] at (1,0) {B};
\end{tikzpicture}
\bigskip
{\Huge X}
\begin{tikzpicture}[
scale=0.5, every node/.style={transform shape}]
\node[draw] at (0,0) {A};
\node[draw, scale=2] at (1,0) {B};
\end{tikzpicture}
\end{document}
다음을 생성합니다(큰 X는 참조용이며 기준선의 변경을 확인합니다).
답변2
scale
에서는 지원되는 옵션이 아닙니다 tikzpicture
. 이는 그림의 범위 내에서 전역적으로 설정되므로 그림 내의 모든 항목에 영향을 미치며 이러한 종류의 옵션이 있습니다. 그것은 전부일 수도 있고 아무것도 아닐 수도 있지만, 일반적으로 그것은 일부일 것이고 다른 것은 아닐 것입니다.
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [ultra thick, ->] (0,0) -- (1,1) node [right] {A};
\begin{scope}[scale=2, xshift=10mm]
\draw [ultra thick, ->] (0,0) -- (1,1) node [right] {A};
\end{scope}
\end{tikzpicture}
\end{document}
일반적으로 원하는 것은 다음과 같습니다. 글꼴, 선 너비 및 화살표 끝은 크기 조정의 영향을 받지 않지만 좌표는 영향을 받지 않습니다.
사용하는 것이 나쁜 이유 \resizebox
는 선, 글꼴, 로트 등 상자 안의 모든 것에 영향을 미치기 때문입니다. 이는 글꼴과 선이 일관되지 않은 문서를 의미하기 때문에 차선책입니다. 광학 크기를 사용할 수 있는 글꼴을 사용하면 더 크거나 작은 크기로 디자인된 문자 모양이 상황에 적합한 위치에 렌더링되기 때문에 왜곡이 더욱 커집니다.
크기 조정이 불가피한 경우에는 선 너비와 글꼴 크기를 유지하면서 를 지원하는 그림 요소의 크기를 조정하는 것보다 나머지 부분의 크기를 조정하는 더 포괄적이고 일관된 작업을 수행하므로 를 tikzscale
사용하는 것이 좋습니다 .\resizebox
scale