\in 的垂直对齐

\in 的垂直对齐

使用此代码可以看出,epsilon 符号和 R 垂直方向未对齐。有办法解决这个问题吗?

展示

梅威瑟:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$ \forall x \in {\rm I\!R} $, $x$
\end{document}

答案1

可以看出,epsilon 符号和 R 在垂直方向上未对齐

首先,你的截图确实不是显示\epsilon\varepsilon。相反,它显示由宏 生成的 TeX 和 LaTeX 符号\in。大声朗读时,此符号通常发音为(英语)“in”——因此得名宏……——或“is element of”。其次,在 LaTeX 中,通常最好将表示“实数集”的字母写为\mathbb{R}

在此处输入图片描述

附言:{\rm I\!R}自 1994 年 LaTeX2e 取代 LaTeX2.09 以来,Writing 就被弃用了。Writing恰好在某些 LaTeX 文档类中仍然有效,但在其他文档类中则不行{\rm I\!R}。如果您关心代码的可移植性和长期可维护性,您不应该再写\rm\it\bf和;而是写(显然是在数学环境中)、、\sf\tt\mathrm\mathit\mathbf\mathsf\mathtt您坚持不是使用时\mathbb{R},应将符号写为\mathrm{I}\!\mathrm{R},而不是{\rm I\!R}

回到如何定位的问题\in。在精细排版中——毕竟,这是 TeX 和 LaTeX 所追求的——排版有单独的规则字母(拉丁文和希腊文,大小写都有),一方面用于排版非字母符号(包括、、、、、\in等)。请考虑以下使用 Computer Modern(serif)数学系列绘制的字母和非字母符号列表。+\times\div\sum

在此处输入图片描述

字母符号显示在左侧(至\Pi):它们都排列在一条称为基线(另外两条重要的线是 x 高度线和大写高度线。)相比之下,非字母符号是不是对齐基线。相反,它们被放置在一条公共线上,这条线通常被称为数学线或数学轴。(您可能会问,数学轴是什么?在哪里?它是一条位于基线和 x 高度线之间的假想水平线。 的水平部分+-(“减”)和\div位于数学轴上。)请注意,希腊大写字母\Sigma\Pi位于基线上,而非字母符号\sum\prod则不位于基线上。这不仅仅是比\sum更高\Sigma; 的一部分\sum显然低于基线,而 并非如此——这是设计使然\Sigma

一些非字母符号(最明显的是-)从不越过基线,而其他符号(包括\in)则有部分低于基线。顺便问一下,您是否注意到符号的最底部分+比符号的最底部分更低于基线\in?那又怎么样?没什么大不了的。

符号\in应该有多大是字体设计师必须做出的选择。在我看来,将符号做得\in相当大,以至于一部分必须位于(字母)基线以下,这是一个很好的(印刷)原因,正是为了避免符号含义的任何视觉歧义:读者永远不必费心去思考他们所盯着的符号是否表示“是元素”或“epsilon”。同样,将和做得比和大得多的一个非常好的印刷\sum原因\prod\Sigma\Pi避免对符号含义的任何歧义意义的符号。


以下截图说明了不同的字体设计不仅会影响各种数学字形的形状,还会影响数学轴相对于基线和 x 高度线的位置。[顺便说一下,线条绘制代码改编自(偷来的?!)Paul Gaborit 的回答对于这个问题,为什么 $x \in X$ 中的所有符号都有自己的基线?功劳应归功劳!]

计算机现代(拉丁现代非常相似):

在此处输入图片描述

时间和mtpro2数学字体包(Times Roman 克隆):

在此处输入图片描述

newtxtext以及newtxmath(另一个 Times Roman 克隆版本):

在此处输入图片描述

newpxtextnewpxmath(Palatino 克隆):

在此处输入图片描述

显然,这些字体都有各自的特点。不过,所有数学符号的共同点是,它们都垂直居中在各自的数学轴上。


生成上面显示的前两个屏幕截图的代码:

\documentclass[border=1pt]{standalone}
\usepackage{amsfonts} % for "\mathbb"
\newcommand{\myR}{\mathrm{I}\!\mathrm{R}}
\begin{document}
$\mathrm{e}e\epsilon\varepsilon{\in}\ \mathbb{R}\myR$

%$a\alpha e\epsilon\varepsilon X\Sigma\Pi{\subset}{\in}{-}{+}{\times}{\div}{\sum}{\prod}{\int}\displaystyle{\sum}{\prod}{\int}$
\end{document}

生成带有各种水平线的屏幕截图的代码:

\documentclass{article}

%% Uncomment as needed:
%\usepackage{times,mtpro2}
%\usepackage{newtxtext,newtxmath}
\usepackage{newpxtext,newpxmath}

\usepackage[margin=0pt,
   paperwidth=3.35cm,paperheight=0.5cm]{geometry}
\usepackage{xcolor,graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[scaled=0.85]{helvet}

% Draw a line showing a font metric
%  #1 color, #2 vertical position, #3 label
\newcommand{\drawmetric}[3]{%
  \rlap{%
    \color{#1}\rule[#2]{2.9cm}{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}

% Draw the metrics and some text
\noindent\rlap{ % 
  $\mathrm{Hx}e\epsilon\varepsilon{\in}{\subset}{\subseteq}{+}{\times}\Sigma{\sum}$}
  \drawallmetrics{}
\end{document}

答案2

  • 方程式的标准(正确)排版方式如下 mwe 中的第一个示例。
  • 你喜欢发明新规则吗?例如下面 mwe 中的第二个例子?

\documentclass{article}
\usepackage{amssymb}

\begin{document}
    \[
\forall x \in \mathbb{R}
    \]
    \[
\forall x \raisebox{1pt}{$\;\in\;$} \mathbb{R}
    \]
\end{document}

在此处输入图片描述

正如你从 mwe 中看到的,没有标准化的方法可以假设按照你想要的方式排版就是好的排版。我建议你阅读一些关于数学排版的介绍性文字latex例如wiki/LaTeX/数学进而wiki/LaTeX/高级数学

答案3

您可以使用该amsfonts包通过宏访问黑板粗体字体\mathbb{}

\documentclass{article}

\usepackage{amsmath,amsfonts}


\begin{document}

You can write
\[
  \forall x \in {\rm I\!R}
\]
or better
\[
  \forall x \in \mathrm{I}\!\mathrm{R}
\]

But the recommended way is
\[
  \forall x \in \mathbb{R}
\]

\end{document}

答案4

只需使用不同的字体即可。我猜你有使用 Microsoft Word 的经验,其中 Cambria Math 用于输入方程式。因此:

\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[]{amsmath}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Cambria}
\usepackage[math-style=TeX]{unicode-math}
\setmathfont{Cambria Math}
\begin{document}
\bgroup
\everymath{\displaystyle}
$\forall x \in \mathbb{R}$
\egroup
\end{document}

无需任何调整即可产生预期结果:

在此处输入图片描述

相关内容