我想要一个命令\crown
,在符号上方画一个小皇冠,例如$\crown x$
应该显示一个$x$
上面有一个小皇冠的符号。我知道我可以使用该accents
包将任何符号声明为重音符号,但我如何创建兼容的符号?
答案1
到网上找一个合适的皇冠图片,例如http://images.clipartpanda.com/queen-crown-clipart-black-and-white-black-crown-clipart-nTE8GkyTA.gif。如果不是正确的格式(这是 gif),请使用图形软件(例如 MSPaint)将其保存为 jpeg。
数学模式版本
然后,只需将其名称修补到下面的宏定义中,如果图像周围有不对称的水平空间,则\crownset
调整行距。可以调整的其他参数包括重叠间隙(当前设置为)和图像宽度(当前设置为)。\kern
.7pt
1.2\LMex
堆栈设置为在排版过程中忽略冠部的宽度,这样\crownset is
就不会对水平间距产生不利影响。
已编辑以解决数学字体的倾斜问题。
\documentclass{article}
\usepackage{stackengine,graphicx,scalerel}
\usepackage[nopar]{lipsum}
\newcommand\crownset[1]{\ensurestackMath{\ThisStyle{%
\setbox0=\hbox{$\ThisStyle#1$}%
\stackengine{.7pt}{\SavedStyle#1}{\kern\dimexpr-.1\LMex+.25\ht0\relax%
\includegraphics[width=1.2\LMex]%
{queen-crown-clipart-black-and-white-black-crown-clipart-nTE8GkyTA}}%
{O}{c}{F}{T}{S}}}}
\begin{document}
\[
y = m \crownset x + \frac{\crownset{f}}{\crownset y^2}
\]
\[
\scriptstyle y = m \crownset x + \frac{\crownset{f}}{\crownset y^2}
\]
\[
\scriptscriptstyle y = m \crownset x + \frac{\crownset{f}}{\crownset y^2}
\]
\end{document}
如果我不喜欢那顶王冠,就再找一顶,比如https://openclipart.org/image/2400px/svg_to_png/242116/Royal-Crown-Silhouette.png并将文件名替换到宏中:
文本模式版本
堆栈设置为在排版过程中忽略冠部的宽度,这样\crownset is
就不会对字母的字距产生不利影响i
。
文本版本也经过\smash
编辑,以避免影响行距。
\documentclass{article}
\usepackage{stackengine,graphicx}
\usepackage[nopar]{lipsum}
\newcommand\crownset[1]{\stackengine{.3pt}{#1}{\kern-.07em%
\smash{\includegraphics[width=0.5em]%
{queen-crown-clipart-black-and-white-black-crown-clipart-nTE8GkyTA}}}%
{O}{c}{F}{T}{S}}
\begin{document}
\lipsum[1]
\crownset A new d\crownset ay \crownset is dawning.
\lipsum[2]
\end{document}
答案2
一种非常原始的方式,使用\symking
来自skak
Ulrike Fischer 的包(象征着“皇冠”)和\overset
(感谢 Ulrike Fischer 提供以下信息:的字体实际上\symking
是由chessfss
包提供的,由 加载skak
)
\documentclass{article}
\usepackage{amsmath}
\usepackage{skak}
\usepackage{accents}
\newcommand{\crown}[1]{\overset{\symking}{#1}}
\newcommand{\xcrown}[1]{\accentset{\symking}{#1}}
\begin{document}
$\crown{x}$
$\xcrown{x}$
\end{document}