미니 지/서브 피그에서 스케일링 할 때 라텍스의 그래픽에서 글꼴 크기를 제어 하시겠습니까?

StackOverflow https://stackoverflow.com/questions/2239328

  •  19-09-2019
  •  | 
  •  

문제

PGF/Tikz 그래픽을 사용하고 있으며 Minipage/Subfig 환경에서 사용할 때 그래픽에서 글꼴 크기의 스케일링을 어떻게 제어 할 수 있는지 궁금합니다.

PGF/Tikz 그래픽 또는 라텍스에서 영구 글꼴 크기를 수동으로 설정하여 글꼴 크기를 스케일링에 비해 불변으로 만들 수있는 방법이 있습니까?

이상적으로 그래픽 당 글꼴 크기를 수동으로 지정하거나 모든 그래픽 또는 하위 그림/미니 지 환경에 대해 수동으로 지정하고 싶습니다.

다음은 제안 된 사용의 예입니다. 도와 주셔서 감사합니다.

\begin{figure}[h]
\centering
\subfloat[Graph 1]{
    \begin{minipage}[h]{0.7\linewidth}
        \centering\beginpgfgraphicnamed{graph1}
        \input{graph1.tex}
        \endpgfgraphicnamed
        \label{fig:graph1}
    \end{minipage}}
\hspace{5pt}
\subfloat[Graph 2]{
    \begin{minipage}[h]{0.5\linewidth}
        \centering\beginpgfgraphicnamed{graph2}
        \input{graph2.tex}
        \endpgfgraphicnamed
        \label{fig:graph2}
    \end{minipage}}
\subfloat[Graph 3]{
    \begin{minipage}[h]{0.5\linewidth}
        \centering\beginpgfgraphicnamed{graph3}
        \input{graph3.tex}
        \endpgfgraphicnamed
        \label{fig:graph3}
    \end{minipage}}
\caption{Three Graphs}
\end{figure}

아마도 Minipage/Subfig 이외의 다른 게시물의 제안을 사용하여 그래픽이 페이지 너비로 확장되어 있기 때문에 글꼴을 크게 만들 수 있습니까? 내가 예에서 겪었던 것은 하나의 그림에 자체 캡션을 사용하여 나란히 아래의 첫 번째 이미지, 더 크고 두 개의 작은 이미지였습니다.

나는 당신의 프로필 운모에서 몇 개의 r 태그를 보았습니다. 그래픽은 TikzDevice를 사용하여 생성되며 내 라텍스 문서에서 픽업됩니다.

따라서 TikzPicture 환경없이 파일을 생성하여 직접 옵션을 수동으로 설정할 수 있습니다. 내가 사용할 때 \begin{tikzpicture} \end{tikzpicture} 오류가 발생합니다 "치수가 너무 커서 약 19 피트보다 큰 크기로 작업 할 수 없습니다. 계속하면 최대의 가장 큰 가치를 사용할 것입니다.". 사용해야합니다 \beginpgfgraphicnamed{} .. \endpgfgraphicnamed{} 작동하기 위해? 그 영향이 정확히 무엇인지 확실하지 않습니다.

다음은 자동 생성 파일의 샘플입니다.

\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}

........

\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\definecolor[named]{fillColor}{rgb}{1.00,1.00,1.00}

\draw[fill=fillColor,draw opacity=0.00,] (  0.00,  0.00) rectangle (794.97,614.29);
\end{scope}

........

\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\definecolor[named]{drawColor}{rgb}{0.00,0.00,0.00}

\node[rotate= 90.00,color=drawColor,anchor=base,inner sep=0pt, outer sep=0pt, scale=  1.00] at ( 15.92,310.59) {Mackenzie Net Sales};
\end{scope}
\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (794.97,614.29);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}

잘만되면 그것은 도움이되기를 바랍니다. 모든 파일에 걸쳐 ~ 1,000 줄이므로 고유 한 비트의 표현을 잘라 내려고했습니다. 다른 것이 필요한지 알려주세요.

많은 감사,

어치

도움이 되었습니까?

해결책

나는 당신의 목표가 무엇인지 정확히 잘 모르겠습니다. 글꼴 크기 또는 나머지 사진의 크기를 변경하려면? 이에 도달 할 수있는 여러 가지 가능성이 있습니다.

1cm x 1cm 큰 상자가있는 내 예제 상자 :

\begin{tikzpicture}
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

그래픽 요소를 확장하지만 텍스트는 아닙니다.

\begin{tikzpicture}[scale=0.5]
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

\begin{tikzpicture}[scale=0.5]
    \draw (0,0) rectangle (1cm,1cm) -- +(-1,-1);
    \node(text) at (0.5cm,0.5cm) {Text};
\end{tikzpicture}

좌표 만 확장합니다 (즉, 단위가 지정되지 않은 경우 지정된 x, y 및 z 벡터의 곱하기를 사용했습니다).

\begin{tikzpicture}[x=5mm,y=5mm]
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

명시적인 길이는 다음과 같이 변경되지 않습니다.

\begin{tikzpicture}[x=5mm,y=5mm]
    \draw (0,0) rectangle (1cm,1cm) -- +(-1cm,-1cm);
    \node(text) at (0.5cm,0.5cm) {Text};
\end{tikzpicture}

텍스트조차도 모든 것을 확장합니다 (pgfmanual에 따르면 권장하지 않습니다).

\begin{tikzpicture}[transform canvas={scale=0.5}]
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

라텍스 명령을 사용한 동일한 효과 :

\scalebox{0.5}{
\begin{tikzpicture}
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
}

글꼴 크기를 로컬로 변경하지만 그래픽 요소의 크기는 변경되지 않았습니다.

\begin{tikzpicture}[font=\scriptsize]
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

모든 후속 TikzPicture 환경에서 글꼴 크기를 변경합니다 (\tikzset 위의 옵션도 설정하는 데 사용할 수 있습니다) :

\tikzset{font=\scriptsize}
\begin{tikzpicture}
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

\tikzset 그룹 내 로컬로 남아 있습니다.

\begin{minipage}{\linewidth}
\tikzset{font=\scriptsize}
\begin{tikzpicture}
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
\end{minipage}

{
\tikzset{font=\scriptsize}
\begin{tikzpicture}
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}
}

\begin{tikzpicture}
    \draw (0,0) rectangle (1,1) -- +(-1,-1);
    \node(text) at (0.5,0.5) {Text};
\end{tikzpicture}

파일을 편집 할 수 있는지 모르겠습니다 graph?.tex, 또는 이것들이 생성 되었습니까? 어쩌면 당신은 옵션을 생성하는 프로그램에 전달할 수 있습니다. tikzpicture 환경. 그렇지 않으면 원하는 범위에서 원하는 옵션을 설정하십시오. \tikzset.

희망, 도움이됩니다.

편집하다: 옵션 인 경우 (좋아요 font=)는 로컬로 정의됩니다 graph?.tex, 이들은 외부에서 정의 된 옵션보다 우선합니다. 이 경우 외부에서 덮어 쓸 수 없습니다. 파일을 편집해야합니다.

편집하다:이 "최소한"예제는 저에게 효과적입니다 (하위 기기의 너비를 초과하는 정말 큰 "Mackenzie Net 판매"를 보여줍니다)

\documentclass{article}

\usepackage{fix-cm}
\usepackage{subfig}
\usepackage{tikz}

\begin{document}
\tikzset{every picture/.append style={font=\fontsize{100}{120}\selectfont}}

\begin{figure}[h]
\centering
\subfloat[Graph 1]{
    \begin{minipage}[h]{0.7\linewidth}
        \centering\beginpgfgraphicnamed{graph1}
%        \input{graph1.tex}
        \endpgfgraphicnamed
        \label{fig:graph1}
    \end{minipage}}
\hspace{5pt}
\subfloat[Graph 2]{
    \begin{minipage}[h]{0.5\linewidth}
        \centering 
        \resizebox{\textwidth}{!}{

            %\beginpgfgraphicnamed{graph2}  
\begin{tikzpicture}
\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\definecolor[named]{fillColor}{rgb}{1.00,1.00,1.00}
\draw[fill=fillColor,draw opacity=0.00,] (  0.00,  0.00) rectangle (79.497,61.429);
\end{scope}
\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\definecolor[named]{drawColor}{rgb}{0.00,0.00,0.00}
\node[rotate= 90.00,color=drawColor,anchor=base,inner sep=0pt, outer sep=0pt, scale=  1.00] at ( 1.592,31.059) {Mackenzie Net Sales};
\end{scope}
\begin{scope}
\path[clip] (  0.00,  0.00) rectangle (79.497,61.429);
\definecolor[named]{drawColor}{rgb}{0.13,0.76,0.43}
\definecolor[named]{fillColor}{rgb}{0.31,0.94,0.66}
\end{scope}
\end{tikzpicture}
}
        %\endpgfgraphicnamed

        \label{fig:graph2}
    \end{minipage}}
\subfloat[Graph 3]{
    \begin{minipage}[h]{0.5\linewidth}
        \centering\beginpgfgraphicnamed{graph3}
%        \input{graph3.tex}
        \endpgfgraphicnamed
        \label{fig:graph3}
    \end{minipage}}
\caption{Three Graphs}
\end{figure}

\end{document}

이것이 당신에게도 효과가 있는지 테스트하십시오. 그렇다면 더 이상 작동하지 않을 때 까지이 제품을 수정하십시오. 깨는 변화는 무엇입니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top