gpt4 book ai didi

latex - 在小页面/子图中缩放时控制 LaTeX 中图形的字体大小?

转载 作者:行者123 更新时间:2023-12-01 19:25:01 33 4
gpt4 key购买 nike

我正在使用 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 之外,我可以使用其他帖子的建议来使字体变大,因为图形随页面宽度缩放?我在这个例子中想要的是第一个图像本身,较大,然后是两个小图像并排在下面,并在一个图中有自己的标题。

我在你的个人资料 Mica 中看到了一些 R 标签。图形是使用 tikzDevice 生成的,并在我的 latex 文档中选取。

因此,我在没有 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}

使用 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{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 Sales”,超出了子图的宽度)

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

请测试这是否也适合您。如果是的话,就尝试修改这个,直到它不再起作用为止。重大变化是什么?

关于latex - 在小页面/子图中缩放时控制 LaTeX 中图形的字体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239328/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com