当我首先加载选项时,似乎datetime2
和nccmath
包不兼容(我得到)。[useregional]
command \nr already defined
我使用了一个解决方案来减少需要后者的方程式周围的间距,我想我可以同样轻松地找到另一个解决方案(尽管可能不那么方便),但也许这里有人可以找到解决这个问题的方法。
梅威瑟:
\documentclass{article}
\usepackage[useregional]{datetime2}
\usepackage{nccmath}
\usepackage{lipsum}
\title{Example}
\author{Isabella B.}
\begin{document}
\maketitle
\lipsum[1]
\useshortskip
\[ 2\times2=4 \]
\lipsum[1]
\end{document}
该nccmath
\useshortskip
命令仍然有效,但其他一些功能可能受到影响。
和\useshortskip
:
没有\useshortskip
:
答案1
是的,它们有一点不兼容。nccmath
定义\nr
为 相当于\\[0.5ex]
。如果您不使用此快捷方式,则 @Zarko 提出的解决方案将起作用:nccmath
将定义\nr
并datetime2
覆盖它而不会出现问题。
但是如果你想要\nr
快捷方式,那么这将行不通。datetime2
用作\nr
临时宏来保存数字。您可以重新定义它以使用其他名称,这样就不会发生冲突。在加载之后datetime2
和之前将其添加到您的序言中nccmath
:
\makeatletter
\define@choicekey{datetime2.sty}{useregional}[\DTM@val\DTM@nr]%
{false,text,numeric,num}[text]%
{%
\ifcase\DTM@nr\relax
\renewcommand*{\DTMifcaseregional}[3]{##1}%
\or
\renewcommand*{\DTMifcaseregional}[3]{##2}%
\or
\renewcommand*{\DTMifcaseregional}[3]{##3}%
\or
\renewcommand*{\DTMifcaseregional}[3]{##3}%
\fi
}
\let\nr\relax
\makeatother
梅威瑟:
\documentclass{article}
\usepackage[useregional]{datetime2}
\makeatletter
\define@choicekey{datetime2.sty}{useregional}[\DTM@val\DTM@nr]%
{false,text,numeric,num}[text]%
{%
\ifcase\DTM@nr\relax
\renewcommand*{\DTMifcaseregional}[3]{##1}%
\or
\renewcommand*{\DTMifcaseregional}[3]{##2}%
\or
\renewcommand*{\DTMifcaseregional}[3]{##3}%
\or
\renewcommand*{\DTMifcaseregional}[3]{##3}%
\fi
}
\let\nr\relax
\makeatother
\usepackage{nccmath}
\usepackage{lipsum}
\title{Example}
\author{Isabella B.}
\begin{document}
\maketitle
\lipsum[1]
\useshortskip
\[ 2\times2=4 \]
\lipsum[1]
\end{document}
答案2
您可以按此顺序加载包,中和\nr
以下命令nccmath
:
\usepackage{nccmath}%
\let\nr\relax%
\usepackage[useregional]{datetime2}
您可以将 替换nccmath \nr
为其用途:\\[0.5ex]
,或使用linespread
来自的环境mathtools
(在这种情况下无需加载amsmath
)。