![如何在 LaTeX 中插入直立三角符号?](https://linux22.com/image/451323/%E5%A6%82%E4%BD%95%E5%9C%A8%20LaTeX%20%E4%B8%AD%E6%8F%92%E5%85%A5%E7%9B%B4%E7%AB%8B%E4%B8%89%E8%A7%92%E7%AC%A6%E5%8F%B7%EF%BC%9F.png)
答案1
(我重写了答案,以避免给人留下任何印象,即我可能以某种方式声称一个 LaTeX 化学软件包可能比另一个“更好”。要全面了解各种 LaTeX 化学软件包的优缺点,请查看帖子排版化学式。
首先,假设“凸起的 18 个直立大写字母 O”表示氧的某种同位素,我强烈建议您使用 LaTeX 化学软件包的宏来排版化学公式和方程式。例如,您可以加载软件包mhchem
并使用其\ce
宏。
其次,对于直立三角符号,如何进行取决于您使用的文本和数学字体系列:
如果您的文档使用默认字体(Computer Modern),您可以加载
upgreek
包并使用该包的\updelta
宏而不是\delta
。如果您希望在文档中使用 Times Roman 字体(我提出这一点是因为 OP 的屏幕截图中显示的字形看起来像是 Times Roman 系列的字体),您可以通过加载
newtxtext
和newtxmath
包来实现。幸运的是,\newtxmath
还提供了一个名为的宏\updelta
,您可以将其用于化学公式。根据该
mhchem
软件包的用户指南,除了upgreek
和 之外,其他\newtxmath
提供对调用的宏的访问的软件包\updelta
还有textgreek
、kpfonts
、mathdesign
、fourier
、和。textalpha
newpxmath
unicode-math
有趣的是,如果加载了其中一个字体包,
\ce
宏将自动地\updelta
在评估表达式时,使用直立的希腊字母——这里——\ce{\delta^18O}
。
我认为直立小写 delta 符号后面的微小间隙有助于澄清我们不是在处理“delta 的 18 次方”。
\documentclass{article} % or some other suitable document class
\usepackage{newtxtext,newtxmath} % Times Roman fonts (text and math)
\usepackage{mhchem} % for \ce macro
\begin{document}
$\delta$ vs.\ $\updelta$
$\updelta\ce{^18O}$
\ce{\delta^18O} % note use of "\delta" _inside_ "\ce"
\end{document}
答案2
答案3
该unicode-math
软件包提供了\updelta
、\mupdelta
和\symup{\delta}
。它需要 LuaLaTeX 或 XeLaTeX。我建议您尽可能使用这个,如果必须的话,使用传统的 8 位数学字体。
如果必须的话,许多其他软件包也提供\updelta
或\deltaup
。
只有两种 8 位 TeX 编码支持直立希腊小写字母:OML(包含拉丁和希腊数学符号)和 LGR(涵盖多音希腊语)。您可以加载 OML 编码的直立字体,isomath
然后\mathrm{\delta}
按照您的想法使用。Math Design 字体是仅有的一些支持直立小写希腊语的 8 位数学字体。
\documentclass{article}
\usepackage{amsmath}
\usepackage[utopia]{mathdesign}
\usepackage[rmdefault=mdput, OMLmathrm]{isomath}
\begin{document}
\begin{align*}
&\mathrm{\delta}^{18}\mathrm{O} \\
&\delta^{18}\mathrm{O}
\end{align*}
以上使用mdput
或 Math Design Utopia,后者也与 兼容fourier
。可用选项(Math Design Garamond、Utopia 或 Charter)包括记录在isomath
手册第 4.2.2 节中。
如果您想使用除这些之外的 8 位字体,则应将其声明为符号字母表。由于 Euler 对其希腊字母和拉丁字母使用与标准 OML 相同的映射,但从技术上讲被声明为编码U
,因此上述内容不适用于 Euler,但以下内容可以:
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathpazo}
\DeclareMathAlphabet{\mathrm}{U}{zeur}{m}{n}
\SetMathAlphabet{\mathrm}{bold}{U}{zeur}{b}{n}
\begin{document}
\begin{align*}
&\mathrm{\delta}^{18}\mathrm{O} \\
&\delta^{18}\mathrm{O}
\end{align*}
\end{document}
几点说明:Hermann Zapf 最初设计 AMS Euler 是为了补充 Concrete 字体(用于 DEK 的书,具体数学),但他也设计了 Palatino 和 Optima,它们也是对它的极好补充。您可能还希望使用不同的字母来表示直立的数学符号,也许称之为\symup
,而\mathrm
对于诸如 之类的文本则保持不变if
。
如果您的 8 位字体的直立希腊字母位于不同的位置,则应首先寻找定义符号(例如)的包\updelta
,例如upgreek
。但是,大多数希腊文本字体都没有这些符号。这个最小示例展示了如何使用 LGR 编码字体(Tempora,Times 的补充,但对于实际实际使用,您可能需要newtxmath
这个)来实现这一点。
documentclass{article}
\usepackage[LGR,T1]{fontenc}
\usepackage{amsmath}
\usepackage{mathptmx}
\DeclareSymbolFont{elup}{LGR}{Tempora-TLF}{m}{n}
\SetSymbolFont{elup}{bold}{LGR}{Tempora-TLF}{b}{n}
\DeclareMathSymbol{\updelta}{\mathalpha}{elup}{"64}
\begin{document}
\begin{align*}
&\updelta^{18}\mathrm{O} \\
&\delta^{18}\mathrm{O}
\end{align*}
\end{document}
这也适用于 Computer Modern:
\documentclass{article}
\usepackage[LGR,T1]{fontenc}
\usepackage{amsmath}
\DeclareSymbolFont{elup}{LGR}{cmr}{m}{n}
\SetSymbolFont{elup}{bold}{LGR}{cmr}{b}{n}
\DeclareMathSymbol{\updelta}{\mathalpha}{elup}{"64}
\begin{document}
\begin{align*}
&\updelta^{18}\mathrm{O} \\
&\delta^{18}\mathrm{O}
\end{align*}
\end{document}
LGR 和 OML 的布局已记录在“LaTeX 字体编码”中否则,特定的包可能会记录其自己的自定义编码。
最后,您可以在数学模式下使用任何 LGR 编码的希腊文本字体(例如来自希腊字体协会的字体)和该mathastext
包。
答案4
简单:想要吗?写吧。用 xelatex 或 lualatex 编译并使用合适的字体:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\def\su#1{\textsuperscript{#1}}
\begin{document}
δ\su{81} O
%想要斜体吗?好的!
{\it δ} \su{81} O
\end{document}