电传打字希腊字母

电传打字希腊字母

我需要用电传打字机字体写希腊字母(具体来说,\mu\alpha\tau),但将它们包裹在 中\mathtt似乎不起作用。实际上,似乎没有一种字体类型适用于这些小写字母(\bm但我可以用 加粗)。那么,我该如何用电传打字机字体输入这些希腊字母呢?

答案1

这很大程度上取决于主文档字体。对于 Computer Modern,您可以使用字体cbgreek。不过,其他字体系列支持希腊语。请自行选择。

\documentclass{article}
\usepackage[LGR,T1]{fontenc} % to enable Greek encoding
\usepackage{amsmath}

\DeclareSymbolFont{ttgreek}{LGR}{cmtt}{m}{n}
%\SetSymbolFont{ttgreek}{bold}{LGR}{cmtt}{bx}{n} % there is no bold

\DeclareMathSymbol{\ttalpha}{\mathord}{ttgreek}{`a}
\DeclareMathSymbol{\ttmu}{\mathord}{ttgreek}{`m}
\DeclareMathSymbol{\tttau}{\mathord}{ttgreek}{`t}

\begin{document}

$\alpha\ne\ttalpha$

$\mu\ne\ttmu$

$\tau\ne\tttau$

\end{document}

在此处输入图片描述

答案2

命令\alpha\Beta是在数学模式下定义的。默认文本字体也不包含直立的希腊小写字母。

默认情况下,LaTeX 可以理解 UTF-8 文档中的希腊字母,但该textalpha软件包添加了诸如、等命令\textalpha\textBeta您可以加载该alphabeta软件包,以便\alpha在文本或数学模式下使用诸如等命令。它还启用了\textalpha、等。

在 LuaLaTeX 中,您可以选择支持希腊语的 Unicode 字体,并且每当您键入希腊字母时 LaTeX 就会切换到该字体:

\documentclass{article}
\tracinglostchars=2
\usepackage[english]{babel}
\usepackage[default]{fontsetup} % Select New Computer Modern Book
\babelprovide[onchar=ids fonts]{greek}
\usepackage{alphabeta}

\begin{document}
\texttt{αβγ\textdelta\textEpsilon\texttheta\textlambda}
\end{document}

如果需要使用 PDFLaTeX,可以这样做:

\documentclass{article}
\tracinglostchars=2
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenc} % The default since 2018
\usepackage{alphabeta}

\begin{document}
\texttt{αβγ\textdelta\textEpsilon}
\end{document}

这假设您只需要几个希腊符号来表示代码列表之类的内容。某些字体(例如 Computer Modern Unicode)对希腊数学符号和文本有不同的形式,您可以使用 OpenType 功能(例如希腊文脚本或数学希腊文)进行选择。如果您需要选择这些形式,或者输入带有正确连字和最终西格玛的实际希腊语单词,则需要为希腊语和英语设置单独的字体功能。

\documentclass{article}
\tracinglostchars=2
\usepackage[english]{babel}
\usepackage{fontspec,textalpha}
\babelprovide[onchar=ids fonts]{greek}

\babelfont{rm}
          [Ligatures={Common,Discretionary}]{NewComputerModernBook}
\babelfont{rm}
          [Ligatures={Common,Discretionary}]{NewComputerModernSansBook}
\babelfont{tt}
          [Ligatures={Discretionary}]{NewComputerModernMonoBook}

\begin{document}
\texttt{αβγ\textdelta\textEpsilon\texttheta\textlambda}
\end{document}

在数学模式下,fontspec将允许使用 Unicode 字体\mathtt。如果您坚持使用 8 位引擎,\usepackage[OMLmathtt]{isomath}将允许您加载\mathtt包含希腊文的字体。TeX 可用的 OML 编码直立等宽字体很少,但我认为有这个选项,我想您可以自己从 Unicode 字体创建一个。

您还可以定义

\newcommand\vartt[1]{\textnormal{\ttfamily #1}}

允许在数学模式下使用文本模式希腊语,这可以支持 8 位 LGR 字体。如果您还加载了\usepackage{alphabeta},则可以使用\vartt{\alpha}等等。

最后,mathastext可以选择从 LGR 编码字体加载希腊数学字母。

相关内容