我希望定理主体采用真正的倾斜字体(\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}
但是,如果我在定理样式定义中添加选项
bodyfont=\mdseries\slshape,
那么整个定理主体就是倾斜的,不幸的是包括括号,如下所示:
我知道有两种解决方法:
- 加载包 embrac 然后用于
\embbracket{...}
括号内的文本;或者 - 使用
\textup{[}
和`\textup{]}1 来分隔括号内的文本。
但这两种方法都是“手动”的,而我正在寻找一种自动方法。
有关的:
定理主体中的直立括号带有 bodyfont=\mdseries\itshape?
从 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}
答案1
至少在newtx
1.732 版本中,我们可以使用选项thmslshape
(没有选项 (option theoremfont
) 与关键字值一起bodyfont=\thfamily
以thmtools
定理风格的声明形式声明。
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}