2010-04-11 2 views
3

주어진 매개 변수에 따라 PGF와 Tikz를 사용하여 그림을 그리는 라텍스 매크로가 있습니다. 그려지는 그림의 너비는이 매개 변수에 따라 다릅니다.PGF (라텍스)에서 전체 그림 너비를 찾는 방법

PGF는 사용자가 명시 적으로 설정할 필요가 없도록 (예 : 그림 환경에서 라텍스 빌드를 사용할 때와 같이) 그려진 그림의 결과 너비를 자동으로 계산합니다.

그러나 그려지는 그림의 너비를 알아야합니다. 내가 PGF처럼 계산할 수있는 원인이 있지만 이것은 꽤 많은 일이 될 것입니다 (많은 if 문 ...). PGF에게 그려야 할 그림의 너비를 물어볼 수있는 방법이 있습니까 (내가 기대하는 명령)? 내부 tikzpicture 환경 또는 그 직후? 도움 주셔서 감사합니다. 나는 아마 상자에 tikzpicture 환경을 넣어 않으며, 다음 상자의 폭을 찾을 것입니다 무엇

답변

5

: 당신이 \box0를 실행 한 후

\setbox0=\vbox{\hbox{% 
    \begin{tikzpicture} 
    % ... 
    \end{tizpicture}% 
}} 
The width of the following picture is {\the\wd0}. 
\box0 

이 상자는 문서에 삽입됩니다 및 그것의 내용은 파괴 될 것이다; 따라서 상자의 너비를 쿼리해야합니다. 너비를 저장하려면 \dimen0=\wd0으로 차원 레지스터에 저장할 수 있습니다. 또는 \copybox0을 사용하면 상자를 삽입하지만 삭제하지는 않습니다 (메모리가 누출 될 수 있음).

또한이 중 일부와 함께 해본 결과, \vbox을 사용하면 상자가 항상 페이지의 전체 너비가되는 것으로 나타났습니다 (생각하면이 말이 맞습니다). 그러나 을 사용하면 unboxing이 어떤 이유로 실패하게됩니다 (알려진 pug 인 것처럼 보임). 그러나이 두 가지를 모두 사용하면, — 나는 TikZ 그림을 정확하게 올바른 크기의 PDF 파일로 렌더링하는 것과 같은 것을 사용하고 있습니다.

+1

이것은 내가 훌륭한 대답이라고 부르는 것입니다! 고맙습니다. 내 마음에도 와야했는데, 나는 이미 박스들과 함께 일 해왔다 ...하지만 그것은 그렇게하지 않았다. 대신 환경을 쿼리하고 싶었지만 이것이 나에게 더 좋습니다. 고마워요! – drasto

+0

와우, 정말 도움이되고 흥미 롭습니다. @aAntal. 고마워! – Vivi

관련 문제