使下标中的数字更小

使下标中的数字更小

请看以下示例。整体输入的另一个下标中的下标中的数字\scriptsize(默认为图中箭头上方的标签)似乎太大。我尝试了不同的字体,但它们都显示相同的结果,所以这不是字体问题,而是我的输入错误。

我应该如何正确输入这种下标,以便数字能够以正确的大小显示?(目标是使f_{c_1}箭头标签中的符号看起来与显示的数学中所示的正常版本相似。如您所见,现在数字1甚至比箭头标签中的字母还要大c。)

\documentclass{article}
\usepackage{tikz-cd}
% \usepackage{kpfonts-otf}
% \usepackage{newpxmath}
% \usepackage{ebgaramond-maths}
\begin{document}
\[
    \begin{tikzcd}
        \bullet & \bullet \\
        \bullet & \bullet
        \arrow[from=1-1, to=2-1]
        \arrow[from=1-2, to=2-2]
        \arrow["{f_{c_1}}", from=1-1, to=1-2]
        \arrow["{f_{c_2}}"', from=2-1, to=2-2]
    \end{tikzcd}
\]
\[
    f_{c_1}, f_{c_2}
\]
\end{document}

在此处输入图片描述

答案1

正如评论中提到的,TikZ-CD 设置了\scriptstyle所谓的标签(即沿箭头的节点)。第一个下标得到\scriptscriptstyle...就是这样。

如果您希望标签的大小与普通数学相同,您可以通过将这些标签的字体设置为\textstyle- 或来告诉 TikZ-CD \displaystyle,但在此示例中这不起作用。

我还添加了一个选项,可以使用该选项再次缩小这些标签,scale以保留数学样式并缩小整个节点,类似于如何\scalebox操作。

default label scaling默认情况下,每个标签都具有的样式scale = 0.7。您需要使用scale = 1/.7来恢复,这对我来说很不舒服,因为 TeX/TikZ 可能无法由于不精确而正确恢复。您也可以shift only在 前面使用scale={#1}来重置任何旋转、倾斜和缩放,但这可能会弄乱 的标签sloped
相反,scale labels键只是default label scaling用无操作覆盖并添加所需的缩放比例。

然而,这只能完成一次,如第二个例子所示,这里它们再次堆叠。

不过,我认为这不应该是一个问题,因为具有不同比例标签的图表无论如何都会很难看。

代码

\documentclass{article}
\usepackage{tikz-cd}
\tikzcdset{
  default label scaling/.style={scale=.7},
  labels={default label scaling},
  labels in textstyle/.style={
    labels={font=\everymath\expandafter{\the\everymath\textstyle},
    inner sep=+0.7ex}},
  scale labels/.style={
    default label scaling/.code=, % disable default scaling
    labels={scale={#1}}}}
% \usepackage{kpfonts-otf}
% \usepackage{newpxmath}
% \usepackage{ebgaramond-maths}
\begin{document}
\[
\begin{tikzcd}[labels in textstyle]
    \bullet & \bullet \\
    \bullet & \bullet
    \arrow[from=1-1, to=2-1]
    \arrow[from=1-2, to=2-2]
    \arrow["{f_{c_1}}", from=1-1, to=1-2]
    \arrow["{f_{c_2}}"', scale labels=1, from=2-1, to=2-2] % removes scale=.7
\end{tikzcd}
\]
\[
    f_{c_1}, f_{c_2} \quad \scriptstyle f_{c_1}, f_{c_2}
\]
\[
\begin{tikzcd}[labels in textstyle, scale labels=.5] % .5, not .7 * .5
    \bullet & \bullet \\
    \bullet & \bullet
    \arrow[from=1-1, to=2-1]
    \arrow[from=1-2, to=2-2]
    % the following keep scale = .5 from the environment's setting
    \arrow["{f_{c_1}}" , scale labels= .5, from=1-1, to=1-2] % .5 *  .5
    \arrow["{f_{c_2}}"', scale labels=2,   from=2-1, to=2-2] % .5 * 2
\end{tikzcd}
\]
\end{document}

输出

在此处输入图片描述

答案2

正如@Werner 在对该问题的评论中提到的那样,在这种情况下正确的做法似乎是(以某种方式)缩放正常版本。

例如:

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
    \begin{tikzcd}
        \bullet & \bullet \\
        \bullet & \bullet
        \arrow[from=1-1, to=2-1]
        \arrow[from=1-2, to=2-2]
        \arrow["{\displaystyle\widehat{f}_{c_1}}"{scale=.75}, from=1-1, to=1-2]
        \arrow["{\displaystyle\widehat{f}_{c_2}}"'{scale=.75}, from=2-1, to=2-2]
    \end{tikzcd}
\]
\[
    f_{c_1}, f_{c_2}
\]
\end{document}

在此处输入图片描述

相关内容