我想创建以下exercise
环境,用于练习:
即black triangle right
在练习标题前插入一个符号▸。
为了实现这一点,我更愿意使用这两个包amsthm
和...一起thmtools
及其declaretheoremstyle
命令。
在thmtools
手册的第 1.3.1 节中,他们说
在此示例中您看不到一件重要的事情:您可以将更多键传递给 \declaretheoremstyle[.]
(以外
- 上方空间,下方空间
- 头字体
- 注释字体、注释支架
- 正文字体
- 后顶空
- 已证明)
那么,是否存在这样的键可以将字形添加到标题的前面?
我对普通的 TeX 不太熟悉,因此无法通过查看dtx
和sty
文件来回答我自己的问题软件包存储库。
因此 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}
,且结果相同。在该上下文中,请使用\dotsc
fromamsmath
代替。\ldots