我正在使用该mathastext
软件包使数学内容与文本保持一致。该软件包提供了一个\MTgreekfont
更改希腊字母字体的命令。目前我使用的字体lmtt
,但它的大小与 Courier 的不匹配,因此我想切换到 Courier 的原生字体。但是我找不到 Courier 的内部名称(例如lmtt
Latin 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}
在mathspec
XeTeX 中加载。- 使用 加载 LGR 编码中的传统 8 位字体
mathastext
。您通常需要查找名为 的文件lgr*.fd
。如果您不介意保持固定宽度,则可以将希腊字体协会的 GFS Neohellenic 配对。 - 加载
\usepackage{gfsneohellenicot}
PDFTeX 以获取 GFS Neohellenic Math,然后使用将\usepackage{mathastext}
拉丁字母更改为 Courier/Cursor。 isomath
使用或加载包含希腊字母和拉丁字母的传统 OML 数学字体\DeclareMathAlphabet
。
答案2
解决方案,使用pdflatex
和mathastext
。在我的 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
数学看起来比courier
s 更好,因为它使用斜体而不是倾斜,因此使用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}