答案1
在构建字体和相应的包时,尽可能实用,可以使用以下内联 TikZ 绘图
\documentclass{article}
\usepackage{tikz}
\newcommand{\dflat}{\tikz[baseline=-1.2mm] \node {\reflectbox{$\flat$}};}
\newcommand{\sflat}{\tikz[baseline=-1.2mm] \node {\reflectbox{$\flat$}$\flat$};}
\newcommand{\dsharp}{\hskip3pt \tikz[baseline=-1.2mm] {%
\clip (-2pt,-6pt) rectangle (-.2pt,6pt); \node at (0,0) {$\sharp$};}\hskip3pt
}
\newcommand{\ssharp}{\tikz[baseline=-1.2mm] {%
\node[inner sep=0mm] at (0,0) {$\sharp$};\node at (1.7pt,0.55pt) {$\sharp$};}
}
\begin{document}
\parbox{5cm}{
This is some random text to use the symbols \dflat, \sflat,\dsharp and \ssharp inline.
It can be improved by assigning some input parameters and adjusting the kerning as
C~{\hskip-7pt\dflat}, A~{\hskip-6pt\dsharp} or D~{\hskip-6pt\ssharp}
}
\end{document}
我不会试图发表愚蠢的评论,因为我对排版和字距调整几乎一无所知,但这可以随意实现自动化。另外,我不确定我定义的这些命令是否可靠。请将此视为概念证明。
Jake 补充:
通过使用\tikz [baseline] \node [anchor=base, inner sep=0pt]
,节点将像字符一样自动定位在文本行上,因此无需手动调整垂直位置。
在定义要在文本行中使用的 TikZ 命令时,通常最好以ex
和来指定长度em
,因为它们取决于周围的字体大小。这样,符号将随文本缩放。
\documentclass{article}
\usepackage{tikz}
\newcommand{\dflat}{\tikz [baseline] \node [anchor=base, inner sep=0pt] {\reflectbox{$\flat$}};}
\newcommand{\sflat}{\tikz [baseline] \node [anchor=base, inner sep=0pt] {\reflectbox{$\flat$}$\flat$};}
\newcommand{\dsharp}{\tikz [baseline] {%
\clip (-0.2em,-1ex) rectangle (-0.01em,2ex);
\node[anchor=base, inner sep=0pt] {$\sharp$};}
}
\newcommand{\ssharp}{\tikz[baseline] {%
\node[anchor=base,inner sep=0pt,name=leftsharp] at (0,0) {$\sharp$};
\node at (leftsharp.east) [xshift=-0.25em, yshift=0.1ex, inner sep=0pt,anchor=west] {$\sharp$};}
}
\begin{document}
\parbox{5cm}{
This is some random text to use the symbols \dflat, \sflat, \dsharp and \ssharp inline.
It can be improved by assigning some input parameters and adjusting the kerning as
C\dflat, A\dsharp or D\ssharp
}
\parbox{5cm}{\Large
The symbols scale with the text:
C\dflat, A\dsharp or D\ssharp
}
\end{document}
答案2
以下是我在名为“Helsinki Special”的 OpenType 字体中找到的一些符号,该字体带有Sibelius 浏览器插件。
纯 XeTeX 中的示例:
\font\hel="Helsinki Special"
\def\thingone{{\hel\char"F042}}
\def\thingtwo{{\hel\char"F022}}
\def\thingthree{{\hel\char"F0F7}}
ab \thingone\hskip.5pt\thingtwo\ \thingthree\ cd
\bye
答案3
答案4
我必须进一步研究以下内容,然后才能说它是否在非 XeTeX 或 LuaTeX 系统上给出了解决方案(对于那些上面的这个答案可能应该可以解决问题。可惜我通常不使用喜欢处理文件的 TeX 风格otf
。
我刚刚通过 Lilypond 邮件列表发现Philippe Massart 正在开发 LaTeX 软件包Feta
它允许直接在 LaTeX 中使用 Lilypond 字体中的音乐符号。由于Feta
它确实包含了我要查找的符号,因此这实际上可能解决了我的问题。
当我花点时间测试 Massart 的软件包后,我会更新并报告。