调整 TikZ 中节点的字体大小

调整 TikZ 中节点的字体大小

如何将node以下代码中的 字体大小设置为\small?我希望 的字体大小node与 下指定的字体大小相同LM/.style。我试过了\node at (0.9,0.85) {\small $\phi$};。这不起作用。

\documentclass{article}
\usepackage{graphicx,tikz}
\usetikzlibrary{arrows.meta,quotes}
\tikzset{
LM/.style = {very thin,
        {Bar[]Stealth}-%
        {Stealth[]Bar}
            },
every edge quotes/.append style= {font=\footnotesize},
  every node/.append style ={font=\small} 
  }

\begin{document}
\begin{figure}[htp!]
    \centering
\begin{tikzpicture}
\draw [LM] (1,0.6) to ["$\phi = 45$"] (2,0.6);
\node at (0.9,0.85) {\small $\phi$};
\end{tikzpicture}
\end{figure}
\end{document}

答案1

\node[font=\small],但我不清楚这个问题:

  • 样式LM未指定任何字体大小。

  • every node/.append style={font=\small}正在使用\small,但是这并未在中使用,而是通过的设置来"$\phi = 45$"使用。\footnotesizeevery node edge quotes/.append style={font=\footnotesize}

    或许,\node[font=\footnotesize]就是你想要的。

答案2

节点\small文本中的将覆盖\footnotesizefont激活的键开始排版节点,正如 Heiko Oberdiek 所说。请注意,字体大小命令在 LaTeX 中是绝对的 ---\small并不意味着更小...

为了展示发生了什么:

\documentclass{article}
\usepackage{graphicx,tikz, siunitx}
\usetikzlibrary{arrows.meta,quotes}
\tikzset{
LM/.style = {very thin,
        {Bar[]Stealth}-%
        {Stealth[]Bar}
            },
every edge quotes/.append style= {font=\footnotesize},
  every node/.append style ={font=\small} 
  }

\begin{document}
\begin{figure}[htp!]
    \centering
\begin{tikzpicture}
\draw [LM] (1,0.6) to ["$\phi = 45$"] (2,0.6);
\node at (0.9,0.85) {\small $\phi$};
\begin{scope}[yshift=-1cm, blue]
    \draw [LM] (1,0.6) to ["$\phi = \qty{45}{\degree}$"] (2,0.6);
    \node at (0.8,0.85) {\footnotesize $\phi$};
\end{scope}
\end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述

相关内容