当我使用 \usepackage{mathrsfs} 时,出现此错误:在 normal 版本中使用了太多数学字母。我尝试了不同的方法,例如我添加了
\newcommand\hmmax{0}
\newcommand\bmmax{0}
在包含字体包之前在序言中。而且它不起作用。这是我的序言
\documentclass[11pt,letterpaper,twoside]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{biblatex}
\usepackage{enumerate}
\usepackage[shortlabels]{enumitem}
\usepackage{amsthm}
\usepackage[nottoc,notlot,notlof]{tocbibind}
\usepackage{physics}
\usepackage{float}
\usepackage{tkz-fct}
\usepackage[left=2.50cm, right=2.54cm, top=2.54cm, bottom=2.54cm]{geometry}
\usepackage{txfonts}
\usepackage{tkz-euclide}
\usepackage{tikz-cd}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LO]{\nouppercase\leftmark} % En las páginas impares, parte izquierda del encabezado, aparecerá el nombre de capítulo
\fancyhead[RE]{\nouppercase\rightmark} % En las páginas pares, parte derecha del encabezado, aparecerá el nombre de sección
\fancyhead[RO,LE]{\thepage} % Números de página en las esquinas de los encabezados
\DeclareSymbolFont{cmsymbols}{OMS}{cmsy}{m}{n}
\DeclareSymbolFontAlphabet{\mathcal}{cmsymbols}
\DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n}
\setlength{\parindent}{0mm}
\usepackage[spanish]{babel}
\DeclareMathOperator{\fr}{fr}
\DeclareMathOperator{\interior}{int}
\DeclareMathOperator{\diam}{diam}
\newcommand*\closure[1]{\overline{#1}}
\newcommand{\bd}{\mbox{$\bar{d}$}}
\usepackage{cleveref}
\DeclareSymbolFont{cmsymbols}{OMS}{cmsy}{m}{n}%
\SetSymbolFont{cmsymbols}{bold}{OMS}{cmsy}{b}{n}%
\DeclareSymbolFont{cmlargesymbols}{OMX}{cmex}{m}{n}%
\SetSymbolFont{cmlargesymbols}{bold}{OMX}{cmex}{b}{n}%%
\DeclareSymbolFont{CMsymbols}{OMS}{cmsy}{m}{n}
\SetSymbolFont{CMsymbols}{bold}{OMS}{cmsy}{b}{n}
\DeclareMathSymbol{\forall}{\mathord}{CMsymbols}{"38}
\DeclareMathSymbol{\exists}{\mathord}{CMsymbols}{"39}
\DeclareMathSymbol{\pi}{\mathord}{letters}{"19}
\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
\DeclareMathDelimiter{\rbrace} {\mathclose}{cmsymbols}{"67}{cmlargesymbols}{"09}
\DeclareMathDelimiter{\lbrace} {\mathopen}{cmsymbols}{"66}{cmlargesymbols}{"08}
\newcommand{\R}{\mbox{$\mathbb{R}$}}
\newcommand{\C}{\mbox{${\mathbb C}$}}
\newcommand{\F}{\mbox{${\mathbb F}$}}
\newcommand{\N}{\mbox{$\mathbb{N}$}}
\newcommand{\Z}{\mbox{${\mathbb Z}$}}
\newcommand{\Q}{\mbox{${\mathbb Q}$}}
\newcommand{\ap}{\mbox{${\phiup}$}}
答案1
你已经定义一些次相同的符号字体;每个\DeclareSymbolFont
声明都使用一个数学系列。
我按部分重新组织了你的序言,这样更容易发现重复内容。
我还添加了关于不要使用的包的注释。最后,定义\R
为\mbox{$\mathbb{R}$}
是错误的:例如,在下标中你也会得到正常大小。如果目标是能够在文本中使用和类似,请不要这样做:写成而不是\R
没有任何好处(编辑器会适当地为您的语法着色)。我注释掉了替代定义以启用,但我再说一遍,不要这样做。the set \R{} is interesting
the set $\R$ is interesting
\ensuremath
\documentclass[11pt,letterpaper,twoside]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage[left=2.50cm, right=2.54cm, top=2.54cm, bottom=2.54cm]{geometry}
\usepackage{amsmath}
\usepackage{amsthm}
%\usepackage{txfonts} % bad spacings
\usepackage{newtxtext,newtxmath} % fixes the wrong bits in txfonts
%\usepackage{amsfonts} % amssymb does it
%\usepackage{amssymb} % not along with newtxmath
\usepackage{graphicx}
\usepackage{biblatex}
%\usepackage{enumerate} % not along with enumitem
\usepackage[shortlabels]{enumitem}
\usepackage[nottoc,notlot,notlof]{tocbibind}
%\usepackage{physics} % are you sure?
\usepackage{float}
\usepackage{tkz-fct}
\usepackage{tkz-euclide}
\usepackage{tikz-cd}
\usepackage{fancyhdr}
\usepackage{cleveref}
%% page styles
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LO]{\nouppercase\leftmark} % En las páginas impares, parte izquierda del encabezado, aparecerá el nombre de capítulo
\fancyhead[RE]{\nouppercase\rightmark} % En las páginas pares, parte derecha del encabezado, aparecerá el nombre de sección
\fancyhead[RO,LE]{\thepage} % Números de página en las esquinas de los encabezados
% different choices for math
\DeclareSymbolFont{cmsymbols}{OMS}{cmsy}{m}{n}
\SetSymbolFont{cmsymbols}{bold}{OMS}{cmsy}{b}{n}
\DeclareSymbolFont{cmlargesymbols}{OMX}{cmex}{m}{n}
\SetSymbolFont{cmlargesymbols}{bold}{OMX}{cmex}{b}{n}
\DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n}
\DeclareSymbolFontAlphabet{\mathcal}{cmsymbols}
\DeclareMathSymbol{\forall}{\mathord}{cmsymbols}{"38}
\DeclareMathSymbol{\exists}{\mathord}{cmsymbols}{"39}
\DeclareMathSymbol{\pi}{\mathord}{letters}{"19}
\DeclareSymbolFont{cmlargesymbols}{OMX}{cmex}{m}{n}
\DeclareMathDelimiter{\rbrace} {\mathclose}{cmsymbols}{"67}{cmlargesymbols}{"09}
\DeclareMathDelimiter{\lbrace} {\mathopen}{cmsymbols}{"66}{cmlargesymbols}{"08}
% personal commands
\DeclareMathOperator{\fr}{fr}
\DeclareMathOperator{\interior}{int}
\DeclareMathOperator{\diam}{diam}
\newcommand*\closure[1]{\overline{#1}}
\newcommand{\numberset}[1]{\mathbb{#1}}
%\newcommand{\numberset}[1]{\ensuremath{\mathbb{#1}}}% not recommended
\newcommand{\R}{\numberset{R}}
\newcommand{\C}{\numberset{C}}
\newcommand{\F}{\numberset{F}}
\newcommand{\N}{\numberset{N}}
\newcommand{\Z}{\numberset{Z}}
\newcommand{\Q}{\numberset{Q}}
\newcommand{\ap}{\phiup}
%\newcommand{\ap}{\ensuremath{\phiup}}
\newcommand{\bd}{\bar{d}}
%\newcommand{\bd}{\ensuremath{\bar{d}}}
% various settings
%\setlength{\parindent}{0mm} % why?
使用的最高家庭号码是 9。你应该没问题。
答案2
它是所有\DeclareSymbolFont
命令,位于诸如 之类的包之上ammsymb
。在旧版 TeX 中,只有 16 个符号字母表。
一种选择是切换到unicode-math
,这将完全消除此限制。
您还可以删除符号字母的那些重新定义。您似乎实际上并不需要它们。
通常,如果您使用 PDFTeX,您需要选择一个数学字体包、一个匹配的文本字体包,然后使用mathalpha
或加载您需要的任何其他字母isomath
。您很少需要重新加载cmex
等等。您是否从其他模板复制粘贴,该模板从 Computer Modern 加载了一个或两个符号?
例如,如果您加载了类似 Times 的主字体,您可能希望使用newtxmath
或newtxtext
在tgpagella
PDFTeX 中加载,或者将您的数学字体设置为 TeX Gyre Termes Math,并将您的主字体设置为 LuaTeX 中 Times 的克隆。