我到处都看到\tiny
, 等在数学模式下不起作用。当我在代码中使用它时,我也会收到警告Command \tiny invalid in math mode
。但在输出中它仍然有效。至少在某些地方。
我想在其他机器上这不会起作用,所以我不想在数学模式下使用这些命令。但是,在数学模式下制作小字体的所有其他命令都不起作用\tiny
。例如在以下 MWE 中
\documentclass{scrbook}
\begin{document}
$M_{\begin{array}{c}2\\2\end{array}2A}$
$M_{\tiny\begin{array}{c}2\\2\end{array}2A}$
$M_{\scriptsize\begin{array}{c}2\\2\end{array}2A}$
$M_{\scriptstyle\begin{array}{c}2\\2\end{array}2A}$
$M_{\scriptscriptstyle\begin{array}{c}2\\2\end{array}2A}$
\end{document}
我想要的输出是第二个。我有一个由数组组成的下标,并且该数组应包含较小的数字。但这\tiny
是实现此目的的唯一命令。
现在回答我的问题:
- 如何在不使用的情况下制作如第二个示例中的小下标
tiny
。 - 为什么
tiny
对数组下标有效,但对标准下标无效。 - 为什么它对
scriptscriptstyle
标准下标有效,但对数组下标无效。
这个问题不是重复的
大小命令在数学模式下不起作用
因为我也在问为什么tiny
它有效,尽管到处都写着它不起作用(而且@egreg 说它没有重复)。
答案1
大小命令在数学模式下不起作用。但是(某些)大小命令会设置数学,因此如果您在大小更改生效时从文本输入新的数学表达式,则会得到匹配大小的数学。内部数组是\halign
每个单元格都被包围的数组,$...$
因此实际上使用array
就像使用一样\mbox{empty text $ matrix cell$}
,因此条目或多或少会意外地拾取大小更改。
\documentclass{scrbook}
\usepackage{amsmath}
\begin{document}
$M_{\begin{smallmatrix}2\\2\end{smallmatrix}2A}$
\end{document}
答案2
在数学模式下更改字体大小的一个简单方法是将更改大小的命令放在里面\mbox
,例如:
\documentclass[varwidth, preview]{standalone}
\usepackage[T1]{fontenc} % Or unicode-math
\usepackage[utf8]{inputenc} % The default since 2018.
\newcommand\mscriptsize[1]{\mbox{\scriptsize\ensuremath{#1}}}
\newcommand\mtiny[1]{\mbox{\tiny\ensuremath{#1}}}
\begin{document}
\( x \mscriptsize{y} \mtiny{\omega} \)
\end{document}
如果您需要换行较长的表达式,那么可能只需要使用括号。
您还可以使用\text
fromamsmath
在数学模式中插入任意文本模式命令,例如\text{\tiny\itshape x}
。
答案3
您可以定义一个tinymatrix
基于以下模型的环境smallmatrix
:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
% from amsmath.sty, line 960:
\newenvironment{tinymatrix}{\null\,\vcenter\bgroup
\Let@\restore@math@cr\default@tag
\baselineskip4\ex@ \lineskip1.2\ex@ \lineskiplimit\lineskip
\ialign\bgroup\hfil$\m@th\scriptscriptstyle##$\hfil&&\thickspace\hfil
$\m@th\scriptscriptstyle##$\hfil\crcr
}{%
\crcr\egroup\egroup\,%
}
\makeatother
\newcommand{\di}[1]{\begin{tinymatrix}#1\end{tinymatrix}}
\begin{document}
\[
M_{\di{2\\2}2A}
\]
\end{document}
答案4
你可以使用另一个技巧:
\begin{equation}
x = \textrm{\tiny{\(t\)}}
\end{equation}
因此,这里的t
字体很小。