EuScript 出现奇怪的错误,即使包含文件也是如此

EuScript 出现奇怪的错误,即使包含文件也是如此

我想使用卷曲的 S 样式,因此我写了以下内容:

\documentclass{article}
\usepackage{amsmath,amssymb}
\DeclareMathAlphabet\EuScript{U}{eus}{m}{n}
\SetMathAlphabet\EuScript{bold}{U}{eus}{b}{n}

\begin{document}

\[ \mathcal{A} = \EuScript{A} \neq \CMcal{A} \]

\end{document} 

但它会产生以下错误。

Command Line:   bibtex.exe "ideje7"
Startup Folder: C:\Users\hynek0\Desktop\TH0dipl

This is BibTeX, Version 0.99d (MiKTeX 2.9 64-bit)
The top-level auxiliary file: ideje7.aux
I found no \citation commands---while reading file ideje7.aux
I found no \bibdata command---while reading file ideje7.aux
I found no \bibstyle command---while reading file ideje7.aux
(There were 3 error messages)


Command Line:   pdflatex.exe --interaction=errorstopmode --synctex=-1 "C:\Users\hynek0\Desktop\TH0dipl\ideje7.tex"
Startup Folder: C:\Users\hynek0\Desktop\TH0dipl

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (MiKTeX 2.9 64-bit)
entering extended mode
(C:/Users/hynek0/Desktop/TH0dipl/ideje7.tex
LaTeX2e <2014/05/01>
Babel <3.9l> and hyphenation patterns for 68 languages loaded.
(D:\ProgramFiles\MikTexExe\tex\latex\base\article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(D:\ProgramFiles\MikTexExe\tex\latex\base\size10.clo))
(D:\ProgramFiles\MikTexExe\tex\latex\amsmath\amsmath.sty
For additional information on amsmath, use the `?' option.
(D:\ProgramFiles\MikTexExe\tex\latex\amsmath\amstext.sty
(D:\ProgramFiles\MikTexExe\tex\latex\amsmath\amsgen.sty))
(D:\ProgramFiles\MikTexExe\tex\latex\amsmath\amsbsy.sty)
(D:\ProgramFiles\MikTexExe\tex\latex\amsmath\amsopn.sty))
(D:\ProgramFiles\MikTexExe\tex\latex\amsfonts\amssymb.sty
(D:\ProgramFiles\MikTexExe\tex\latex\amsfonts\amsfonts.sty)) (ideje7.aux)
(D:\ProgramFiles\MikTexExe\tex\latex\amsfonts\umsa.fd)
(D:\ProgramFiles\MikTexExe\tex\latex\amsfonts\umsb.fd)
(D:\ProgramFiles\MikTexExe\tex\latex\amsfonts\ueus.fd)
! Undefined control sequence.
l.9 \[ \mathcal{A} = \EuScript{A} \neq \CMcal
                                             {A} \]
? 

有什么帮助/建议吗?

答案1

Euler Script 是个不错的选择!我喜欢这个字体,它与 Hermann Zapf 更著名的字体 Palatino 非常搭配。

我的建议

我希望这个答案不要太复杂。该文件试图表达的是,\usepackage{eucal}但它犯了一个错误,即以一个不该做什么的高级示例作为开端。

我尽可能使用现代工具链,包括 XeTeX 或 LuaTeX,只有在必须的情况下才使用传统的 8 位字体。查看您提供的链接,它演示了一些不太有用的东西:在同一文档中结合欧拉脚本和计算机现代符号脚本。

如果你确实想在同一文档中使用两种不同的手写体字母,那么它们在视觉上应该有更大的区别。我自己的做法是将其定义\mathcal为看起来像默认书法字母的东西,并将其\mathscr定义为另一种风格的第二种手写体字母,通常是略微倾斜的草书。

您给出的示例中的两个字母都可以作为 OpenType 数学字母的数学脚本范围使用。拉丁现代数学是计算机现代的克隆,应该已经包含在您的 TeX 发行版中。AMS Euler 在 OTF 中可用,如下所示新欧拉。您可以安装字体,也可以将其复制到fonts本地 texmf 文件夹的子目录中。

实际上,你用来获取欧拉脚本的模板\mathcal是这样的:

\usepackage{unicode-math}

\defaultfontfeatures{ Scale = MatchUppercase }
\setmathfont{Latin Modern Math} % Or your math font of choice.
\setmathfont[range = {cal, bfcal}]{Neo Euler}

以下是如何使用 重现该精确样本的方法unicode-math。(实际上不要这样做。)

\documentclass[varwidth, preview]{standalone}
\usepackage{unicode-math}

\defaultfontfeatures{ Scale = MatchUppercase }
\setmathfont{Latin Modern Math}
\setmathfont[range = {scr, bfscr}]{Neo Euler}

\begin{document}
\( \mathscr{A} = \mathscr{A} \neq \mathcal{A} \)
\end{document}

OpenType 字体示例

如果你确实需要在同一个文档中使用两种不同的脚本和书法字体,这里有一个不太疯狂的例子:

\documentclass[varwidth, preview]{standalone}
\usepackage{unicode-math}

\defaultfontfeatures{ Scale = MatchUppercase }
\setmainfont[Scale = 1.0, Ligatures = Common]{TeX Gyre Pagella}
\setmathfont{Asana Math}
\setmathfont[range = {cal, bfcal}]{Neo Euler}
\setmathfont[range = {scr, bfscr}, StylisticSet = 1]{STIX Two Math}

\begin{document}
\[ \mathcal{A} = \mathcal{A} \neq \mathscr{A} \]
\end{document}

字体示例

我从未\mathscr在真正的论文中使用过,但如果我用过,它的定义在视觉上是不同的\mathcal,并且不会过度倾斜。 但是,您可以将任何您想要的字体加载为数学字母。

\setmathfont[range = {cal, bfcal}]命令可从任何数学字体加载脚本和粗体脚本字母。您还可以使用\setmathfont[range=cal]或加载任何装饰性 OpenType 或 TrueType 字体\setmathfont[range=scr]

向后兼容

如果你需要向后兼容 PDFTeX,我建议你使用以下方式加载数学字母表mathalfa,其中还包含所有替代方案的良好字体样本,以及isomath

\documentclass[varwidth, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage{textcomp} % Not actually needed here.
\usepackage[utf8]{inputenc} % The default since 2018
\usepackage[ cal = cm,
             scr = euler
           ]{mathalfa}

\begin{document}
\( \mathscr{A} = \mathscr{A} \neq \mathcal{A} \)
\end{document}

PDFTeX 示例

然而,使用欧拉文字的最简单方法是\usepackage{eucal}替换\mathcal字母表,或者\usepackage{euscript}将其添加为\mathscr

相关内容