更改 mathastext 希腊字母的字体

更改 mathastext 希腊字母的字体

我正在使用该mathastext软件包使数学内容与文本保持一致。该软件包提供了一个\MTgreekfont更改希腊字母字体的命令。目前我使用的字体lmtt,但它的大小与 Courier 的不匹配,因此我想切换到 Courier 的原生字体。但是我找不到 Courier 的内部名称(例如lmttLatin Modern),\MTgreekfont{courier}无法使用。我如何找到这个内部名称?或者,有没有办法更改当前希腊字母的比例?

此外,如果我将 Menlo 字体与 xelatex 一起使用会怎么样?字体本身似乎提供了希腊字母,我该如何使用它们mathastext

下面是 MWE。

%! TEX program = xelatex
\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{courierten}% Courier
% \usepackage[no-math]{fontspec}% These two lines require xelatex
% \setmonofont[Mapping=tex-text]{Menlo}% Menlo
\renewcommand{\familydefault}{\ttdefault}
\usepackage[italic,LGRgreek]{mathastext}
\MTgreekfont{lmtt} % What should I put here respectively, for Courier and Menlo?
\Mathastext
\begin{document}
\noindent Text\\
$\alpha\beta\gamma\epsilon$
\end{document}

答案1

您的选择是:

  • 在 LuaLaTeX 或 XeLaTeX 中,使用 加载 OpenType 数学字体unicode-math。它们都带有希腊字母。您可以使用 等更改其希腊字母\setmathfont[Scale=MatchLowercase, range=it/{Greek,greek}]{Some Greek Italic Font}
  • \setmathsfont(Greek}mathspecXeTeX 中加载。
  • 使用 加载 LGR 编码中的传统 8 位字体mathastext。您通常需要查找名为 的文件lgr*.fd。如果您不介意保持固定宽度,则可以将希腊字体协会的 GFS Neohellenic 配对。
  • 加载\usepackage{gfsneohellenicot}PDFTeX 以获取 GFS Neohellenic Math,然后使用将\usepackage{mathastext}拉丁字母更改为 Courier/Cursor。
  • isomath使用或加载包含希腊字母和拉丁字母的传统 OML 数学字体\DeclareMathAlphabet

答案2

解决方案,使用pdflatexmathastext。在我的 Linux 系统上texlive,我使用LGR命令find texlive -name "*LGR*fd"texlive位于我的主目录中)找到了字体文件,然后就可以找到字体名称。

\documentclass{article}

\usepackage{courierten} % CourierOneZeroPitch-TLF
\usepackage[italic,LGRgreek]{mathastext}

\newcommand{\mtset}[1]{\MTfamily{#1}\MTgreekfont{#1}\Mathastext[#1]}
\mtset{Cochineal-TLF}
\mtset{CourierOneZeroPitch-TLF}
\mtset{DejaVuSans-TLF}
\mtset{EBGaramond-TLF}
\mtset{TheanoDidot-TLF}
\mtset{TheanoOldStyle-TLF}
\mtset{lmtt}

% Switches font
\newcommand{\mtv}{\MTversion}
% Creates row in tabular
\newcommand{\mtrow}[1]{\mtv{#1} #1:
  &\quad\mtv{#1}$\alpha$&\mtv{#1}$\beta$&\mtv{#1}$\gamma$&\mtv{#1}$\delta$
  &\mtv{#1}$\epsilon$&\mtv{#1}$\zeta$&\mtv{#1}$\eta$&\mtv{#1}$\theta$
  &\mtv{#1}$\iota$&\mtv{#1}$\kappa$&\mtv{#1}$\lambda$&\mtv{#1}$\mu$
  &\mtv{#1}$\nu$&\mtv{#1}$\xi$&\mtv{#1}$\pi$&\mtv{#1}$\rho$
  &\mtv{#1}$\sigma$&\mtv{#1}$\tau$&\mtv{#1}$\upsilon$&\mtv{#1}$\phi$
  &\mtv{#1}$\chi$&\mtv{#1}$\psi$&\mtv{#1}$\omega$\\[2mm]
}

\begin{document}


\mtv{CourierOneZeroPitch-TLF} CourierOneZeroPitch-TLF is default
tt-font in the question's setup but it has no greek alphabet\medskip
  
\setlength{\tabcolsep}{0mm}
\begin{tabular}[t]{rccccccccccccccccccccccc}
  \hline\\
  \mtrow{Cochineal-TLF}
  \mtrow{CourierOneZeroPitch-TLF}
  \mtrow{DejaVuSans-TLF}
  \mtrow{EBGaramond-TLF}
  \mtrow{TheanoDidot-TLF}
  \mtrow{TheanoOldStyle-TLF}
  \mtrow{lmtt}
  \hline
\end{tabular}
\medskip

\mtv{CourierOneZeroPitch-TLF} A little courier with its math
$\displaystyle\frac{\alpha\beta}{2}\int_0^1 f(x)dx$

\mtv{CourierOneZeroPitch-TLF} A little courier \MTversion*{lmtt} with
lmtt's math $\displaystyle\frac{\alpha\beta}{2}\int_0^1 f(x)dx$

\mtv{lmtt} A little lmtt with its math
$\displaystyle\frac{\alpha\beta}{2}\int_0^1 f(x)dx $
\end{document}

小样本

texlive在我的系统中发现了许多有趣且漂亮的希腊字体。

许多希腊字体

答案3

如果您使用 XeLaTeX,您可以声明希腊字母以使用主字体(假设它包含它们)。

documentclass[11pt,a4paper]{article}
\usepackage[no-math]{fontspec}% These two lines require xelatex
\usepackage[italic]{mathastext}

\setmonofont{Menlo}
\renewcommand{\familydefault}{\ttdefault}

\Mathastext

\Umathchardef\alpha="0 \symmtletterfont `α
\Umathchardef\beta="0 \symmtletterfont `β
\Umathchardef\gamma="0 \symmtletterfont `γ
\Umathchardef\epsilon="0 \symmtletterfont `ε

\begin{document}

Text $x\alpha\beta\gamma\epsilon$

\end{document}

填写其余部分。

在此处输入图片描述

答案4

为了解决原始问题,也许重新缩放courier可以解决问题:使用courier数学,但由于它没有自己的希腊字母,因此使用lmtt希腊字母。在我看来,lmtt数学看起来比couriers 更好,因为它使用斜体而不是倾斜,因此使用courier数学lmtt

\documentclass{article}

\usepackage[scale=0.95]{courierten} % CourierOneZeroPitch-TLF
\usepackage[italic,LGRgreek]{mathastext}
\MTfamily{CourierOneZeroPitch-TLF}
\Mathastext[courier]
\MTfamily{CourierOneZeroPitch-TLF}
\MTgreekfont{lmtt}
\Mathastext[courierlmtt]
\MTfamily{lmtt}
\MTgreekfont{lmtt}
\Mathastext[lmtt]

% Switches font
\newcommand{\mtv}{\MTversion}

\begin{document}
\mtv{courier} Here is a \emph{\textbf{little courier}} with its math
but doesn't have its own greek so I think it gets cmr's
$\displaystyle\frac{\alpha\beta\gamma\delta}{2}\int_0^1
f(x)dx$.\bigskip

\mtv{courierlmtt} Here is a \textbf{\emph{little courier}} with lmtt's
greek $\displaystyle\frac{\alpha\beta\gamma\delta}{2}\int_0^1
f(x)dx$. \bigskip

\mtv{lmtt} Here is a \emph{\textbf{little pure lmtt}} with it own math
$\displaystyle\frac{\alpha\beta\gamma\delta}{2}\int_0^1 f(x)dx$.\bigskip 

\mtv{courier}\mtv*{lmtt} Here is a \textbf{\emph{little courier}} with
lmtt math
$\displaystyle\frac{\alpha\beta\gamma\delta}{2}\int_0^1 f(x)dx$.
\end{document}

lmtt 快递组合

相关内容