Обновление 1

Обновление 1

Я использую MuseScore 1.3 на Ubuntu 14.04 для записи своих партитур. Затем я сохраняю их как файлы LilyPond и включаю их в свой tex-документ с помощью \lilypondfile, например:

\documentclass[a4paper]{article}

\begin{document}

Larger examples can be put into a separate file, and introduced with \verb+\lilypondfile+.

\lilypondfile[quote,noindent]{scores/Exercise_1.05.ly}

\end{document}

Затем, для компиляции, я делаю:

$ lilypond-book --pdf solfeo.lytex
$ xelatex solfeo.tex

Однако ширина вставленной партитуры не помещается в документ и выходит за пределы страницы.

Скриншот с оценкой, которая не подходит

Также, lilypond-bookпохоже, игнорирует настройки, которые я передаю ему в \lilypondfile[quote,noindent]{scores/Exercise_1.05.ly}. Если я правильно понял, quoteпечатает ноты перед партитурой и noindentудаляет отступ первой строки. Он не цитирует ноты и не удаляет отступ.

Я новичок в Lilypond и пытался изменить поля документа в MuseScore, а также пробовал некоторые команды tex, но не могу найти способ сделать так, чтобы они подходили. Если я скомпилирую файл ly с lilypondPDF, он будет выглядеть идеально (но в этом случае я получу только счет). Только когда я встраиваю lyфайл в lytexфайл, счет выходит за пределы полей. Буду признателен за ваши предложения или исправления. Что я делаю не так? Спасибо!

PD Вот код ly, сгенерированный MuseScore:

%=============================================
%   created by MuseScore Version: 1.3
%=============================================

\version "2.12.0"



#(set-default-paper-size "a4")

\paper {
  line-width    = 190\mm
  left-margin   = 10\mm
  top-margin    = 10\mm
  bottom-margin = 20\mm
  %%indent = 0 \mm 
  %%set to ##t if your score is less than one page: 
  ragged-last-bottom = ##t 
  ragged-bottom = ##f  
  %% in orchestral scores you probably want the two bold slashes 
  %% separating the systems: so uncomment the following line: 
  %% system-separator-markup = \slashSeparator 
  }

\header {
    }

AvoiceAA = \relative c'{
    \set Staff.instrumentName = #""
    \set Staff.shortInstrumentName = #""
    \clef treble
    %staffkeysig
    \key c \major 
    %barkeysig: 
    \key c \major 
    %bartimesig: 
    \time 4/4 
    \tempo "Andante" 4 = 96  a'2 a      | % 1
    a r      | % 2
    r a      | % 3
    r a      | % 4
    a r      | % 5
    a a      | % 6
    a a4 a      | % 7
    a r a2      | % 8
    r4 a a2      | % 9
    a4 r2 a4      | % 10
    a2 r4 a \bar "|."     | % 11
    a2 r \bar "|." 
}% end of last bar in partorvoice


\score { 
    << 
        \context Staff = ApartA << 
            \context Voice = AvoiceAA \AvoiceAA
        >>




      \set Score.skipBars = ##t
      %%\set Score.melismaBusyProperties = #'()
      \override Score.BarNumber #'break-visibility = #end-of-line-invisible
     %%every bar is numbered.!!!
      %% remove previous line to get barnumbers only at beginning of system.
       #(set-accidental-style 'modern-cautionary)
      \set Score.markFormatter = #format-mark-box-letters %%boxed rehearsal-marks
       \override Score.TimeSignature #'style = #'() %%makes timesigs always numerical
      %% remove previous line to get cut-time/alla breve or common time 
      \set Score.pedalSustainStyle = #'mixed 
       %% make spanners comprise the note it end on, so that there is no doubt that this note is included.
       \override Score.TrillSpanner #'(bound-details right padding) = #-2
      \override Score.TextSpanner #'(bound-details right padding) = #-1
      %% Lilypond's normal textspanners are too weak:  
      \override Score.TextSpanner #'dash-period = #1
      \override Score.TextSpanner #'dash-fraction = #0.5
      %% lilypond chordname font, like mscore jazzfont, is both far too big and extremely ugly ([email protected]):
      \override Score.ChordName #'font-family = #'roman 
      \override Score.ChordName #'font-size =#0 
      %% In my experience the normal thing in printed scores is maj7 and not the triangle. (olagunde):
      \set Score.majorSevenSymbol = \markup {maj7}
  >>

  %% Boosey and Hawkes, and Peters, have barlines spanning all staff-groups in a score,
  %% Eulenburg and Philharmonia, like Lilypond, have no barlines between staffgroups.
  %% If you want the Eulenburg/Lilypond style, comment out the following line:
  \layout {\context {\Score \consists Span_bar_engraver}}
}%% end of score-block 

#(set-global-staff-size 20)

Обновление 1

Я вставляю вывод компиляции lilypond-book, хотя не уверен, насколько он будет вам полезен, так как он на испанском языке:

$ lilypond-book --pdf сольфео.lytex

lilypond-книга (GNU LilyPond) 2.18.2
Читаю сольфео.литекс...
Запуск `pdflatex' для файла `/tmp/tmpN3IGhy.tex' для определения настроек страницы по умолчанию.

Препарирование...
Написание отрывков...
Обработка...
Запущенный пруд с лилиями...
GNU LilyPond 2.18.2
Процесс «snippet-map-3001632500490555250.ly»
Проанализировано...
Процесс «solfeo.lytex»
Проанализировано...
Переименуйте запись в: «scores/Exercise_1.05.ly»
Интерпретация музыки...[8]
Предварительная обработка графических объектов...
Рассчитать скачки линии...
Разработал системы...
Выход из страницы начался с «ba/lily-399811ac.eps»...
Загружено в «ba/lily-399811ac.pdf»...
Выход из страницы начался с «ba/lily-399811ac-1.eps»...
Выход из страницы начался с «ba/lily-399811ac-2.eps»...
Загружено в «ba/lily-399811ac-1.pdf»...
Загружено в «ba/lily-399811ac-2.pdf»...
Написано «ba/lily-399811ac-systems.texi»...
Написать «ba/lily-399811ac-systems.tex»...
Напишите «ba/lily-399811ac-systems.count»...
Энхорабуэна. Компиляция завершена удовлетворительно.
Связывание файлов...
Компиляция /media/admin/DATOS/Dropbox/code/solfeo-book/out/solfeo.tex...
Пишем `/media/admin/DATOS/Dropbox/code/solfeo-book/out/solfeo.tex'...

надеюсь, это поможет

Обновление 2

Я попробовал другой подход. Вместо этого я экспортировал из MuseScore в MusicXML. Затем я использовал:

musicxml2ly Exercise_1.05.xml -o Exercise_1.05_.ly

чтобы преобразовать .xmlфайл в .lyфайл и скомпилировать снова. Ширина все равно не влезает в экран =( У меня закончились идеи.

решение1

lilypond-book— это всего лишь сложный способ создания обрезанных изображений PDF каждого из ваших примеров и последующего автоматического включения их в файл LaTeX.

То же самое можно сделать вручную, на мой взгляд, гораздо проще, используя EPS-бэкэнд для lilypondсоздания изображения, обрезанного по размеру музыки.

Тогда единственным реальным компонентом LaTeX будет включение изображений PDF с помощью graphicxпакета.Главное то, что вы можете задать ширину изображения в исходнике lilypond, а затем просто включить его в естественном размере в документ LaTeX.

В приведенном ниже примере вы можете \includeдобавить файл example.lyво все исходные файлы музыкальных примеров .ly, и после компиляции они создадут обрезанные PDF-файлы.


Три файла для этого примера:

    1. example.ly-- Макет страницы для обрезанных музыкальных примеров вlilypond
    1. score.ly-- Ваш музыкальный пример, который \includesмакет страницы требует отexample.ly
    1. analysis.tex-- Пример файла TeX, показывающий, как включается изображение.

ФАЙЛ 1,example.ly

% STYLE SHEET FOR IN-TEXT EXAMPLES

\version "2.18.2"

#( ly:set-option 'backend 'eps )

\paper{
  indent = 0.75\in
  line-width = 6.5\in
    top-margin = 1\in
    bottom-margin = 2\in
    ragged-bottom = ##t
    ragged-last-bottom = ##t
  oddFooterMarkup=##f
  oddHeaderMarkup=##f
  bookTitleMarkup = ##f
  scoreTitleMarkup = ##f
}

ФАЙЛ 2 --score.ly

\version "2.18.2"
\include "example.ly"

Music = { 
    \clef "tenor"
    \time 3/4
    c4 d4 e4 |
    f2 g4~ |
    g4 a2 |
    b2. |
    c'2. |
    \bar "||"
}

\score{
    <<
        \new Staff { \Music }
    >>
    \layout {}
}

ФАЙЛ 3 -analysis.tex

\documentclass{article}
\usepackage[letterpaper,margin=1in]{geometry}
\usepackage{graphicx}
\usepackage{lipsum}

\begin{document}

\section{Music Example}

\lipsum[1]
See example~\ref{fig:score1}.

%*******************
\begin{figure}
\includegraphics{score}\centering
\caption{Score example 1}
\label{fig:score1}
\end{figure}
%*******************

\lipsum[2]


\end{document}

введите описание изображения здесь

решение2

Старый вопрос, я знаю, но я искал решение сегодня, так что, думаю, все еще актуально. Вот решение, которое я использую, я просто поместил его в преамбулу моего документа.

\usepackage{graphicx}
\setkeys{Gin}{width=\linewidth}

Это работает, потому что по сути \includegraphicsя просто устанавливаю ширину этих изображений по умолчанию на ширину строки, чтобы они никогда не выходили за пределы страницы.

Связанный контент