在minipage/subfig中缩放时控制LaTeX中图形的字体大小?

在minipage/subfig中缩放时控制LaTeX中图形的字体大小?,latex,tikz,pgf,subfigure,Latex,Tikz,Pgf,Subfigure,我正在使用pgf/tikz图形,我想知道在minipage/subfig环境中使用它们时,如何控制图形中字体大小的缩放 是否有一种方法可以手动设置pgf/tikz图形或latex的永久字体大小,从而使字体大小对缩放不变性 理想情况下,我希望能够手动指定每个图形或所有图形或子页面/迷你页面环境的字体大小 下面是一个建议的用法示例。谢谢你的帮助 \begin{figure}[h] \centering \subfloat[Graph 1]{ \begin{minipage}[h]{0.7\l

我正在使用pgf/tikz图形,我想知道在minipage/subfig环境中使用它们时,如何控制图形中字体大小的缩放

是否有一种方法可以手动设置pgf/tikz图形或latex的永久字体大小,从而使字体大小对缩放不变性

理想情况下,我希望能够手动指定每个图形或所有图形或子页面/迷你页面环境的字体大小

下面是一个建议的用法示例。谢谢你的帮助

\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生成的,并在我的latex文档中拾取

所以我在没有tikzpicture环境的情况下生成文件,这样我就可以自己在那里手动设置选项。当我使用
\begin{tikzpicture}\end{tikzpicture}
时,我得到一个错误:“尺寸太大,我无法处理大于19英尺的尺寸。继续,我将使用我能使用的最大值。”。我需要使用
\beginpgfgraphicsnamed{}\endpgfGraphic命名为{}
以使其工作?不确定具体的影响是什么

以下是自动生成的文件示例:

\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}

\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}
希望这会有所帮助,因为整个文件大约有1000行,所以我尝试剪切出唯一位的表示。如果你还需要什么,请告诉我

非常感谢,


杰伊

我不太清楚你的目标是什么。要更改图片的字体大小还是其他部分的大小?有多种可能实现以下任一目标:

我的示例是一个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 (1cm,1cm) -- +(-1cm,-1cm);
    \node(text) at (0.5cm,0.5cm) {Text};
\end{tikzpicture}
缩放所有内容,甚至文本(根据PGF手册,不建议这样做):

使用LaTeX命令的效果相同:

\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
在组中保持本地:

\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
中本地定义的,则这些选项优先于外部定义的选项。如果是这种情况,您就不能从外部覆盖它们。你必须编辑这些文件

编辑:这个“最小”的示例对我很有用(显示了一个非常大的“麦肯齐净销售额”,超过了子图的宽度)


请测试这是否也适用于您。如果有,那么尝试修改这个,直到它不再工作。突破性的变化是什么?

实际代码仍然有用。为什么要缩放tikz/pgf图形?为什么不把它画成合适的大小呢?如果你能发布这样一个
input?.tex
文件会很有帮助。可能您可以使用样式设置大小。请尝试
\tikzset{each picture/.append style={font=\scriptsize}}
这是否有效?它不需要是完整的文件。因为它是生成的,所以很多事情只是片段的重复。只显示最重要部分的摘录(包括开头)。你是如何排版的?我只是觉得“尺寸太大”。然而,在将所有坐标除以10后,它起了作用。对该方来说,有点晚了,但“尺寸太大”错误是由于TikZ默认坐标单位为1cm,而tikzDevice输出假定为1pt。要在不进行任何疯狂除法的情况下修复问题,请在处理tikzDevice输出时使用
\begin{tikzpicture}[x=1pt,y=1pt]
\begin{scope}[x=1pt,y=1pt]
\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}
\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}