使用 mathspec 处理老式文本的模板。步骤 1:如何使用 `mathspec` 和 `fontspec`?

使用 mathspec 处理老式文本的模板。步骤 1:如何使用 `mathspec` 和 `fontspec`?

(根据一些评论进行了编辑)

我认为这是我最难的问题,所以如果我没有解释清楚或者问题很奇怪,我提前道歉。

我想获得一个老式的文本,我正在考虑使用mathspecfontspec包。例如这里是关于获取 bourbaki 风格书的问题。但最详细的答案使用MinionPro包,我还没有 lincese。另外这里是改变正文字体的答案(尽管使用的字体不是免费的)。

为了我的目的,我决定使用fontspec' andmathspec . But I don't know how they works. So, can anybody help me with that? Mymwe`(它不起作用,我不知道为什么):

\documentclass[a4paper,12pt]{article}

%Basics
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\pagestyle{empty}

%Math
%\usepackage{amsfonts,amssymb}
\usepackage{amsmath}

%Theorems
\usepackage{amsthm}
\usepackage{thmtools}
  \newtheoremstyle{theorem}% name of the style to be used
  {\topsep}% measure of space to leave above the theorem. E.g.: 3pt
  {\topsep}% measure of space to leave below the theorem. E.g.: 3pt
  {\itshape}% name of font to use in the body of the theorem
  {0pt}% measure of space to indent
  {\scshape}% name of head font
  {.~---}% punctuation between head and body
  { }% space after theorem head; " " = normal interword space
  {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}}
\declaretheorem[style=theorem,name=numberwithin=section]{theorem}

%fontspec and mathspec packages
\usepackage{fontspec}
\usepackage{mathspec}


\begin{document}

\lipsum[1] $\sqrt{-g}$.

\begin{equation}
G_{im} = 0 
\end{equation}

\lipsum[2]

\[
\Gamma_{ab}^c = \Gamma_{\mu\nu}^\rho .
\]

\begin{theorem}
\lipsum[3]:

\[
\sum_{i=1}^n = \frac{n(n+1)}{2}.
\]

\end{theorem}

\lipsum[4]

\[
\alpha\beta\gamma\delta\kappa \pi\omega\dots
\]


\end{document}

还有其他与旧式外观相关的问题,例如

太感谢了。

PD:kpfonts其中一些问题建议我使用它来达到我的目的。无论如何,我不知道使用这些包中的任何一个,所以...如果您认为kpfonts它更适合我的实际目的,请随时回答我的问题“我如何使用它?”(目前),而kpfonts不是其他的。

答案1

我还没有想要的答案,但在此期间我在这个论坛里找到了一些例子和答案,我想把它们分享在一起,然后关闭这个答案。

第一的使用 Times New Roman 字体,这似乎很旧(至少对我来说)。我的代码是

\RequirePackage{mathptmx}% Times (No coproduct symbol)
\newcommand\imCMsym[4][\mathord]{%
  \DeclareFontFamily{U} {#2}{}
  \DeclareFontShape{U}{#2}{m}{n}{
    <-6> #25
    <6-7> #26
    <7-8> #27
    <8-9> #28
    <9-10> #29
    <10-12> #210
    <12-> #212}{}
  \DeclareSymbolFont{CM#2} {U} {#2}{m}{n}
  \DeclareMathSymbol{#4}{#1}{CM#2}{#3}
}
\newcommand\alsoimCMsym[4][\mathord]{\DeclareMathSymbol{#4{#1}{CM#2}{#3}}
\let\jmath\relax
\let\amalg\relax
\let\coprod\relax
\let\bigcoprod\relax
\imCMsym{cmmi}{124}{\jmath}
\imCMsym[\mathop]{cmsy}{113}{\amalg}
\imCMsym[\mathop]{cmex}{96}{\coprod}
\alsoimCMsym[\mathop]{cmex}{97}{\bigcoprod}

需要这些额外的行来定义一些未使用此字体定义的符号(至少类似于帖子中所说的内容)。

第二使用\mathspecmathastext包。此选项需要下载(合法或非法)Baskerville字体。显然,它适用于没有许可证的人,只能下载纯文本(不是数学)。否则他们很容易得到Bourbaki的风格。

%fontspeck and mathspeck packages
\usepackage[frenchmath]{mathastext}
\usepackage{mathspec} % https://ctan.org/pkg/mathspec
    \defaultfontfeatures{Mapping=tex-text,Numbers=OldStyle}
    \setmainfont[Numbers=OldStyle]{Baskerville}
    \setmathfont{Baskerville}
    \setmathsfont(Greek)[Uppercase=Regular,Lowercase=Regular]{GFS     Baskerville}
\setmathsfont(Digits){Old Standard} % because Solomos' "1" wasn't as good
\setmathsfont(Latin)[Uppercase=Regular,Lowercase=Italic]{Baskerville}% download GFS's fonts from http://www.greekfontsociety.gr/

最后我找到了这个选项,它可以从其他字体导入符号并使用 unicode 数据。对我来说它不起作用,但对某些人来说可能很有趣。

\usepackage{unicode-math}
\setmathfont{GFS Baskerville}
\setmathfont[range="21A6]{latinmodern-math.otf}%  ↦  from LM math "0 ordinary; "1 operator; "2 relation, "3 binary operation
\Umathcode`=="2 \csname symLatin:m:n\endcsname `=
\Umathcode`×="3 \csname symLatin:m:n\endcsname `× \def\times{×}
\Umathcode`↦="3 \csname symLatin:m:n\endcsname `↦ \def\mapsto{↦}
\Umathcode`∂="0 \csname symLatin:m:n\endcsname `∂ \def\partial{∂}
\Umathcode`∅="0 \csname symLatin:m:n\endcsname `∅ \def\emptyset{∅}
\Umathcode`∈="2 \csname symLatin:m:n\endcsname `∈ \def\in{∈}
\Umathcode`∫="1 \csname symLatin:m:n\endcsname `∫ \def\intop{∫}
\Umathcode`⊂="2 \csname symLatin:m:n\endcsname `⊂ \def\subset{⊂}

最后评论所有这些代码都是这个论坛上发布的不同答案的混合。尽管如此,最后一个实际上是复制/粘贴,因为我不了解该包,也不知道它是如何运行的。

相关内容