newtxmath、newxtext 存在严重问题

newtxmath、newxtext 存在严重问题

我正在尝试加载newtxmathnewtxtext投入工作,但它带来了\DeclareRobustCommand{\sustyle}{%错误。

amssymb只删除并加载了newtxmathnewtxtext,它带来的\Bbbk已经定义。

然后我补充说\let\Bbbk\relax,它没有显示任何效果,\Bbbk无论我放在哪里它仍然显示已经定义\let\Bbbk\relax

这是我的代码

\let\Bbbk\relax
\usepackage{newtxtext}
\usepackage{textcomp}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{newtxmath}
\let\openbox\undefined

我尝试了所有可能的组合,这真是让我头疼。

这是我的完整代码

\documentclass[a4paper, 11pt, openany, oneside]{book}
\usepackage{newtxtext}
\usepackage{textcomp}
\usepackage{float}
\usepackage{amsmath}
\usepackage{amsthm}
\let\Bbbk\relax
\usepackage{newtxmath}
\let\openbox\undefined
\usepackage[urlcolor=blue, colorlinks=true, linkcolor=blue, citecolor=red]{hyperref}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{venndiagram}
\usepackage{fancyhdr}
\usepackage{authblk}
\usepackage{phfthm}
\usepackage[inline]{enumitem}
\usepackage{empheq}
\usepackage{multicol}
\usepackage[Glenn]{fncychap}
\usepackage{currency}
\usepackage{tasks}
\usepackage[urlcolor=blue, colorlinks=true, linkcolor=blue, citecolor=red]{hyperref}
\usepackage{longtable}
\usepackage{caption}
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
\usepackage{tabstackengine}
\usepackage{nicematrix}
\makeatletter
\newcommand*{\rom}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother
\title{Title}
\author{Author}
\theoremstyle{definition}
\newtheorem{ex}{Example}
\theoremstyle{definition}
\newtheorem*{sol}{Solution}
\newcommand{\lra}{\Longrightarrow}
\newcommand{\llra}{\Longleftrightarrow}
\newcommand{\call}{\mathcal}
\newcommand{\inl}{\textup}
\def\contentsname{\textbf{CONTENTS}}
\newcommand{\sbs}{\subset}
\begin{document}

Body

\end{document}

这是完整的错误代码

! LaTeX Error: Command `\Bbbk' already defined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.261 ...ol{\Bbbk}           {\mathord}{AMSb}{"7C}
                                              

! LaTeX Error: Option clash for package textcomp.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.93 \DeclareRobustCommand
                          {\sustyle}{%
? 

答案1

真的使用所有这些包吗?

在这种情况下

\usepackage{phfthm}

正在尝试强制 amsfonts 重新定义 \Bbbk,因此生成错误,注释掉该行会导致问题消失。

如果您确实需要该包,请在 newtxmath 之前加载它,因为您需要 tx 字体版本。

答案2

phfthm似乎是罪魁祸首;它本身会加载amsthmamsmath打包,因此您不需要加载它们;只要您在打包之前加载它newtx*,事情就会正常,至少对我来说是这样:

无需取消定义\Bbbk\openbox

(编辑:该死,又被挖走了!)

\documentclass[a4paper, 11pt, openany, oneside]{book}
\usepackage{phfthm}
\usepackage[T1]{fontenc}
\usepackage{newtxtext,newtxmath}
\usepackage{textcomp}
\usepackage{float}
\usepackage[urlcolor=blue, colorlinks=true, linkcolor=blue, citecolor=red]{hyperref}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{venndiagram}
\usepackage{fancyhdr}
\usepackage{authblk}
\usepackage[inline]{enumitem}
\usepackage{empheq}
\usepackage{multicol}
\usepackage[Glenn]{fncychap}
\usepackage{currency}
\usepackage{tasks}
\usepackage[urlcolor=blue, colorlinks=true, linkcolor=blue, citecolor=red]{hyperref}
\usepackage{longtable}
\usepackage{caption}
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
\usepackage{tabstackengine}
\usepackage{nicematrix}
\makeatletter
\newcommand*{\rom}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother
\title{Title}
\author{Author}
\theoremstyle{definition}
\newtheorem{ex}{Example}
\theoremstyle{definition}
\newtheorem*{sol}{Solution}
\newcommand{\lra}{\Longrightarrow}
\newcommand{\llra}{\Longleftrightarrow}
\newcommand{\call}{\mathcal}
\newcommand{\inl}{\textup}
\def\contentsname{\textbf{CONTENTS}}
\newcommand{\sbs}{\subset}

\begin{document}

Body $x = y$

\end{document}

答案3

最好先重新整理一下你的序言。

  1. textcomp不再加载
  2. 您可能正在加载float[H]请勿加载。
  3. hyperref应该只加载一次并且最后加载。
  4. 一旦声明\theoremstyle{definition},它将持续有效,直到被另一个\theoremstyle声明撤销。
  5. \def\contentsname{\textbf{CONTENTS}}是错误的,原因有以下几点:你不想\textbf从...开始,而且它应该是\renewcommand...。

最后,phfthm应该与其他软件包更加协作,但似乎在之前加载它newtxmath可以解决重复命令的问题。但是,您应该添加

qedsymbolblacksquare=false

选项,因为你不想amssymb加载它,因为newtxmath它本身提供了符号。如果你真的想要 QED 符号的黑色方块,请发出

\renewcommand{\qedsymbol}{\ensuremath{\blacksquare}}

在“设置”部分。

\documentclass[a4paper, 11pt, openany, oneside]{book}

\usepackage[qedsymbolblacksquare=false]{phfthm}
\usepackage{newtxtext,newtxmath}
\usepackage{amsmath}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{venndiagram}
\usepackage{fancyhdr}
\usepackage{authblk}
\usepackage[inline]{enumitem}
\usepackage{empheq}
\usepackage{multicol}
\usepackage[Glenn]{fncychap}
\usepackage{currency}
\usepackage{tasks}
\usepackage{longtable}
\usepackage{caption}
\usepackage{tabstackengine}
\usepackage{nicematrix}

\usepackage[urlcolor=blue, colorlinks=true, linkcolor=blue, citecolor=red]{hyperref}

\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}

%%% theorems
\theoremstyle{definition}
\newtheorem{ex}{Example}
\newtheorem*{sol}{Solution}

%%% commands
\newcommand{\lra}{\Longrightarrow}
\newcommand{\llra}{\Longleftrightarrow}
\newcommand{\call}{\mathcal}
\newcommand{\inl}{\textup}
\newcommand{\sbs}{\subset}
\makeatletter
\newcommand*{\rom}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother

%%% settings
\renewcommand{\contentsname}{CONTENTS}
\renewcommand{\qedsymbol}{\ensuremath{\blacksquare}}

%%% metadata
\title{Title}
\author{Author}

\begin{document}

Body

\begin{proof}
OK
\end{proof}

\end{document}

在此处输入图片描述

相关内容