(根据一些评论进行了编辑)
我认为这是我最难的问题,所以如果我没有解释清楚或者问题很奇怪,我提前道歉。
我想获得一个老式的文本,我正在考虑使用mathspec
和fontspec
包。例如这里是关于获取 bourbaki 风格书的问题。但最详细的答案使用MinionPro
包,我还没有 lincese。另外这里是改变正文字体的答案(尽管使用的字体不是免费的)。
为了我的目的,我决定使用fontspec' and
mathspec . But I don't know how they works. So, can anybody help me with that? My
mwe`(它不起作用,我不知道为什么):
\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}
需要这些额外的行来定义一些未使用此字体定义的符号(至少类似于帖子中所说的内容)。
第二使用\mathspec
和mathastext
包。此选项需要下载(合法或非法)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{⊂}
最后评论所有这些代码都是这个论坛上发布的不同答案的混合。尽管如此,最后一个实际上是复制/粘贴,因为我不了解该包,也不知道它是如何运行的。