在数学模式下,字符和数字位于基线上,向上和/或向下发展。它们如何才能像 和 等符号一样垂直居中在公式轴+
周围=
?
例如:
\documentclass{article}
\begin{document}
$n=0\ d(C,P)$
\end{document}
应该n
向上移动,而0
、d
、 、C
、逗号和P
应该向下移动。如何自动完成此操作,而无需为每个字符和/或数字手动设置 raisebox 值?
谢谢您的帮助,我们非常感激。
编辑:我很抱歉不清楚我想要什么。澄清一下,我的目标是实现 egreg 在他的评论中发布的图片中显示的内容。我希望现在更清楚了,再次感谢。
答案1
以下截图首先展示的是说您想要的——所有字母、数字和逗号都垂直居中在数学轴上——其次是正常排版方法产生的效果,即将字母、数字和逗号全部放在基线上。
我非常希望您同意,最好采用正常的排版方法。就我个人而言,在数学轴上垂直居中逗号近乎荒谬……
\documentclass{article}
\usepackage[margin=0pt, paperwidth=3cm, paperheight=0.5cm]{geometry}
\usepackage{xcolor,graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
% Command to center argument on math axis:
\newcommand\vc[1]{\vcenter{\hbox{$#1$}}}
%% See https://tex.stackexchange.com/a/414613/5001 for source of the following code
%% Draw a line per font metric (#1 color, #2 vertical position, #3 label)
\newcommand{\drawmetric}[3]{\rlap{%
\color{#1}\rule[#2]{2.55cm}{0.05pt}%
\raisebox{#2}{\scalebox{0.3}{%
\tiny\selectfont\sffamily #3}}%
}}
\newcommand\drawallmetrics{%
\drawmetric{red}{0pt}{baseline}%
\drawmetric{blue}{1ex}{x-height}%
\drawmetric{red}{\fontcharht\font`X}{cap-height}%
\drawmetric{cyan}{\the\fontdimen22\textfont2}{math axis}}
\begin{document}
\noindent\rlap{ %
$\vc{n}=\vc{0}\ \vc{c}(\vc{C}\mathpunct{\vc{,}}\vc{u}\mathpunct{\vc{,}}\vc{P})$}
\drawallmetrics{}
\noindent\rlap{ %
$n=0\ c(C,u,P)$}
\drawallmetrics{}
\end{document}