假设我有如下简单的代码:
\begin{theorem}
This is (theorem 1).
\end{theorem}
编译此代码时,发现两个括号是斜体的。有没有什么办法能让它们正常显示?!
提前致谢。
答案1
newtx
和字体包newpx
有一个选项,可以生成样式的theoremfont
斜体文本和直立分隔符。在其他设置中,可以使用 访问“theorem”字体系列。以下是取自 的一个示例:plain
amsthm
\thfamily
newtxdoc.tex
\documentclass{article}
\usepackage{amsthm}
\usepackage[theoremfont]{newtxtext} % or newpxtext
\usepackage{newtxmath} % or newpxmath
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}
This is Theorem Italic: text numbers are upright---12345;
punctuation is in many cases upright (also, parens (), braces
\{\} and brackets []). What about question marks and
exclamations? Also upright! [These fit better with math
mode punctuation and figures, like: for all $x\in[0,1]$,
let $f(x)\coloneq \exp(\alpha x)$].
\end{theorem}
{\itshape normal italics: ()[]?!123}
{\thfamily theorem italics: ()[]?!123}
\end{document}
使用 newtx
使用 newpx
我不推荐这个
如果你想用其他字体(如 Computer Modern)实现这种效果,你可以使用下面的技巧。它使用embrac
包并借用了它的一些内部代码来定义\hussein_embrac_text:n
命令,使其参数中的分隔符直立。*该命令\embracifytheorem{<theorem>}
重新定义<theorem>
,以便它抓取其主体并将其传递给\hussein_embrac_text:n
。 这意味着它不能包含任何逐字材料。
*:我们不能将主体传递给通常的\textit
、\emph
等,因为它们默认不是“长”宏,即它们不能包含\par
。
\documentclass{article}
\usepackage{embrac}
\usepackage{amsthm}
\usepackage{xcolor}
\ExplSyntaxOn
\cs_new_protected:Npn \hussein_embrac_text:n #1
{
\tl_set:Nn \l__embrac_tmpa_tl {#1}
\embrac_replace_brackets:N \l__embrac_tmpa_tl
\l__embrac_tmpa_tl
}
\NewDocumentCommand { \embracifytheorem } { m }
{
\NewEnvironmentCopy { origenv_#1 } { #1 }
\RenewDocumentEnvironment { #1 } { O{} +b }
{
\begin{origenv_#1}[##1]
\hussein_embrac_text:n { ##2 }
\end{origenv_#1}
}
{}
}
\ExplSyntaxOff
% you can adjust or remove these to your liking
\AddOpEmph{?}[0pt,1pt]
\AddOpEmph{!}[0pt,1pt]
\AddOpEmph{:}[0pt,1pt]
\newtheorem{theorem}{Theorem}
\embracifytheorem{theorem}
\begin{document}
\begin{theorem}
This is \textcolor{red}{hacked} Theorem Italic: text numbers
are \textcolor{red}{not} upright---12345;
punctuation is in many cases upright (also, parens (), braces
\{\} and brackets []). What about question marks and
exclamations? Also upright! [These fit better with math
mode punctuation and figures, like: for all $x\in[0,1]$,
let $f(x)= \exp(\alpha x)$].
\end{theorem}
\end{document}