更改数学环境中所有方程式的单个希腊字母的字体(classicthesis.sty)

更改数学环境中所有方程式的单个希腊字母的字体(classicthesis.sty)

我正在使用经典论文 风格(不是整个包,只是 .sty)来编写(非常长的)文档,而且我不喜欢数学环境中 \xi 的欧拉字体。这是使用欧拉字体的示例:

\documentclass[a4paper,10 pt,twoside]{book}
\usepackage[T1]{fontenc} %font encoding
\usepackage[utf8]{inputenc} %input encoding
\usepackage[french,english]{babel}
\usepackage[linedheaders,parts,pdfspacing]{classicthesis} % ,manychapters

\begin{document}
This is \verb+\xi+: $\xi$
\end{document}

在此处输入图片描述

而使用计算机现代(CM)字体时,它看起来是这样的:

在此处输入图片描述

我喜欢欧拉的其他字符,但对于 \xi,我想使用 CM 字体。

有没有办法将整个文档中的 \xi 字体从 Euler 更改为 CM,但保留其他数学字体的 Euler?

答案1

这里我将原文保存为\altxi,以便两者仍然可用。

我使用了 TeXbook 第 430 页上的图 4,确定字体名称为cmmi,插槽为24

旁注:一般来说,这是一个坏主意,因为您要替换的字体尺寸和粗细通常与被替换的字体尺寸和粗细不匹配。

\documentclass[a4paper,10 pt,twoside]{book}
\usepackage[T1]{fontenc} %font encoding
\usepackage[utf8]{inputenc} %input encoding
\usepackage[french,english]{babel}
\usepackage[linedheaders,parts,pdfspacing]{classicthesis} % ,manychapters
% =============================================
%Import symbols from font cmmi without importing the whole package
% =============================================
\DeclareFontFamily{U} {cmmi}{}

\DeclareFontShape{U}{cmmi}{m}{n}{
  <-6> cmmi5
  <6-7> cmmi6
  <7-8> cmmi7
  <8-9> cmmi8
  <9-10> cmmi9
  <10-12> cmmi10
  <12-> cmmi12}{}

\DeclareSymbolFont{Xcmmi} {U} {cmmi}{m}{n}

\let\altxi\xi
\DeclareMathSymbol{\xi}{\mathord}{Xcmmi}{24}
% =============================================

\begin{document}
This is \verb+\xi+: $\xi$ and $\altxi$
\end{document}

在此处输入图片描述

答案2

由于超出了问题的框架,因此不是一个答案,但unicode-math允许访问 OpenType 字体和数学 unicode 块。

举个随机的例子,只是为了说明:

随机 xi

通用代码

\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{unicode-math}
\setmathfont{XITS Math}[Colour=blue]
\setmathfontface\masana{Asana Math}
\setmathfontface\mdejavu{DejaVu Math}
\setmathfontface\mtgdeja{TeX Gyre DejaVu Math}
\setmathfontface\mpagella{TeX Gyre Pagella Math}
\setmathfontface\mbonum{TeX Gyre Bonum Math}
\setmathfontface\mschola{TeX Gyre Schola Math}
\setmathfontface\mtermes{TeX Gyre Termes Math}
\setmathfontface\mlatin{Latin Modern Math}
\setmathfontface\mcambria{Cambria Math}
\setmathfontface\mfira{Fira Math}
\setmathfontface\mfreeserif{FreeSerif}
\setmathfontface\mlibert{Libertinus Math}
\setmathfontface\mnoto{Noto Sans Symbols}
\setmathfontface\mqui{Quivira}
\setmathfontface\mstixtwo{STIX Two Math}
\setmathfontface\mstixgen{STIXGeneral}
\setmathfontface\msymbola{Symbola}
\newcommand\mfsize{\Huge}
\setmainfont{Noto Serif}


%mas = Mathematical Alphanumeric Symbols block in unicode
\newcommand\themassym{

相关内容