在定理环境中制作普通括号

在定理环境中制作普通括号

假设我有如下简单的代码:

\begin{theorem}
  This is (theorem 1).
\end{theorem}

编译此代码时,发现两个括号是斜体的。有没有什么办法能让它们正常显示?!

提前致谢。

答案1

newtx和字体包newpx有一个选项,可以生成样式的theoremfont斜体文本和直立分隔符。在其他设置中,可以使用 访问“theorem”字体系列。以下是取自 的一个示例:plainamsthm\thfamilynewtxdoc.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}

厘米

相关内容