正确替换“var”希腊符号

正确替换“var”希腊符号

需要在 pdflatex 中使用 utf8 自然希腊符号。对于现代字母,我使用包textalpha,var 希腊符号,我通过替换来练习,但不知道如何正确地做到这一点。现在的文本是:

\documentclass[12pt]{article} 

\usepackage[utf8]{inputenc} 

\usepackage{textalpha}  

% GREEK Symbols var

\DeclareUnicodeCharacter{03F0}{$\varkappa$}

\DeclareUnicodeCharacter{03D1}{$\vartheta$}

\usepackage{amssymb}   %  \for varkappa

\begin{document}

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ

Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω 

ϑ   ϰ

\end{document}

它可以工作,但如果文本只是

$ϑ   ϰ$

它不起作用。因此在数学模式下,var 希腊符号的替换不起作用。

有人能帮助我吗?

问题实际上有 2 个:

  • 是否有任何用于标准希腊符号的包可以代替同时用于文本和数学模式的 textalpha?
  • 文本模式下的 var 希腊符号 的 latex 命令是什么?然后我们可以使用\ifmmode\TextOrMath\DeclareUnicodeCharacter确保文本正确。

它们处于数学模式: \varepsilon ε \varkappa ϰ \varphi φ \varpi ϖ \varrho ϱ \varsigma ς \vartheta ϑ

答案1

阿尔贝塔包裹来自希腊方丹克支持在 8 位 TeX(pdflatex)下的文本和数学模式中使用文字希腊字符。

它扩展了“textalpha”,因此您可以简单地替换

- \usepackage{textalpha}
+ \usepackage[keep-semicolon,normalize-symbols]{alphabeta}

由于符号变体在文本中没有语义含义,并且在“LGR”字体编码中没有单独的代码点,因此在文本模式下无法区分。请选择包含您喜欢的字母形状的字体。

答案2

您的问题是您声明ϑ的意思是$\vartheta$。因此,只要您仅使用文本模式,TeX 就不会显示任何错误。

不幸的是,您的示例$ϑ$将导致$$\vartheta$$。因此,您最终将得到两个(空)内联数学部分和一个\vartheta文本模式中的\vartheta数学,这是不允许的。

作为快速修复,可以建议使用

\DeclareUnicodeCharacter{03F0}{\ensuremath{\varkappa}}
\DeclareUnicodeCharacter{03D1}{\ensuremath{\vartheta}}

\vartheta无论是在数学模式还是文本模式下发布,此构造都会将数学运算放入其中。

一个更优的方法是使用希腊语,而不使用数学模式,如下图所示这个问题或其他地方。

相关内容