我正在尝试排版下标为 2 和 3 的超几何函数 2F3。具体来说,我想要正确对齐前下标 2,如下例所示:
\documentclass{article}
\usepackage{mathtools}
\usepackage{tensor}
\begin{document}
\[
3{}_2F_3(\cdot)
\]
\[
3\prescript{}{2}{F}_3(\cdot)
\]
\[
3\tensor*[_2]{F}{_3}(\cdot)
\]
\end{document}
这个技巧{}_2F_3
给出了正确的间距,但我想使用更好的方法。
使用\prescript
frommathtools
会导致错误的垂直对齐,正如在mathtools 包中的 \prescript 命令给出了不正确的对齐方式
和\tensor
命令\tensor*
应该tensor
提供正确的对齐方式。不幸的是,使用它们时,2 前缀会稍微向左移动,太靠近数字 3 而离 F 太远。这是一个错误吗?
有没有更好的方法来正确排版 2F3?谢谢!
答案1
不需要包(我在这里加载,amsmath
因为任何包含数学的文档都应该加载)。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\hypgeo}[2]{%
{\vphantom{F}}_{#1}\kern-\scriptspace F_{#2}%
}
\begin{document}
$\hypgeo{2}{3}$
$3\,\hypgeo{2}{3}$
\end{document}
注意删除\scriptspace
以将处方移到 F 旁边。应在因子和超几何函数符号之间插入一个细空格。
可以通过将符号变成运算符(这里amsmath
起着作用)来实现自动插入:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\hypgeo}[2]{%
\operatorname{%
{\vphantom{\mathnormal{F}}}_{#1}%
\kern-\scriptspace
\mathnormal{F}_{#2}%
}%
}
\begin{document}
$\hypgeo{2}{3}$
$3\hypgeo{2}{3}$
\end{document}
答案2
更好的方法是创建一个命令\hypergeo
,用于输入超几何函数。我的解决方案利用actuarialsymbol
该方案于去年发布。
有关精算符号中出现的“上下标对齐问题”的描述,请参阅actuarialsymbol
包装文档。虽然这个包处理的是精算符号,但我认为它对于输入超几何函数也很有用。
语法 \hypergeo
是
\hypergeo[<left-subscript>][<left-superscript>]{<right-subscript>}[<right-superscript>]
论点<right-subscript>
是强制的(可以为空 {}
),其他三个为选修的。如果您声明以下内容
\DeclareRobustCommand{\hypergeo}{\@actinssc F}
\hypergeo*
然后除了 之外,还会创建 一个带星号的版本\hypergeo
,其中 F
将被自动替换为 \bar{F}
。如果您想要 之类的东西,这可能会很有用{}_2\bar{F}_3
。
平均能量损失
\documentclass{article}
%\usepackage{mathtools}
%\usepackage{tensor}
\usepackage{actuarialsymbol}
\newcommand*\hypergeo{}% make sure this has not been defined yet
\makeatletter
\DeclareRobustCommand{\hypergeo}{\@actothersc F}
\makeatother
\begin{document}
$
3{}_2F_3(\cdot)
$\par
% \[
% 3\prescript{}{2}{F}_3(\cdot)
% \]
% \[
% 3\tensor*[_2]{F}{_3}(\cdot)
% \]
$
3\hypergeo[2]{3}(\cdot) \quad 3\hypergeo[2]{3}[(n)](\cdot)
$
\end{document}
在第二行的第二个公式中,请注意当存在上标时, 左下标 2
和右下标 是如何降低的(尽管我不认为这是一种常见的符号)。3
(n)