1.8.2 テキストをフォーマットする

このセクションでは、\markup モード特有の構文を用いた基本的かつ高度なテキスト フォーマットについて説明します。


テキスト マークアップの導入部

\markup ブロックは “マークアップ モード” と呼ばれる拡張可能な構文でテキストを譜刻するために用いられます。このようなブロックは、テキスト オブジェクトの概要 で説明されているように、どこにでも用いることができます。

マークアップ構文は LilyPond の通常の構文と同様です: \markup 表記は波括弧 { … } で囲まれます。単語 1 つが最小の表記と見なされ、その場合は波括弧で囲む必要はありません。

シンプルな “引用符で囲まれたテキスト” 指示とは異なり、\markup ブロックは、バックスラッシュ \ を用いて挿入されるネストされた表記やマークアップ コマンドを保持することができます。そのようなコマンドは直後の表記にのみ影響を与えます。

\relative {
  a'1-\markup intenso
  a2^\markup { poco \italic più forte  }
  c e1
  d2_\markup { \italic "string. assai" }
  e
  b1^\markup { \bold { molto \italic  agitato } }
  c
}

[image of music]

また、\markup ブロックは引用符で囲まれたテキスト文字列を保持することがあります。そのような文字列は最小のテキスト表記として扱われます。そのため、引用符で囲まれたマークアップ コマンドや特殊文字 (\# など) はテキストのフォーマットに影響を与えず、そのまま (逐語的に) 譜刻されます。ダブル クォーテーション自体は、それ自体の前にバックスラッシュを置くことによって譜刻されます。

\relative {
  a'1^"\italic markup..."
  a_\markup { \italic "... prints \"italic\" letters!" }
  a a
}

[image of music]

表記をばらばらなものとして扱うには、単語のリストをダブル クォーテーションで囲むか、前にコマンドを置く必要があります。マークアップ表記の定義の仕方は、表記の配置のされ方 – 垂直に中央揃えして積み重ねられる、水平に並べられる – に影響を与えます。以下の例では、2 番目の \markup 表記は 1 番目の表記と同じように扱われています:

\relative c'' {
  c1^\markup { \center-column { a bbb c } }
  c1^\markup { \center-column { a { bbb c } } }
  c1^\markup { \center-column { a \line { bbb c } } }
  c1^\markup { \center-column { a "bbb c" } }
}

[image of music]

マークアップを変数に格納することができます。そのような変数は直接音符にくっつけることができます:

allegro = \markup { \bold \large Allegro }

{
  d''8.^\allegro
  d'16 d'4 r2
}

[image of music]

\markup コマンドの一覧\markup 特有のコマンドの徹底したリストがあります。これらのコマンドの内部動作と、新たに実装する方法は、 Markup functions で説明されています。

参照

記譜法リファレンス: テキスト オブジェクトの概要, \markup コマンドの一覧

拡張: Markup functions

インストールされているファイル: ‘scm/markup.scm

コード断片集: Text

既知の問題と警告

マークアップ モードの構文エラー メッセージは混乱しやすいです。


フォントとフォント サイズを選択する

マークアップ モードでは、基本的なフォント切り替えがサポートされています:

\relative {
  d''1^\markup {
    \bold { Più mosso }
    \italic { non troppo \underline Vivo }
  }
  r2 r4 r8
  d,_\markup { \italic quasi \smallCaps Tromba }
  f1 d2 r
}

[image of music]

フォント サイズをグローバル譜サイズとの相対値で変更する方法はいくつかあります。

フォント サイズをあらかじめ定義されているサイズに設定することができます:

\relative b' {
  b1_\markup { \huge Sinfonia }
  b1^\markup { \teeny da }
  b1-\markup { \normalsize camera }
}

[image of music]

フォント サイズを前の値との相対関係で設定することができます:

\relative b' {
  b1_\markup { \larger Sinfonia }
  b1^\markup { \smaller da }
  b1-\markup { \magnify #0.6  camera }
}

[image of music]

フォント サイズをグローバル譜サイズによって設定されている値で拡大あるいは縮小させることができます:

\relative b' {
  b1_\markup { \fontsize #-2 Sinfonia }
  b1^\markup { \fontsize #1 da }
  b1-\markup { \fontsize #3 camera }
}

[image of music]

さらに、フォント サイズをグローバル譜サイズとは無関係に、固定ポイント サイズに設定することができます:

\relative b' {
  b1_\markup { \abs-fontsize #20 Sinfonia }
  b1^\markup { \abs-fontsize #8 da }
  b1-\markup { \abs-fontsize #14 camera }
}

[image of music]

テキストにスペースが含まれる場合、各スペースのサイズが他の文字のサイズに適したものになるので、引用符の内側にすべて置くのがベストです。

\markup \fontsize #6 \bold { Sinfonia da camera }
\markup \fontsize #6 \bold { "Sinfonia da camera" }

[image of music]

テキストを下付き文字あるいは上付き文字として譜刻することができます。デフォルトでは、それらは小さなサイズで譜刻されますが、通常サイズにすることもできます:

\markup {
  \column {
    \line { 1 \super st movement }
    \line { 1 \normal-size-super st movement
      \sub { (part two) }  }
  }
}

[image of music]

マークアップ モードは代わりのフォント ファミリを選択するための簡単な方法を提供します。他を指定しないかぎり、デフォルトの Serif フォント – ローマン体 – が自動的に選択されます。以下の例の最後の行では、最初の単語と 2 番目の単語はまったく同じです。

\markup {
  \column {
    \line { Act \number 1 }
    \line { \sans { Scene I. } }
    \line { \typewriter { Verona. An open place. } }
    \line { Enter \roman Valentine and Proteus. }
  }
}

[image of music]

新たな強弱記号手動の繰り返し記号 で言及されているように、番号や強弱記号など特定の項目に用いられるフォント ファミリの中にはすべての文字を提供しないものもあります。

フォント切り替えやフォーマット コマンドの中には、単語の中で使用されると望まない空白を作り出すものがあります。これはテキスト要素をつなげることによって容易に解決できます:

\markup {
  \column {
    \line {
      \concat { 1 \super st }
      movement
    }
    \line {
      \concat { \dynamic p , }
      \italic { con dolce espressione }
    }
  }
}

[image of music]

フォント に フォント切り換えとフォントのカスタム コマンドの徹底したリストがあります。

フォント で説明されているように、カスタム フォント セットを定義することも可能です。

定義済みコマンド

\teeny, \tiny, \small, \normalsize, \large, \huge, \smaller, \larger

参照

記譜法リファレンス: フォント, 新たな強弱記号, 手動の繰り返し記号, フォント

インストールされているファイル: ‘scm/define-markup-co