我使用 LaTeX 和 lilypond-book 创建赞美诗谱。我使用 KOMA 脚本增加了字体大小以提高可读性。现在 LaTeX 文档中的字体大小与 Lilypond 中嵌入的歌词不匹配。我该怎么做才能让 Lilypond 重复使用 LaTeX 的字体大小?
(可能问题比我想象的更难:Lilypond 使用不同的字体,如 truetype 或 type1,而不是 LaTeX 的 Computer Modern。在评论中有所解决)
具有手动调整的尺寸的代码以某种方式匹配:
\documentclass[a4paper,fontsize=15pt]{scrartcl}
\usepackage{tgschola}
\addtokomafont{disposition}{\rmfamily}
\begin{document}
\begin{lilypond}
\version "2.12.3"
\paper { indent = 0 }
Melodie = \relative c' {
\clef treble
\time 2/4
\omit Staff.TimeSignature
c2 d2 e2 g2
\bar "|."
}
Text = \lyricmode {
Lo -- rem ip -- sum
}
\score{
<<
\new Voice = "eins" {
\autoBeamOff
\Melodie
}
\new Lyrics \lyricsto "eins" \Text
>>
\layout {
\context {
\Lyrics
\override LyricText #'font-size = #3
%\override LyricText #'font-name = #"Computer Modern"
}
}
}
\end{lilypond}
2. Lorem ipsum dolor sit amet, / consetetur sadipscing elitr
\end{document}
Lo -- rem 中的 - 比字母小。我该如何调整?
答案1
这个问题有两个部分:字体大小和字体。
首先从字体大小开始,为了使歌词与音乐相符,同时又保持可读性,系统会lilypond
根据五线谱大小自动缩放字体。我发现,由 生成的许多文件中没有任何东西lilypond-book
可以指示缩放后的点大小,因此看来您需要调整五线谱大小,直到歌词看起来适合您为止。使用 生成的网格eso-pic
或 Gnomescreenruler
或 KDE等程序kruler
可以帮助您,但需要反复试验,因此您应该推迟此步骤,直到您确定不会改变对整个文档字体大小的想法为止。
一旦找到了正确的谱表大小,如果它不是默认的谱表大小,而且这就是您想要更改的全部内容,则可以将其作为选项lilypond
放在方括号中作为环境参数:
\begin{lilypond}[staffsize=26]
d4 c b a
\end{lilypond}
至于字体,默认的衬线字体lilypond
是 New Century Schoolbook,而 TeX Gyre Schola 基于 URW Century Schoolbook L。因此,将\usepackage{tgschola}
其添加到序言中将使文档的其余部分具有与歌词中非常相似的字体。
如果您想要其他字体,请以通常的方式将其添加到您的序言中,然后添加到环境\paper { }
的每个实例中的部分lilypond
。例如,
\documentclass[fontsize=13pt]{scrartcl}
\usepackage{tgpagella}
\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat
volutpat.
\bigskip
\begin{lilypond}
\paper {
mystaffsize = #26
#(define fonts
(make-pango-font-tree "TeX Gyre Pagella"
"TeX Gyre Heros"
"TeX Gyre Cursor"
(/ mystaffsize 26)
)
)
}
<<
\relative c'' {
\key g \major
\time 6/8
d4 b8 c4 a8 | d4 b8 g4 g8 |
a4 b8 c[ b] a | d4 b8 g4. |
}
\addlyrics {
Girls and boys come | out to play,
The | moon doth shine _ as | bright as day; |
}
>>
\end{lilypond}
\bigskip
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat
volutpat.
\end{document}
除非您重新定义环境,否则您将需要\paper { }
在环境的每个实例中重复该部分lilypond
。出于某种原因,我无法让 Pango 与 Latin Modern 很好地兼容。
如果你使用fontspec
,请参阅https://tex.stackexchange.com/a/133241/7883。
答案2
以下是我在 Lilypond 序言中提到的相关内容:
\paper {
#(set-paper-size "letter" )
mystaffsize = #20
#(define fonts
(make-pango-font-tree "Sabon LT Std"
"Agenda-Light"
"quadraat ps"
(/ mystaffsize 20)
)
)
}
您可以根据需要调整字体名称。第一个是衬线字体,第二个是无衬线字体,最后一个是单色字体。调整mystaffsize
字体大小。