如何使 newtx 选项 theoremfont 与 thmtools 一起工作?

如何使 newtx 选项 theoremfont 与 thmtools 一起工作?

我希望定理主体采用真正的倾斜字体(\slshape)而不是斜体,但定理主体内的括号是直立的。

newtx 包(版本 1.7)选项 theoremfont(以及 newtxtext 包的相同选项)使 amsthm 定理主体中的文本倾斜,但保持括号直立。

通过 thmtools 包声明定理样式时,是否有可能以某种方式使相同选项具有相同的效果?

如果像下面的源一样,我使用 newtx 选项theoremfont并通过 thmtools 定义定理样式,那么整个定理正文字体都是直立的,包括其中的括号。

\documentclass{memoir}

\usepackage[amsthm,theoremfont]{newtx} % loads fontspec & amsthm, too

\usepackage{thmtools}
\swapnumbers
\declaretheoremstyle[
  headfont=\sffamily\bfseries, headpunct={\sffamily\bfseries.},
  % bodyfont=\mdseries\slshape,
]{thmstyle}
\declaretheorem[style=thmstyle,name=Theorem]{theorem}

\begin{document}
\chapter{The Chapter}
\section{Here is a section}

\begin{theorem}[Pythagorean theorem]

In a right triangle [that is, with one angle a right angle],
the square of the length of the hypotenuse equals
the sum of the squares of the lengths of the other two sides.

\end{theorem}

\end{document}

newtx 带有 theoremfont 选项和 thmtools - 没有声明 bodyfont

但是,如果我在定理样式定义中添加选项

  bodyfont=\mdseries\slshape,

那么整个定理主体就是倾斜的,不幸的是包括括号,如下所示:

带有 theoremfont 选项的 newtx 和声明了 slshape bodyfont 的 thmtools

我知道有两种解决方法:

  1. 加载包 embrac 然后用于\embbracket{...}括号内的文本;或者
  2. 使用\textup{[}和`\textup{]}1 来分隔括号内的文本。

但这两种方法都是“手动”的,而我正在寻找一种自动方法。

有关的:

定理主体中的直立括号带有 bodyfont=\mdseries\itshape?

Embrac 包并枚举

斜体文本中的直立括号

从 newtxttext 复制 theoremfont 选项

补充:与 newtx 和 amsthm 的比较

相比之下,以下来源产生的定理主体带有倾斜的文本,但括号、圆括号、数字和标点符号是直立的:

\documentclass{article}

\usepackage[amsthm,theoremfont]{newtx}

\theoremstyle{plain}
\newtheorem{thm}{Theorem}

\begin{document}

\begin{thm}

In a right triangle [that is, a triangle with one right angle]: the square of (the length of) the hypotenuse equals the some of the squares of the other 2 sides.

\end{thm}

\end{document}

直立括号等 - newtx、theoremfont opt、amsthm

答案1

至少在newtx1.732 版本中,我们可以使用选项thmslshape(没有选项 (option theoremfont) 与关键字值一起bodyfont=\thfamilythmtools定理风格的声明形式声明。

pdflatex这对和都有效xelatex

例如:

  \documentclass{article}
  \usepackage[amsthm,thmslshape]{newtx} % loads fontspec & amsthm, too
  
  \usepackage{thmtools}
  \swapnumbers
  \declaretheoremstyle[
    headfont=\sffamily\bfseries, headpunct={\sffamily\bfseries.},
    bodyfont=\thfamily,
  ]{thmstyle}
  \declaretheorem[style=thmstyle,name=Theorem]{theorem}
  
  \begin{document}
  
  \section{Here is a section}
  
  \begin{theorem}[Pythagorean theorem]
  
  In a right triangle [that is, with one angle a right angle],
  the square of the length of the hypotenuse (the slanted side if the legs are parallel to the axes!) equals
  the sum of the squares of the lengths of the other two sides.
  
  \end{theorem}
  
  In normal text that is \emph{emphasized (that is, by default italicized),} we do not get slanted.
  
  \end{document}

带有 newtx 的倾斜定理正文字体

相关内容