Lilypond 歌词中使用的字体与周围的 LaTeX 文档相同

Lilypond 歌词中使用的字体与周围的 LaTeX 文档相同

我使用 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字体大小。

相关内容