头部前面带有字形的新环境

头部前面带有字形的新环境

我想创建以下exercise环境,用于练习:

锻炼

black triangle right在练习标题前插入一个符号▸。

为了实现这一点,我更愿意使用这两个包amsthm和...一起thmtools及其declaretheoremstyle命令。

thmtools手册的第 1.3.1 节中,他们说

在此示例中您看不到一件重要的事情:您可以将更多键传递给 \declaretheoremstyle[.]

(以外

  • 上方空间,下方空间
  • 头字体
  • 注释字体、注释支架
  • 正文字体
  • 后顶空
  • 已证明)

那么,是否存在这样的键可以将字形添加到标题的前面?

我对普通的 TeX 不太熟悉,因此无法通过查看dtxsty文件来回答我自己的问题软件包存储库

因此 MWE 将是

\documentclass{book}
\usepackage{fontspec}

\usepackage{amsthm,amssymb,thmtools}
\declaretheoremstyle[
⟨insert glyph before head key = value is ▸⟩
]{mystyle}
\declaretheorem[style=mystyle]{exercise}

\begin{document}

\chapter{Prime numbers}
Lorem ipsum
\section{Dolor sit amet}
Consectetur adipiscing elit.

\begin{exercise}[Euclid]
Prove that for every prime $p$, there is a prime $p^\prime > p$. In particular, the list of primes, $2, 3, 5, 7, \ldots$ , is infinite.
\end{exercise}

\end{document}

答案1

您可以使用headformat

\documentclass{book}
\usepackage{fontspec}
\usepackage{amsmath,amsthm,amssymb,thmtools}

\newfontfamily{\miscsymbols}{Symbola}[
  UprightFont=*,
  BoldFont=*,
]

\declaretheoremstyle[
  headformat={\miscsymbols▸} \NAME\ \NUMBER\NOTE,
]{mystyle}

\declaretheorem[
  style=mystyle,
]{exercise}

\begin{document}

\chapter{Prime numbers}
Lorem ipsum
\section{Dolor sit amet}
Consectetur adipiscing elit.

\begin{exercise}[Euclid]\label{euclid}
Prove that for every prime $p$, there is a prime $p' > p$.
In particular, the list of primes, $2, 3, 5, 7, \dotsc$ is infinite.
\end{exercise}

\end{document}

我定义了一个特殊字体,因为 Latin Modern 没有这个特定字形。当然,您也可以使用$\blacktriangleright$其他文本字体中的字形来代替。

在此处输入图片描述

\NOTE非常智能,如果语句中缺少可选参数,则不会打印任何内容。

无关,但输入p'比 更简单p^{\prime},且结果相同。在该上下文中,请使用\dotscfromamsmath代替。\ldots

答案2

可以直接通过以下方式实现amsthm

\documentclass{book}
\usepackage{amssymb}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{exer}{$\blacktriangleright$ Exercise}

\begin{document}

\section{A section}
Some text
\begin{exer}
 Content of exercise.
\end{exer}

\end{document}

示例代码的输出

相关内容