在 tikzpicture 中更改字体大小

在 tikzpicture 中更改字体大小

我制作了一些 tikzpicture 并在主文档之外对它们进行了测试,因为这样编译时间更短。

不过我一直使用\documentclass{article}

我用 设置字体 \begin{tikzpicture}[auto, font = {\sf \myfont}, thick]

因为\myfont我曾经用过\newcommand{\myfont}{\footnotesize}

创建 tikzpicture 后,我想将其添加tikzpicture\input{mytikzpicture.tex}我的主文档中。

但不知何故,我设置的字体大小的改变\begin{tikzpicture}[auto, font = {\sf \myfont}, thick]现在没有效果。

在我的主文档中,我使用以下代码设置字体大小:

\documentclass[
    pdftex,
    a4paper,
    11pt,
    oneside,
    fleqn,
    listof=totoc,
    headlines=2.1,
    headsepline,
    numbers=noenddot,
    hyphens,
]{scrreprt}

我已经尝试过的:

  • \tikzset{font={\fontsize{9pt}{12}\selectfont}} 我只想用这个来减小 tikzpicture 中的字体大小。我从网上搜索到这个解决方案(更改 TikZ 图中字体大小)。不幸的是,它对 tikzpicture 中的字体大小根本没有影响。

  • 使用某种范围来改变字体大小(同样无效):
    此主题

    {\footnotesize % change the font size
      \begin{tikzpicture}[auto,  font = {\sf \myfont}, thick]
       ...
      \end{tikzpicture}
    } % end of scope of \footnotesize macro
    

它不起作用的原因是什么?我能做些什么改变?如果我没有提供解决问题所需的所有信息,请随时告诉我。

编辑1:

这是我的问题的一个最小例子。我用于开发 tikzpictures 的 tex 文件:

\documentclass{article}
\usepackage{amsmath}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usepackage{textgreek}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{shapes.multipart}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows.meta, calc, positioning, shapes, matrix}
\usetikzlibrary{arrows}
\usetikzlibrary{calc}


\newcommand{\myfont}{\footnotesize}
\tikzstyle{block} = [draw,
rounded corners]

\begin{document}

    \begin{tikzpicture}[auto,  font = {\myfont}, thick]
    % Hilfslinien
    \draw[help lines] (-5,-5) grid (5,5);
    \node[block, align=center] (isolation) {hello};
    \end{tikzpicture}

\end{document}

如果我把我开发的东西放入主文档的最小示例:

\documentclass[
pdftex,
a4paper,
11pt,
oneside,
fleqn,
listof=totoc,
headlines=2.1,
headsepline,
numbers=noenddot,
hyphens,
]{scrreprt}
\usepackage{amsmath}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usepackage{textgreek}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{shapes.multipart}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows.meta, calc, positioning, shapes, matrix}
\usetikzlibrary{arrows}
\usetikzlibrary{calc}




\newcommand{\myfont}{\footnotesize}
\tikzstyle{block} = [draw,
rounded corners]

\begin{document}

    \begin{tikzpicture}[auto,  font = {\myfont}, thick]
    % Hilfslinien
    \draw[help lines] (-5,-5) grid (5,5);


    \node[block, align=center] (isolation) {hello};
    \end{tikzpicture}

\end{document}

输出: 在此处输入图片描述 左侧显示了我的“开发”文件的输出。右侧是主文档的输出。

如您所见,如果我将其放入主文档中,字体会稍微大一些。这足以扭曲我的所有 tikzpictures。提前感谢

答案1

KOMA-Script 课程的默认字体大小为11pt,但标准课程的默认字体大小为10pt

也许你可以将所有 tikzpictures 的字体大小更改为10pt使用

\usepackage{xpatch}
\xpretocmd\tikzpicture{\KOMAoptions{fontsize=10pt}}{}{\PatchFailed}

在此处输入图片描述

代码:

\documentclass[
  fontsize=11pt% 11pt is default for KOMA-Script classes
]{scrreprt}
\usepackage{tikz}
\newcommand{\myfont}{\sffamily\footnotesize}
\tikzset{block/.style = {draw,rounded corners}}

\usepackage{xpatch}
\xpretocmd\tikzpicture{\KOMAoptions{fontsize=10pt}}{}{\PatchFailed}

\begin{document}
\begin{tikzpicture}[auto,font = {\myfont}, thick]
% help lines
\draw[help lines,lightgray!50] (-5,-5) grid[step=2mm] (5,5);
\draw[help lines] (-5,-5) grid (5,5);

\node[block] (isolation) {hello};
\end{tikzpicture}
\end{document}

例如article

\documentclass{article}% default font size is 10pt
\usepackage{tikz}
\newcommand{\myfont}{\sffamily\footnotesize}
\tikzset{block/.style = {draw,rounded corners}}

\begin{document}
\begin{tikzpicture}[auto,font = {\myfont}, thick]
% help lines
\draw[help lines,lightgray!50] (-5,-5) grid[step=2mm] (5,5);
\draw[help lines] (-5,-5) grid (5,5);

\node[block] (isolation) {hello};
\end{tikzpicture}
\end{document}

结果:在此处输入图片描述

相关内容