答案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 克隆版本):
newpxtext
和newpxmath
(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}
无需任何调整即可产生预期结果: