是否可以在文本中使用数学命令而不使用$..$
或\(..\)
例如:
... testing \alpha more text
答案1
虽然可以诱导 LaTeX 允许
... testing \alpha more text
或类似的输入,这打开了大门
... testing \alpha+\beta more text
或者更糟的是,
... testing \alpha-\beta more text
遗憾的是,这会导致我们在排版不佳的文档中看到一些我们习以为常的东西。接受写作训练
\(\alpha\)
将帮助打字员正确分离数学,以便 TeX 能够应用其特殊的数学处理。
添加
如果你需要输入的是希腊语单词,而不是数学符号,那么方法就不同了:输入
\usepackage[greek,english]{babel}
在你的序言中。如果你已经使用巴别塔,添加该greek
选项作为第一个。然后
\textgreek{ABGDEZHJIKLMNXOPRSTUFQYW abgdezhjiklmnxoprstufqyw}
将排版希腊小写字母。“tonos”可以作为前缀撇号输入:
\textgreek{Ag'ia Sof'ia (Kwnstantino'upolh)}
将打印 Αγία Σοφία (Κωνσταντινούπολη)
还支持多音调希腊语。
答案2
所有答案都提到使用数学字体中的 alpha。如果您要排版希腊字,则应使用文本字体中的 alpha。我不知道 LaTeX,但在 ConTeXt 中有两种方法可以使用文本字体中的希腊字母。对于这两种情况,您都需要使用具有希腊字母的文本字体(TeX Gyre Fonts 有,LM 没有)。
\setupbodyfont[palatino]
\starttext
\startTEXpage[width=6cm, offset=2mm]
There are two ways to get Greek letters in text mode:
\startitemize[n][headstyle=bold]
\head Type them directly
αβγδε \unknown
\head Use \type{\greek...} macros
\greekalpha\greekbeta\greekgamma\greekdelta\unknown
\stopitemize
Notice that text Greek symbols αβγδε differ from math Greek symbols $αβγδε$.
\stopTEXpage
\stoptext
这使
答案3
您首先需要使用以下命令存储原始命令\let
:
\let\storeAlpha=\alpha
然后重新定义命令,这里是最小的:
\documentclass[10pt,a4paper]{article}
\usepackage{xspace}
\begin{document}
\let\storeAlpha=\alpha
\renewcommand\alpha{\relax\ifmmode{\storeAlpha}\else{$\storeAlpha$}\fi\xspace}
%% another way is to use \ensuremath
\let\storeBeta=\beta
\renewcommand\beta{\ensuremath{\beta}}
This is an \alpha and an $\alpha$ and an \(\alpha\) and a \beta.
\end{document}
检查\ifmmode
TeX 是否处于数学模式,如果为真则使用原始命令,否则插入$..$
。
答案4
$...$
抱歉,如果不将数学控制序列放在数学环境(例如Or$$...$$
或 )中,就无法编写数学控制序列\[...\]
。我能看到的唯一方法是使用几种方法中的一些来定义所需的控制序列,但我会选择使用ensuremath
,以确保无论您在什么环境中使用数学命令,编译器都不会向您抱怨并给您数百万个错误。
例如:
梅威瑟:
\documentclass{article}
\def\alp{\ensuremath{\alpha} }
\begin{document}
This is a test that \alp works inside of the text-mode environment.
\end{document}
其结果为:
这是完成工作的方法之一。
希望这有帮助。
编辑:正如 egreg 善意地向我指出的那样。$$...$$
不应使用 来显示数学,而应使用 ->\[...\]
作为“等效”替代方案(减去空格问题$$...$$
)。