请看以下示例。整体输入的另一个下标中的下标中的数字\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}