fontspec 破坏了 Lilypond 的音符间距

fontspec 破坏了 Lilypond 的音符间距

我曾经lilypond-book在我的 TeX 文档中包含音乐示例,但它似乎fontspec破坏了音符之间的水平间距:

没有fontspec
没有字体规范

使用 fontspec
使用 fontspec

此 MWE 显示错误

\documentclass{scrartcl}

%\usepackage{fontspec}

\begin{document}
This is a \lilypond[notime,fragment,staffsize=15]{bes' a' c' b'} test
\end{document}

当编译时

lilypond-book test.lytex
xelatex text.tex

我猜这fontspec会改变某个字体设置,该设置lilypond应该有其他值。也许可以通过添加一些内容来解决这个问题\preLilyPondExample……

答案1

尝试使用以下命令进行编译:

lilypond-book --latex-program=xelatex test.lytex
xelatex test.tex

在整个编译过程中使用 xelatex 应该可以解决您的问题。

使用你的 MWE,这将产生:

使用 XeLaTeX 格式精美的 lilypond 示例

这正是您所期望的。我们还可以使用一些不错的 OpenType 功能(fontspec 不是很棒吗?):

\documentclass{scrartcl}

\usepackage{fontspec}
\newcommand*{\defaultfontfamily}{Calluna}
\defaultfontfeatures{Mapping=tex-text, Ligatures={Discretionary, Common, Rare}}
\setmainfont{\defaultfontfamily}

\begin{document}
This is a \lilypond[notime,fragment,staffsize=15]{bes' a' c' b'} test
\end{document}

一切仍然正常:

LilyPond 书籍采用 XeLaTeX 和 Calluna 编写

相关内容