Compare commits
No commits in common. "main" and "20200521" have entirely different histories.
12
.editorconfig
Normal file
12
.editorconfig
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[Makefile]
|
||||||
|
indent_style = tab
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -5,4 +5,4 @@
|
|||||||
.vscode
|
.vscode
|
||||||
tmp
|
tmp
|
||||||
build
|
build
|
||||||
src/tmp-ly
|
src/tmp_ly
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
build:
|
build:
|
||||||
image: thallian/latex-builder
|
image: thallian/latex-builder
|
||||||
script:
|
script:
|
||||||
- make -j4
|
- make
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- build/*
|
- build/*
|
||||||
|
123
Makefile
123
Makefile
@ -1,70 +1,101 @@
|
|||||||
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
|
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
|
||||||
WORKING_DIR := $(patsubst %/,%,$(dir $(mkfile_path)))
|
WORKING_DIR := $(patsubst %/,%,$(dir $(mkfile_path)))
|
||||||
|
|
||||||
BOOKNAME=kommersbuch
|
BOOKNAME=kommersbuch
|
||||||
SRC_DIR=src
|
SRC_DIR=src
|
||||||
BUILD_DIR=build
|
BUILD_DIR=build
|
||||||
TMP_DIR=tmp
|
TMP_DIR=tmp
|
||||||
SONG_DIR=$(SRC_DIR)/songs
|
SONG_DIR=${SRC_DIR}/songs
|
||||||
BUILD_BOOK_DIR=$(BUILD_DIR)/books
|
BUILD_BOOK_DIR=${BUILD_DIR}/books
|
||||||
TMP_BOOK_DIR=$(TMP_DIR)/books
|
TMP_BOOK_DIR=${TMP_DIR}/books
|
||||||
BUILD_SONG_DIR=$(BUILD_DIR)/songs
|
BUILD_SONG_DIR=${BUILD_DIR}/songs
|
||||||
TMP_SONG_DIR=$(TMP_DIR)/songs
|
TMP_SONG_DIR=${TMP_DIR}/songs
|
||||||
BUILD_MIDI_DIR=$(BUILD_DIR)/midi
|
BUILD_MIDI_DIR=${BUILD_DIR}/midi
|
||||||
TMP_MIDI_DIR=$(TMP_DIR)/midi
|
TMP_MIDI_DIR=${TMP_DIR}/midi
|
||||||
BUILD_OPUS_DIR=$(BUILD_DIR)/opus
|
BUILD_OPUS_DIR=${BUILD_DIR}/opus
|
||||||
|
|
||||||
BOOK_TYPES=folio quarto sexto octavo
|
LY_FILES=$(wildcard ${SONG_DIR}/*.ly)
|
||||||
|
LY_PDFS=$(patsubst %.ly,${BUILD_SONG_DIR}/%.pdf,$(notdir ${LY_FILES}))
|
||||||
|
LY_TMP_PDFS=$(patsubst %.ly,${TMP_SONG_DIR}/%.pdf,$(notdir ${LY_FILES}))
|
||||||
|
LY_MIDIS=$(patsubst %.ly,${BUILD_MIDI_DIR}/%.midi,$(notdir ${LY_FILES}))
|
||||||
|
LY_TMP_MIDIS=$(patsubst %.ly,${TMP_MIDI_DIR}/%.midi,$(notdir ${LY_FILES}))
|
||||||
|
LY_OPUS=$(patsubst %.ly,${BUILD_OPUS_DIR}/%.opus,$(notdir ${LY_FILES}))
|
||||||
|
|
||||||
LY_FILES=$(wildcard $(SONG_DIR)/*.ly)
|
.PHONY: book songs midi opus clean directories all
|
||||||
LY_PDFS=$(patsubst %.ly,$(BUILD_SONG_DIR)/%.pdf,$(notdir $(LY_FILES)))
|
|
||||||
LY_TMP_PDFS=$(patsubst %.ly,$(TMP_SONG_DIR)/%.pdf,$(notdir $(LY_FILES)))
|
|
||||||
LY_MIDIS=$(patsubst %.ly,$(BUILD_MIDI_DIR)/%.midi,$(notdir $(LY_FILES)))
|
|
||||||
LY_TMP_MIDIS=$(patsubst %.ly,$(TMP_MIDI_DIR)/%.midi,$(notdir $(LY_FILES)))
|
|
||||||
LY_OPUS=$(patsubst %.ly,$(BUILD_OPUS_DIR)/%.opus,$(notdir $(LY_FILES)))
|
|
||||||
|
|
||||||
.PHONY: book songs midi opus clean all
|
|
||||||
.DEFAULT_GOAL := all
|
.DEFAULT_GOAL := all
|
||||||
|
|
||||||
define BUILDER
|
directories: ${BUILD_DIR} ${BUILD_BOOK_DIR} ${TMP_BOOK_DIR} ${BUILD_SONG_DIR} ${BUILD_MIDI_DIR} ${TMP_DIR} ${TMP_SONG_DIR} ${TMP_MIDI_DIR} ${BUILD_OPUS_DIR}
|
||||||
$(TMP_BOOK_DIR)/%-$(TYPE).pdf: $(TMP_BOOK_DIR)/%.pdf
|
|
||||||
cd $(TMP_BOOK_DIR) && \
|
|
||||||
../../bin/makebook -v -t $(TYPE) -i $$(notdir $$<) -o $$(notdir $$@)
|
|
||||||
endef
|
|
||||||
$(foreach TYPE,$(BOOK_TYPES),$(eval $(BUILDER)))
|
|
||||||
|
|
||||||
%.dir:
|
${BUILD_DIR}:
|
||||||
mkdir -p $*
|
mkdir -p ${BUILD_DIR}
|
||||||
|
|
||||||
$(TMP_SONG_DIR)/%.pdf: $(SONG_DIR)/%.ly $(SONG_DIR)/%.tex | $(TMP_SONG_DIR).dir
|
${BUILD_BOOK_DIR}:
|
||||||
cd $(SRC_DIR) && lualatex --jobname='$(notdir $(basename $@))' \
|
mkdir -p ${BUILD_BOOK_DIR}
|
||||||
--output-directory=$(WORKING_DIR)/$(TMP_SONG_DIR) \
|
|
||||||
--shell-escape $(WORKING_DIR)/$(SRC_DIR)/song.tex \
|
|
||||||
$(WORKING_DIR)/$(SONG_DIR)/$(notdir $(basename $@)).ly $(WORKING_DIR)/$(SONG_DIR)/$(notdir $(basename $@)).tex
|
|
||||||
|
|
||||||
$(BUILD_MIDI_DIR)/%.midi: $(TMP_MIDI_DIR)/%-1.midi | $(BUILD_MIDI_DIR).dir
|
${BUILD_SONG_DIR}:
|
||||||
|
mkdir -p ${BUILD_SONG_DIR}
|
||||||
|
|
||||||
|
${BUILD_MIDI_DIR}:
|
||||||
|
mkdir -p ${BUILD_MIDI_DIR}
|
||||||
|
|
||||||
|
${TMP_DIR}:
|
||||||
|
mkdir -p ${TMP_DIR}
|
||||||
|
|
||||||
|
${TMP_BOOK_DIR}:
|
||||||
|
mkdir -p ${TMP_BOOK_DIR}
|
||||||
|
|
||||||
|
${TMP_SONG_DIR}:
|
||||||
|
mkdir -p ${TMP_SONG_DIR}
|
||||||
|
|
||||||
|
${TMP_MIDI_DIR}:
|
||||||
|
mkdir -p ${TMP_MIDI_DIR}
|
||||||
|
|
||||||
|
${BUILD_OPUS_DIR}:
|
||||||
|
mkdir -p ${BUILD_OPUS_DIR}
|
||||||
|
|
||||||
|
${TMP_SONG_DIR}/%.pdf: ${SONG_DIR}/%.ly ${SONG_DIR}/%.tex
|
||||||
|
cd ${SRC_DIR} && lualatex --jobname='$(notdir $(basename $@))' --output-directory=${WORKING_DIR}/${TMP_SONG_DIR} --shell-escape ${WORKING_DIR}/${SRC_DIR}/song.tex ${WORKING_DIR}/${SONG_DIR}/$(notdir $(basename $@)).ly ${WORKING_DIR}/${SONG_DIR}/$(notdir $(basename $@)).tex
|
||||||
|
rm -r ${SRC_DIR}/tmp_ly
|
||||||
|
|
||||||
|
${BUILD_MIDI_DIR}/%.midi: ${TMP_MIDI_DIR}/%-1.midi
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
$(TMP_MIDI_DIR)/%-1.midi: $(SONG_DIR)/%.ly | $(TMP_MIDI_DIR).dir
|
${TMP_MIDI_DIR}/%-1.midi: ${SONG_DIR}/%.ly
|
||||||
lilypond --output=$(TMP_MIDI_DIR) $(WORKING_DIR)/$<
|
lilypond --output=${TMP_MIDI_DIR} ${WORKING_DIR}/$<
|
||||||
|
|
||||||
$(BUILD_OPUS_DIR)/%.opus: $(BUILD_MIDI_DIR)/%.midi | $(BUILD_OPUS_DIR).dir
|
${BUILD_OPUS_DIR}/%.opus: ${BUILD_MIDI_DIR}/%.midi
|
||||||
timidity $< -Ow -o - | opusenc - $@
|
timidity $< -Ow -o - | opusenc - $@
|
||||||
|
|
||||||
$(TMP_BOOK_DIR)/%.pdf: $(SRC_DIR)/%.tex $(SRC_DIR)/images/title.png | $(TMP_BOOK_DIR).dir
|
${TMP_BOOK_DIR}/%.pdf: ${SRC_DIR}/%.tex ${SRC_DIR}/images/title.png
|
||||||
latexmk -cd -lualatex -e '$$lualatex=q/lualatex %O -shell-escape %S/' -output-directory=$(WORKING_DIR)/$(TMP_BOOK_DIR) $<
|
latexmk -cd -lualatex -e '$$lualatex=q/lualatex %O -shell-escape %S/' -output-directory=${WORKING_DIR}/${TMP_BOOK_DIR} $<
|
||||||
rm -r $(SRC_DIR)/tmp-ly
|
rm -r ${SRC_DIR}/tmp_ly
|
||||||
|
|
||||||
$(BUILD_DIR)/%.pdf: $(TMP_DIR)/%.pdf | $(BUILD_BOOK_DIR).dir $(BUILD_SONG_DIR).dir
|
${TMP_BOOK_DIR}/%-folio.pdf: ${TMP_BOOK_DIR}/%.pdf
|
||||||
|
cd ${TMP_BOOK_DIR} && \
|
||||||
|
../../bin/makebook -v -t folio -i $(notdir $<) -o $(notdir $@)
|
||||||
|
|
||||||
|
#long edge binding
|
||||||
|
${TMP_BOOK_DIR}/%-quarto.pdf: ${TMP_BOOK_DIR}/%.pdf
|
||||||
|
cd ${TMP_BOOK_DIR} && \
|
||||||
|
../../bin/makebook -v -t quarto -i $(notdir $<) -o $(notdir $@)
|
||||||
|
|
||||||
|
${TMP_BOOK_DIR}/%-sexto.pdf: ${TMP_BOOK_DIR}/%.pdf
|
||||||
|
cd ${TMP_BOOK_DIR} && \
|
||||||
|
../../bin/makebook -v -t sexto -i $(notdir $<) -o $(notdir $@)
|
||||||
|
|
||||||
|
#short edge binding
|
||||||
|
${TMP_BOOK_DIR}/%-octavo.pdf: ${TMP_BOOK_DIR}/%.pdf
|
||||||
|
cd ${TMP_BOOK_DIR} && \
|
||||||
|
../../bin/makebook -v -t octavo -i $(notdir $<) -o $(notdir $@)
|
||||||
|
|
||||||
|
${BUILD_DIR}/%.pdf: ${TMP_DIR}/%.pdf
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
book: $(BUILD_BOOK_DIR)/$(BOOKNAME).pdf $(BUILD_BOOK_DIR)/$(BOOKNAME)-folio.pdf $(BUILD_BOOK_DIR)/$(BOOKNAME)-quarto.pdf $(BUILD_BOOK_DIR)/$(BOOKNAME)-sexto.pdf $(BUILD_BOOK_DIR)/$(BOOKNAME)-octavo.pdf $(LY_FILES)
|
book: directories ${BUILD_BOOK_DIR}/${BOOKNAME}.pdf ${BUILD_BOOK_DIR}/${BOOKNAME}-folio.pdf ${BUILD_BOOK_DIR}/${BOOKNAME}-quarto.pdf ${BUILD_BOOK_DIR}/${BOOKNAME}-sexto.pdf ${BUILD_BOOK_DIR}/${BOOKNAME}-octavo.pdf ${LY_FILES}
|
||||||
songs: $(LY_PDFS)
|
songs: directories ${LY_PDFS}
|
||||||
midi: $(LY_MIDIS)
|
midi: directories ${LY_MIDIS}
|
||||||
opus: $(LY_OPUS)
|
opus: directories ${LY_OPUS}
|
||||||
all: book songs midi opus
|
all: book songs midi opus
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BUILD_DIR)
|
rm -rf ${BUILD_DIR}
|
||||||
rm -rf $(TMP_DIR)
|
rm -rf ${TMP_DIR}
|
||||||
rm -rf $(SRC_DIR)/tmp-ly
|
|
||||||
|
12
bin/makebook
12
bin/makebook
@ -34,7 +34,7 @@
|
|||||||
PATH=/bin:/usr/bin:/usr/local/bin ; export PATH
|
PATH=/bin:/usr/bin:/usr/local/bin ; export PATH
|
||||||
umask 033
|
umask 033
|
||||||
# define our revision number variable for rcs
|
# define our revision number variable for rcs
|
||||||
REVISION="2.2"
|
REVISION="2.1"
|
||||||
# define error codes
|
# define error codes
|
||||||
E_WRONG_ARGS=64 # too many or few args
|
E_WRONG_ARGS=64 # too many or few args
|
||||||
E_BAD_SIG_TYPE=65 # invalid type of signature
|
E_BAD_SIG_TYPE=65 # invalid type of signature
|
||||||
@ -88,7 +88,8 @@ command -v bc >/dev/null 2>&1 ||
|
|||||||
# print the version information and exit successfully
|
# print the version information and exit successfully
|
||||||
versionfunc ()
|
versionfunc ()
|
||||||
{
|
{
|
||||||
echo "makebook v${REVISION}. Copyright (C) 2011, Donald P Goodman III."
|
echo "makebook v${REVISION}. Copyright (C) 2011, Donald P."
|
||||||
|
echo "Goodman III."
|
||||||
echo "This program comes with ABSOLUTELY NO WARRANTY."
|
echo "This program comes with ABSOLUTELY NO WARRANTY."
|
||||||
echo "This is free software, and you are welcome to "
|
echo "This is free software, and you are welcome to "
|
||||||
echo "redistribute it under certain conditions; see "
|
echo "redistribute it under certain conditions; see "
|
||||||
@ -262,9 +263,6 @@ then
|
|||||||
cp "$FILE_NAME" "$NEW_FILE_NAME"
|
cp "$FILE_NAME" "$NEW_FILE_NAME"
|
||||||
else
|
else
|
||||||
FILE_NAME="book.pdf"
|
FILE_NAME="book.pdf"
|
||||||
if [ $VERBOSE -eq 1 ]; then
|
|
||||||
echo "makebook: No input file named; using stdin..."
|
|
||||||
fi
|
|
||||||
cat /dev/stdin > "$NEW_FILE_NAME"
|
cat /dev/stdin > "$NEW_FILE_NAME"
|
||||||
fi
|
fi
|
||||||
# declare holder variable for pdftk
|
# declare holder variable for pdftk
|
||||||
@ -289,8 +287,8 @@ fi
|
|||||||
|
|
||||||
# get some information about our source document
|
# get some information about our source document
|
||||||
NUM_PAGES=`pdfinfo "$NEW_FILE_NAME" | awk '/Pages:/ {print $2}'`;
|
NUM_PAGES=`pdfinfo "$NEW_FILE_NAME" | awk '/Pages:/ {print $2}'`;
|
||||||
SRC_PAGE_WIDTH=`pdfinfo "$NEW_FILE_NAME" | awk '/Page size:/ {print $3}'`;
|
SRC_PAGE_WIDTH=`pdfinfo "$NEW_FILE_NAME" | awk '/Page\ size:/ {print $3}'`;
|
||||||
SRC_PAGE_HEIGHT=`pdfinfo "$NEW_FILE_NAME" | awk '/Page size:/ {print $5}'`;
|
SRC_PAGE_HEIGHT=`pdfinfo "$NEW_FILE_NAME" | awk '/Page\ size:/ {print $5}'`;
|
||||||
# find the number of pages we'll have per signature
|
# find the number of pages we'll have per signature
|
||||||
PAGES_PER_SIG=$(dc -e "$PAGES_PER_SIG $SECT_TYPE * p")
|
PAGES_PER_SIG=$(dc -e "$PAGES_PER_SIG $SECT_TYPE * p")
|
||||||
# determine if extra pages will be necessary
|
# determine if extra pages will be necessary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
% !Mode:: "TeX:UTF-8"
|
% !Mode:: "TeX:UTF-8"
|
||||||
|
|
||||||
\documentclass[11pt, openany, twoside]{scrbook}
|
\documentclass[11pt, openany, oneside]{scrbook}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage{fontspec}
|
\usepackage{fontspec}
|
||||||
\usepackage{fancyhdr}
|
\usepackage{fancyhdr}
|
||||||
@ -42,25 +42,8 @@
|
|||||||
|
|
||||||
\renewcommand\addchaptertocentry[2]{\addtocentrydefault{chapter}{}{#2}}
|
\renewcommand\addchaptertocentry[2]{\addtocentrydefault{chapter}{}{#2}}
|
||||||
\renewcommand{\contentsname}{Inhalt}
|
\renewcommand{\contentsname}{Inhalt}
|
||||||
|
\renewcommand{\cfttoctitlefont}{\huge\textbf\rmfamily}
|
||||||
\setlength{\columnseprule}{0.2pt}
|
\renewcommand{\cftchapfont}{\large\rmfamily}
|
||||||
|
|
||||||
\hypersetup
|
|
||||||
{
|
|
||||||
bookmarks=true, % show bookmarks bar?
|
|
||||||
unicode=true, % non-Latin characters in Acrobat’s bookmarks
|
|
||||||
pdftoolbar=true, % show Acrobat’s toolbar?
|
|
||||||
pdfmenubar=false, % show Acrobat’s menu?
|
|
||||||
pdffitwindow=false, % window fit to page when opened
|
|
||||||
pdfstartview={FitH}, % fits the width of the page to the window
|
|
||||||
pdftitle={Alcolica Kommersbuch}, % title
|
|
||||||
pdfauthor={Sebastian Hugentobler}, % author
|
|
||||||
pdfsubject={Kantenprügel der Alcolica Verbindung}, % subject of the document
|
|
||||||
pdfcreator={Sebastian Hugentobler}, % creator of the document
|
|
||||||
pdfproducer={Sebastian Hugentobler}, % producer of the document
|
|
||||||
pdfnewwindow=true, % links in new window
|
|
||||||
colorlinks=false, % false: boxed links; true: colored links
|
|
||||||
}
|
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\begin{titlepage}
|
\begin{titlepage}
|
||||||
@ -79,12 +62,6 @@
|
|||||||
\tableofcontents
|
\tableofcontents
|
||||||
\newpage
|
\newpage
|
||||||
|
|
||||||
\lysetoption{staffsize}{22}
|
|
||||||
\lysetoption{quote}{true}
|
|
||||||
\lysetoption{indent}{false}
|
|
||||||
\lysetoption{insert}{inline}
|
|
||||||
\lysetoption{pass-fonts}{true}
|
|
||||||
|
|
||||||
\songs
|
\songs
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
187
src/lyluatex.lua
Normal file
187
src/lyluatex.lua
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
local err, warn, info, log = luatexbase.provides_module({
|
||||||
|
name = "lyluatex",
|
||||||
|
version = '0',
|
||||||
|
greinternalversion = internalversion,
|
||||||
|
date = "2017/09/30",
|
||||||
|
description = "Module lyluatex.",
|
||||||
|
author = "The Gregorio Project (see CONTRIBUTORS.md)",
|
||||||
|
copyright = "2008-2017 - The Gregorio Project",
|
||||||
|
license = "MIT",
|
||||||
|
})
|
||||||
|
|
||||||
|
local md5 = require 'md5'
|
||||||
|
|
||||||
|
|
||||||
|
LILYPOND = 'lilypond'
|
||||||
|
TMP = 'tmp_ly'
|
||||||
|
N = 0
|
||||||
|
|
||||||
|
|
||||||
|
function ly_definir_programme(lilypond)
|
||||||
|
if lilypond then LILYPOND = lilypond end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function contenuIntegral(contenu)
|
||||||
|
local content =""
|
||||||
|
for i, Line in ipairs(contenu:explode('\n')) do
|
||||||
|
if Line:find("^%s*[^%%]*\\include") then
|
||||||
|
local i = io.open(Line:gsub('%s*\\include%s*"(.*)"%s*$', "%1"), 'r')
|
||||||
|
if i then
|
||||||
|
content = content .. contenuIntegral(i:read('*a'))
|
||||||
|
else
|
||||||
|
content = content .. Line .. "\n"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
content = content .. Line .. "\n"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return content
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function direct_ly(ly, largeur, facteur)
|
||||||
|
N = N + 1
|
||||||
|
facteur = calcul_facteur(facteur)
|
||||||
|
ly = ly:gsub('\\par ', '\n'):gsub('\\([^%s]*) %-([^%s])', '\\%1-%2')
|
||||||
|
print(ly)
|
||||||
|
local sortie = TMP..'/'..string.gsub(md5.sumhexa(contenuIntegral(ly))..'-'..facteur..'-'..largeur, '%.', '-')
|
||||||
|
if not lfs.isfile(sortie..'-systems.tex') then
|
||||||
|
compiler_ly(entete_lilypond(facteur, largeur - 10)..'\n'..ly, sortie)
|
||||||
|
end
|
||||||
|
retour_tex(sortie)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function inclure_ly(entree, currfiledir, largeur, facteur)
|
||||||
|
facteur = calcul_facteur(facteur)
|
||||||
|
nom = splitext(entree, 'ly')
|
||||||
|
entree = currfiledir..nom..'.ly'
|
||||||
|
if not lfs.isfile(entree) then entree = kpse.find_file(nom..'.ly') end
|
||||||
|
if not lfs.isfile(entree) then err("Le fichier %s.ly n'existe pas.", nom) end
|
||||||
|
local i = io.open(entree, 'r')
|
||||||
|
ly = i:read('*a')
|
||||||
|
i:close()
|
||||||
|
local sortie = TMP..'/' ..string.gsub(md5.sumhexa(contenuIntegral(ly))..'-'..facteur..'-'..largeur, '%.', '-')
|
||||||
|
if not lfs.isfile(sortie..'-systems.tex') then
|
||||||
|
compiler_ly(entete_lilypond(facteur, largeur - 10)..'\n'..ly, sortie, dirname(entree))
|
||||||
|
end
|
||||||
|
retour_tex(sortie)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function compiler_ly(ly, sortie, include)
|
||||||
|
mkdirs(dirname(sortie))
|
||||||
|
local commande = LILYPOND.." "..
|
||||||
|
"-dno-point-and-click "..
|
||||||
|
"-dbackend=eps "..
|
||||||
|
"-djob-count=2 "..
|
||||||
|
"-ddelete-intermediate-files "
|
||||||
|
if include then commande = commande.."-I '"..lfs.currentdir().."/"..include.."' " end
|
||||||
|
commande = commande.."-o "..sortie.." -"
|
||||||
|
local p = io.popen(commande, 'w')
|
||||||
|
p:write(ly)
|
||||||
|
p:close()
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function entete_lilypond(facteur, largeur)
|
||||||
|
return string.format(
|
||||||
|
[[%%En-tête
|
||||||
|
\version "2.18.2"
|
||||||
|
#(define default-toplevel-book-handler
|
||||||
|
print-book-with-defaults-as-systems )
|
||||||
|
|
||||||
|
#(define toplevel-book-handler
|
||||||
|
(lambda ( . rest)
|
||||||
|
(set! output-empty-score-list #f)
|
||||||
|
(apply print-book-with-defaults rest)))
|
||||||
|
|
||||||
|
#(define toplevel-music-handler
|
||||||
|
(lambda ( . rest)
|
||||||
|
(apply collect-music-for-book rest)))
|
||||||
|
|
||||||
|
#(define toplevel-score-handler
|
||||||
|
(lambda ( . rest)
|
||||||
|
(apply collect-scores-for-book rest)))
|
||||||
|
|
||||||
|
#(define toplevel-text-handler
|
||||||
|
(lambda ( . rest)
|
||||||
|
(apply collect-scores-for-book rest)))
|
||||||
|
|
||||||
|
|
||||||
|
#(set-global-staff-size %s)
|
||||||
|
|
||||||
|
|
||||||
|
%%Paramètres de la partition
|
||||||
|
\paper{
|
||||||
|
indent = 0\mm
|
||||||
|
line-width = %s\pt
|
||||||
|
}
|
||||||
|
|
||||||
|
%%Partition originale
|
||||||
|
]],
|
||||||
|
facteur,
|
||||||
|
largeur
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function calcul_facteur(facteur)
|
||||||
|
if facteur == 0 then facteur = fontinfo(font.current()).size/39321.6 end
|
||||||
|
return facteur
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function retour_tex(sortie)
|
||||||
|
local i = io.open(sortie..'-systems.tex', 'r')
|
||||||
|
contenu = i:read("*all")
|
||||||
|
i:close()
|
||||||
|
texoutput, _ = string.gsub(
|
||||||
|
contenu,
|
||||||
|
[[includegraphics{]], [[includegraphics{]]..dirname(sortie)
|
||||||
|
)
|
||||||
|
tex.print(([[\noindent]]..texoutput):explode('\n'))
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function dirname(str)
|
||||||
|
if str:match(".-/.-") then
|
||||||
|
local name = string.gsub(str, "(.*/)(.*)", "%1")
|
||||||
|
return name
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function splitext(str, ext)
|
||||||
|
if str:match(".-%..-") then
|
||||||
|
local name = string.gsub(str, "(.*)(%." .. ext .. ")", "%1")
|
||||||
|
return name
|
||||||
|
else
|
||||||
|
return str
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function mkdirs(str)
|
||||||
|
path = '.'
|
||||||
|
for dir in string.gmatch(str, '([^%/]+)') do
|
||||||
|
path = path .. '/' .. dir
|
||||||
|
lfs.mkdir(path)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local fontdata = fonts.hashes.identifiers
|
||||||
|
function fontinfo(id)
|
||||||
|
local f = fontdata[id]
|
||||||
|
if f then
|
||||||
|
return f
|
||||||
|
end
|
||||||
|
return font.fonts[id]
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
mkdirs(TMP)
|
71
src/lyluatex.sty
Normal file
71
src/lyluatex.sty
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
\ProvidesPackage{lyluatex}
|
||||||
|
|
||||||
|
% Dépendances
|
||||||
|
\RequirePackage{luatexbase}
|
||||||
|
\RequirePackage{luaotfload}
|
||||||
|
\RequirePackage{kvoptions}
|
||||||
|
\RequirePackage{graphicx}
|
||||||
|
\RequirePackage{keycommand}
|
||||||
|
\RequirePackage{environ}
|
||||||
|
\RequirePackage{currfile}
|
||||||
|
% Options
|
||||||
|
\DeclareStringOption[lilypond]{program}[lilypond]
|
||||||
|
\ProcessKeyvalOptions*
|
||||||
|
% Script lua
|
||||||
|
\directlua{dofile(kpse.find_file("lyluatex.lua"))}
|
||||||
|
\directlua{LILYPOND = '\lyluatex@program'}
|
||||||
|
|
||||||
|
% Une tricherie un peu sale pour récupérer la largeur de ligne
|
||||||
|
\let\bs\textbackslash
|
||||||
|
{\catcode`p=12 \catcode`t=12 \gdef\un#1pt{#1}}
|
||||||
|
\newcommand*{\largeur}{\expandafter\un\the\linewidth}
|
||||||
|
% Taille des partitions
|
||||||
|
% Si la valeur est 0, elle sera automatiquement calculée
|
||||||
|
% à partir de la taille de police.
|
||||||
|
\def\staffsize{0}
|
||||||
|
\let\localstaffsize\staffsize
|
||||||
|
|
||||||
|
|
||||||
|
% Commandes principales
|
||||||
|
% Inclusion d'un fichier ly
|
||||||
|
\newkeycommand*\includely[staffsize=\staffsize][autres][1]{%
|
||||||
|
\directlua{%
|
||||||
|
inclure_ly(
|
||||||
|
"\luatexluaescapestring{#1}",
|
||||||
|
"\luatexluaescapestring{\currfiledir}",
|
||||||
|
\luatexluaescapestring{\largeur},
|
||||||
|
\luatexluaescapestring{\commandkey{staffsize}}
|
||||||
|
)%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Inclusion d'un fragment intégré au document (environnement de base)
|
||||||
|
\NewEnviron{compilerly}{%
|
||||||
|
\directlua{%
|
||||||
|
direct_ly(
|
||||||
|
"\luatexluaescapestring{\unexpanded\expandafter{\BODY}}",
|
||||||
|
\luatexluaescapestring{\largeur},
|
||||||
|
\luatexluaescapestring{\localstaffsize}
|
||||||
|
)%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Commande et environnement avec paramètres
|
||||||
|
\newkeycommand{\lily}[staffsize=\staffsize][autres][1]{%
|
||||||
|
\def\localstaffsize{\commandkey{staffsize}}%
|
||||||
|
\begin{compilerly}%
|
||||||
|
#1
|
||||||
|
\end{compilerly}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newkeyenvironment{ly}[staffsize=\staffsize][autres]{%
|
||||||
|
\def\localstaffsize{\commandkey{staffsize}}%
|
||||||
|
\compilerly%
|
||||||
|
}{%
|
||||||
|
\endcompilerly%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Commandes pour la compatibilité avec lilypond-book
|
||||||
|
\let\lilypondfile\includely
|
||||||
|
\let\lilypond\ly
|
||||||
|
\let\endlilypond\endly
|
@ -3,6 +3,7 @@
|
|||||||
\documentclass[11pt, openany, oneside]{scrbook}
|
\documentclass[11pt, openany, oneside]{scrbook}
|
||||||
|
|
||||||
\usepackage{fontspec}
|
\usepackage{fontspec}
|
||||||
|
%%\usepackage[a4paper,left=3cm,right=3cm, top=3cm, bottom=3cm,includeheadfoot]{geometry}
|
||||||
\usepackage[a4paper]{geometry}
|
\usepackage[a4paper]{geometry}
|
||||||
\usepackage{lmodern}
|
\usepackage{lmodern}
|
||||||
\usepackage{tgschola}
|
\usepackage{tgschola}
|
||||||
@ -13,14 +14,8 @@
|
|||||||
|
|
||||||
\pagenumbering{gobble}
|
\pagenumbering{gobble}
|
||||||
|
|
||||||
\lysetoption{staffsize}{22}
|
|
||||||
\lysetoption{quote}{true}
|
|
||||||
\lysetoption{indent}{false}
|
|
||||||
\lysetoption{insert}{inline}
|
|
||||||
\lysetoption{pass-fonts}{true}
|
|
||||||
|
|
||||||
\directlua{
|
\directlua{
|
||||||
tex.sprint("\string\\lilypondfile{" .. arg[5] .. "}")
|
tex.sprint("\string\\includely[staffsize=16]{" .. arg[5] .. "}")
|
||||||
}
|
}
|
||||||
~\\
|
~\\
|
||||||
\directlua{
|
\directlua{
|
||||||
|
@ -28,7 +28,7 @@ function find_songs(dir)
|
|||||||
local ly_title = string.match(ly_content, 'title = "(.-)"')
|
local ly_title = string.match(ly_content, 'title = "(.-)"')
|
||||||
|
|
||||||
tex.sprint('\\unchapter{' .. ly_title .. '}')
|
tex.sprint('\\unchapter{' .. ly_title .. '}')
|
||||||
tex.sprint('\\lilypondfile{' .. dir .. '/' .. file .. '}')
|
tex.sprint('\\includely[staffsize=16]{' .. dir .. '/' .. file .. '}')
|
||||||
tex.sprint('~\\\\')
|
tex.sprint('~\\\\')
|
||||||
tex.sprint('~\\\\')
|
tex.sprint('~\\\\')
|
||||||
tex.sprint('\\input{' .. dir .. '/' .. file:gsub("%.ly", ".tex") .. '}')
|
tex.sprint('\\input{' .. dir .. '/' .. file:gsub("%.ly", ".tex") .. '}')
|
||||||
|
@ -1,86 +0,0 @@
|
|||||||
\version "2.18"
|
|
||||||
\include "articulate.ly"
|
|
||||||
|
|
||||||
\header {
|
|
||||||
title = "Bierlied"
|
|
||||||
composer = ""
|
|
||||||
poet = "Munter"
|
|
||||||
tagline = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
musicOne = \relative e' {
|
|
||||||
\time 3/8
|
|
||||||
\key a \major
|
|
||||||
|
|
||||||
\partial 8 e8 |
|
|
||||||
e (a) a |
|
|
||||||
a4 a8 |
|
|
||||||
a gis fis |
|
|
||||||
fis e e |
|
|
||||||
fis fis fis |
|
|
||||||
a gis fis |
|
|
||||||
fis e d |
|
|
||||||
d cis a' |
|
|
||||||
e e d |
|
|
||||||
d cis a' |
|
|
||||||
e e d |
|
|
||||||
cis4\fermata e16 e |
|
|
||||||
e8 a a16 a |
|
|
||||||
a8 cis cis16 cis |
|
|
||||||
d8 (b) b |
|
|
||||||
e4 cis16 cis |
|
|
||||||
d8 (b) b |
|
|
||||||
a4 r8 |
|
|
||||||
\bar "|."
|
|
||||||
}
|
|
||||||
|
|
||||||
verseOne = \lyricmode {
|
|
||||||
Das |
|
|
||||||
Jahr ist |
|
|
||||||
gut, braun |
|
|
||||||
Bier ist ge -- |
|
|
||||||
ra -- ten, drum |
|
|
||||||
wünsch ich mir |
|
|
||||||
nichts als drei -- |
|
|
||||||
tau -- send Du -- |
|
|
||||||
ka -- ten, da -- |
|
|
||||||
mit ich kann |
|
|
||||||
schüt -- ten braun |
|
|
||||||
Bier in mein |
|
|
||||||
Loch; und je |
|
|
||||||
mehr ich da -- von |
|
|
||||||
trin -- ke, de -- sto |
|
|
||||||
besser schmeckt's |
|
|
||||||
noch, de -- sto |
|
|
||||||
besser schmeckt's |
|
|
||||||
noch. |
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
\new Lyrics \lyricsto "one" {
|
|
||||||
\verseOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\layout {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
\unfoldRepeats \articulate
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\midi {
|
|
||||||
\tempo 4 = 100
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
\par
|
|
||||||
2. Seh ich ein braun Bier, o welch ein Vergnügen! da tu ich
|
|
||||||
vor Freuden die Mütze abziegen, betracht das Gewächse, o große Allmacht,
|
|
||||||
das aus einem Traurigen |: einen Lustigen macht. :|
|
|
||||||
\par
|
|
||||||
3. Wenn einer vor Schulden nicht kann bleiben zu Hause, so geht
|
|
||||||
er ins Wirtshaus und setzt sich zum Schmause, er setzt sich zum Braunen
|
|
||||||
und tut, was er kann, und wer ihn da fordert, |: der kommt übel an. :|
|
|
||||||
\par
|
|
||||||
4. Unser Herrgott muß endlich wohl selber drüber lachen, was die
|
|
||||||
Menschen für närrische Sachen tun machen: planieren, plattieren,
|
|
||||||
plattieren, planieren und am Ende da |: tun sie noch gar appellieren. :|
|
|
||||||
\par
|
|
||||||
5. Bei der ersten Halben da ist's mäuschenstille, weil keiner mit
|
|
||||||
einer etwas anfangen wille; die zweite ist kritisch, die dritte muß ziegen,
|
|
||||||
bei der vierten giebt's Schläg, |: daß die Haar davon fliegen. :|
|
|
||||||
\par
|
|
||||||
6. Wenn ich einst sterbe, so laßt mich begraben, nicht unter den
|
|
||||||
Kirchhof, nicht über den Schragen; hinunter in Keller, wohl unter
|
|
||||||
das Faß! lieg gar nit gern trocken, |: lieg alleweil gern naß. :|
|
|
||||||
\par
|
|
||||||
7. Auf meinem Grabsteine da könnt ihr einst lesen, was ich für
|
|
||||||
ein närrischer Kauz bin gewesen, beständig betrunken, zuweilen ein
|
|
||||||
Narr, doch ein ehrlicher Kerl, |: und das letzte ist wahr! :|
|
|
||||||
\begin{flushright}
|
|
||||||
1824
|
|
||||||
\end{flushright}
|
|
@ -1,94 +0,0 @@
|
|||||||
\version "2.18"
|
|
||||||
\include "articulate.ly"
|
|
||||||
|
|
||||||
\header {
|
|
||||||
title = "Die Gedanken sind frei"
|
|
||||||
composer = "Volksweise, um 1815"
|
|
||||||
poet = ""
|
|
||||||
tagline = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
musicOne = \relative e' {
|
|
||||||
\time 3/4
|
|
||||||
\key a \major
|
|
||||||
|
|
||||||
\partial 4 e8 e |
|
|
||||||
\repeat volta 2
|
|
||||||
{
|
|
||||||
a4 a cis8 (a) |
|
|
||||||
e2 e4 |
|
|
||||||
d b e |
|
|
||||||
}
|
|
||||||
\alternative
|
|
||||||
{
|
|
||||||
{ cis a e'8 e }
|
|
||||||
{ cis4 a a' }
|
|
||||||
}
|
|
||||||
gis4 b4. gis8 |
|
|
||||||
a4 cis a |
|
|
||||||
gis b4. gis8 |
|
|
||||||
a4 cis a |
|
|
||||||
fis fis a8 (fis) |
|
|
||||||
e2 e8 cis' |
|
|
||||||
cis (b) a4 gis |
|
|
||||||
a2 r4 |
|
|
||||||
\bar "|."
|
|
||||||
}
|
|
||||||
|
|
||||||
verseOne = \lyricmode {
|
|
||||||
Die Ge -- |
|
|
||||||
dan -- ken sind |
|
|
||||||
frei, wer |
|
|
||||||
kann sie err -- |
|
|
||||||
ra -- ten, sie _ |
|
|
||||||
_ _ _ |
|
|
||||||
Mensch kann sie |
|
|
||||||
wis -- sen, kein |
|
|
||||||
Jä -- ger er -- |
|
|
||||||
schie -- ßen. Es |
|
|
||||||
blei -- bet da -- |
|
|
||||||
bei: Die Ge -- |
|
|
||||||
dan -- ken sind |
|
|
||||||
frei. |
|
|
||||||
}
|
|
||||||
|
|
||||||
verseOneRepeat = \lyricmode {
|
|
||||||
_ _ |
|
|
||||||
flie -- hen vor -- |
|
|
||||||
bei, wie |
|
|
||||||
nächt -- li -- che |
|
|
||||||
_ _ _ _ |
|
|
||||||
Schat -- ten. Kein |
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
\new Lyrics \lyricsto "one" {
|
|
||||||
\verseOne
|
|
||||||
}
|
|
||||||
\new Lyrics \lyricsto "one" {
|
|
||||||
\verseOneRepeat
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\layout {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
\unfoldRepeats \articulate
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\midi {
|
|
||||||
\tempo 4 = 100
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
\par
|
|
||||||
2. Ich denke, was ich will,
|
|
||||||
und was mich beglücket,
|
|
||||||
doch alles in der Still,
|
|
||||||
und wie es sich schicket.
|
|
||||||
Mein Wunsch und Begehren
|
|
||||||
kann niemand verwehren,
|
|
||||||
es bleibet dabei:
|
|
||||||
die Gedanken sind frei.
|
|
||||||
\par
|
|
||||||
3. Ich liebe den Wein,
|
|
||||||
mein Mädchen vor allen,
|
|
||||||
sie tut mir allein
|
|
||||||
am besten gefallen.
|
|
||||||
Ich bin nicht alleine
|
|
||||||
bei meinem Glas Weine,
|
|
||||||
mein Mädchen dabei:
|
|
||||||
die Gedanken sind frei.
|
|
||||||
\par
|
|
||||||
4. Und sperrt man mich ein
|
|
||||||
im finsteren Kerker,
|
|
||||||
das alles sind rein
|
|
||||||
vergebliche Werke;
|
|
||||||
denn meine Gedanken
|
|
||||||
zerreißen die Schranken
|
|
||||||
und Mauern entzwei:
|
|
||||||
die Gedanken sind frei.
|
|
||||||
\par
|
|
||||||
5. Drum will ich auf immer
|
|
||||||
den Sorgen entsagen
|
|
||||||
und will mich auch nimmer
|
|
||||||
mit Grillen mehr plagen.
|
|
||||||
Man kann ja im Herzen
|
|
||||||
stets lachen und scherzen
|
|
||||||
und denken dabei:
|
|
||||||
die Gedanken sind frei.
|
|
||||||
\\~
|
|
||||||
\begin{flushright}
|
|
||||||
Volkslied, 18. Jh.
|
|
||||||
\end{flushright}
|
|
@ -1,82 +0,0 @@
|
|||||||
\version "2.18"
|
|
||||||
\include "articulate.ly"
|
|
||||||
|
|
||||||
\header {
|
|
||||||
title = "O König von Preußen"
|
|
||||||
composer = "Volksweise, 18. Jh."
|
|
||||||
poet = ""
|
|
||||||
tagline = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
musicOne = \relative c' {
|
|
||||||
\time 2/4
|
|
||||||
\key d \major
|
|
||||||
|
|
||||||
\partial 8 a8 |
|
|
||||||
d4 d8 d |
|
|
||||||
d4 fis8 fis |
|
|
||||||
fis e e cis |
|
|
||||||
d4 r8 fis |
|
|
||||||
fis (a) a a |
|
|
||||||
b (a) g fis |
|
|
||||||
fis e e fis |
|
|
||||||
e4 r8 fis |
|
|
||||||
fis a a a |
|
|
||||||
b4. a8 |
|
|
||||||
a g g b |
|
|
||||||
a4 a8 (fis) |
|
|
||||||
d d d d |
|
|
||||||
e (fis) g e |
|
|
||||||
d d cis e |
|
|
||||||
d4 r |
|
|
||||||
\bar "|."
|
|
||||||
}
|
|
||||||
|
|
||||||
verseOne = \lyricmode {
|
|
||||||
O |
|
|
||||||
Kö -- nig von |
|
|
||||||
Preu -- ßen, du |
|
|
||||||
gro -- ßer Po -- ten -- |
|
|
||||||
tat, ich |
|
|
||||||
bin__ dei -- nes |
|
|
||||||
Dien -- stes so |
|
|
||||||
ü -- ber -- flüs -- sig |
|
|
||||||
satt. Was |
|
|
||||||
fan -- gen wir nur |
|
|
||||||
an, in |
|
|
||||||
die -- sem Jam -- mer -- |
|
|
||||||
tal, all -- |
|
|
||||||
wo ist nicht zu |
|
|
||||||
fin -- den als |
|
|
||||||
lau --ter Not und |
|
|
||||||
Qual. |
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
\new Lyrics \lyricsto "one" {
|
|
||||||
\verseOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\layout {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
\unfoldRepeats \articulate
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\midi {
|
|
||||||
\tempo 4 = 100
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
\par
|
|
||||||
2. Und kommt das Frühjahr an,
|
|
||||||
da ist die große Hitz',
|
|
||||||
da muß man exerzier'n,
|
|
||||||
daß eim der Buckel schwitzt.
|
|
||||||
Da muß man exerzier'n
|
|
||||||
vom Morgen bis Mittag,
|
|
||||||
und das verfluchte Leben
|
|
||||||
das währt den ganzen Tag.
|
|
||||||
\par
|
|
||||||
3. Vom Exerzieren weg,
|
|
||||||
geht's wieder auf die Wacht,
|
|
||||||
kein Teufel tut nicht frag'n,
|
|
||||||
ob man gefressen hat.
|
|
||||||
Kein Branntwein in der Flaschen,
|
|
||||||
kein weißes Brot dabei;
|
|
||||||
ein schlechtes Tabakrauchen,
|
|
||||||
das ist er Zeitvertreib.
|
|
||||||
\par
|
|
||||||
4. Ihr Herren, nehmt's nicht Wunder,
|
|
||||||
wann einer desertiert,
|
|
||||||
wir werden wie die Hunde
|
|
||||||
mit Schlägen strapeziert;
|
|
||||||
und bringen sie uns wieder,
|
|
||||||
sie henken uns nicht auf,
|
|
||||||
das Kriegsrecht wird gesprochen:
|
|
||||||
Der Kerl muß Gassen lauf!
|
|
||||||
\par
|
|
||||||
5. Und wann wir Gassen laufen,
|
|
||||||
so spielet man uns auf
|
|
||||||
mit Waldhorn und Trompeten,
|
|
||||||
da geht es tapfer drauf;
|
|
||||||
da werden wir gehauen
|
|
||||||
von einem Musketier,
|
|
||||||
der eine hat's Bedauern,
|
|
||||||
der andre gönnt es mir.
|
|
||||||
\par
|
|
||||||
6. Und werden wir dann alt,
|
|
||||||
wo wenden wir uns hin?
|
|
||||||
Die Gesundheit ist verloren,
|
|
||||||
die Kräfte sind dahin!
|
|
||||||
Und endlich wird es heißen:
|
|
||||||
Ein Vogel und kein Nest!
|
|
||||||
Geh', Alter, nimm den Bettelsack,
|
|
||||||
bist auch Soldat gewest!
|
|
||||||
\\~
|
|
||||||
\begin{flushright}
|
|
||||||
Volkslied, 1815
|
|
||||||
\end{flushright}
|
|
@ -25,7 +25,7 @@ machte er sein Testament,
|
|||||||
und es fanden seine Erben
|
und es fanden seine Erben
|
||||||
auch ein Buch in Pergament.
|
auch ein Buch in Pergament.
|
||||||
Drinnen stand auf jeder Seit':
|
Drinnen stand auf jeder Seit':
|
||||||
"Seid vernünftig, liebe Leut!
|
"Seid vernünftig, liebe Leuf!
|
||||||
|: dieses geb' ich zu Attest:
|
|: dieses geb' ich zu Attest:
|
||||||
Heute wieder voll gewest!"
|
Heute wieder voll gewest!"
|
||||||
\footnote{Diese Notiz des Kurfürsten Friedrich IV. von der Pfalz findet sich in dessen „Tage- und Ausgabebuch“ unterm 9. Juni 1598. Daselbst heißt es ferner: „30. Juli. Hab ich ein Rausch gehabet“} :|
|
\footnote{Diese Notiz des Kurfürsten Friedrich IV. von der Pfalz findet sich in dessen „Tage- und Ausgabebuch“ unterm 9. Juni 1598. Daselbst heißt es ferner: „30. Juli. Hab ich ein Rausch gehabet“} :|
|
||||||
|
@ -1,78 +0,0 @@
|
|||||||
\version "2.18"
|
|
||||||
\include "articulate.ly"
|
|
||||||
|
|
||||||
\header {
|
|
||||||
title = "Matrosenlied"
|
|
||||||
composer = "Fr. Silcher, 1830"
|
|
||||||
poet = "Mäßig"
|
|
||||||
tagline = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
musicOne = \relative b' {
|
|
||||||
\time 3/4
|
|
||||||
\key g \major
|
|
||||||
|
|
||||||
\partial 4 b8. a16 |
|
|
||||||
g4 d8 (b) c16 (d) e (fis) |
|
|
||||||
g8 (b,) d4 d16 (e) fis (g) |
|
|
||||||
a4. b16 (a) a8 e16 (fis) |
|
|
||||||
d4 r a'8. b16 |
|
|
||||||
c4 a g16 (fis) e (d) |
|
|
||||||
d8 (b') g4 a8. b16 |
|
|
||||||
c4 a g16 (fis) e (d) |
|
|
||||||
d8 (b') g4 g8\p g |
|
|
||||||
e8 e16 (c) g'4 fis8 (e) |
|
|
||||||
d2 g8.\f b16 |
|
|
||||||
a4 e fis8 d |
|
|
||||||
g2 g8.\ff b16 |
|
|
||||||
d4 d, b'8. a16 |
|
|
||||||
g2 r4 |
|
|
||||||
\bar "|."
|
|
||||||
}
|
|
||||||
|
|
||||||
verseOne = \lyricmode {
|
|
||||||
Auf dem |
|
|
||||||
Meer bin ich ge -- |
|
|
||||||
bo -- ren, auf dem |
|
|
||||||
Mee -- re ward ich |
|
|
||||||
groß, zu dem |
|
|
||||||
Meer hab ich ge -- |
|
|
||||||
schwo -- ren, es zur |
|
|
||||||
ew -- gen Braut er -- |
|
|
||||||
ko -- ren; fin -- det |
|
|
||||||
drum des To -- des |
|
|
||||||
Los, auf dem |
|
|
||||||
Meer stirbt der Mat -- |
|
|
||||||
ros, auf dem |
|
|
||||||
Meer stirbt der Mat -- |
|
|
||||||
ros.
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
\new Lyrics \lyricsto "one" {
|
|
||||||
\verseOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\layout {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
\unfoldRepeats \articulate
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\midi {
|
|
||||||
\tempo 4 = 130
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
\par
|
|
||||||
2. Schwingt der Mai die Sonnenflügel, lacht ein heitrer Sommertag,
|
|
||||||
ziehen rebengrüne Hügel längs des Wassers Silberspiegel, sing
|
|
||||||
ich bei dem Ruderschlag |: seinen hellen Furchen nach. :|
|
|
||||||
\par
|
|
||||||
3. Stürmt, den Winter zu verkünden, durch die Nächte wild der
|
|
||||||
Nord, rauscht die Flut aus tiefen Gründen, wenn die Sternlein bleich
|
|
||||||
verschwinden, spring ich keck von Bord zu Bord, |: kühn zur Tat, wie treu im Wort. :|
|
|
||||||
\par
|
|
||||||
4. Kracht der Kiel dann auch zusammen, ich halt aus in letzter
|
|
||||||
Stund; unter Masten, Schutt und Flammen bet ich still zum Schicksal:
|
|
||||||
Amen! blick hinunter in den Schlund und |: fahr mit dem Schiff zu Grund. :|
|
|
||||||
\par
|
|
||||||
5. Unten schlaf ich doch nicht immer, denn der Himmel ist kein
|
|
||||||
Spott; einst erweckt im Morgenschimmer auch der Herr die lecken Trümmer,
|
|
||||||
und vom Stapel frank und flott |: läuft dahin ein neues Boot. :|
|
|
||||||
\par
|
|
||||||
6. Aus dem Meere ewger Rosen winkt des Lechtturms goldner
|
|
||||||
Strahl, und es landen die Matrosen als willkommne Festgenossen,
|
|
||||||
wo im heilgen Heldensaal |: thront der große Admiral. :|
|
|
@ -1,76 +0,0 @@
|
|||||||
\version "2.18"
|
|
||||||
\include "articulate.ly"
|
|
||||||
|
|
||||||
\header {
|
|
||||||
title = "Papst und Sultan"
|
|
||||||
composer = ""
|
|
||||||
poet = "Heiter"
|
|
||||||
tagline = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
musicOne = \relative a' {
|
|
||||||
\time 4/4
|
|
||||||
\key d \major
|
|
||||||
|
|
||||||
\partial 4 a4 |
|
|
||||||
d4. d,8 d d fis d |
|
|
||||||
a'2 r4 cis8 d |
|
|
||||||
e4. d8 cis b a g |
|
|
||||||
fis2 r8 a b cis |
|
|
||||||
|
|
||||||
\repeat volta 2
|
|
||||||
{
|
|
||||||
d4. a8 e'4. a,8 |
|
|
||||||
fis'2 r8 e d cis |
|
|
||||||
b4 e d cis |
|
|
||||||
}
|
|
||||||
\alternative
|
|
||||||
{
|
|
||||||
{ d2 r8 a b cis }
|
|
||||||
{ d2 r2 }
|
|
||||||
}
|
|
||||||
\bar "|."
|
|
||||||
}
|
|
||||||
|
|
||||||
verseOne = \lyricmode {
|
|
||||||
Der |
|
|
||||||
Papst lebt herr -- lich in der |
|
|
||||||
Welt, es _ |
|
|
||||||
fehlt ihm nie an Ab -- lass -- |
|
|
||||||
geld, er trinkt vom |
|
|
||||||
al -- ler -- bes -- ten |
|
|
||||||
Wein; drum möcht ich |
|
|
||||||
auch der Papst wohl |
|
|
||||||
sein; er trinkt vom |
|
|
||||||
sein |
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
\new Lyrics \lyricsto "one" {
|
|
||||||
\verseOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\layout {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
\unfoldRepeats \articulate
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\midi {
|
|
||||||
\tempo 4 = 140
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
\par
|
|
||||||
2. Doch nein, er ist ein armer Wicht, ein holdes Mädchen küßt
|
|
||||||
ihn nicht; |: er schläft in seinem Bett allein; ich möchte doch der Papst
|
|
||||||
nicht sein. :|
|
|
||||||
\par
|
|
||||||
3. Der Sultan lebt in Saus und Braus, er wohnt in einem
|
|
||||||
großen Haus; |: voll wunderschöner Mägdelein; drum möcht ich wohl der
|
|
||||||
Sultan sein. :|
|
|
||||||
\par
|
|
||||||
4. Doch nein, er ist ein armer Mann, denn folgt er seinem Alkoran,
|
|
||||||
|: so trinkt er keinen Tropfen Wein; ich möchte doch nicht Sultan sein. :|
|
|
||||||
\par
|
|
||||||
5. Geteilt veracht ich beider Glück und kehr in meinen Stand
|
|
||||||
zurück, |: doch das geh ich mit Freuden ein: Bald Papst, bald Sultan
|
|
||||||
möcht ich sein. :|
|
|
||||||
\par
|
|
||||||
6. Drum, Mädchen, gib mir einen Kuß, denn jetzt bin ich der
|
|
||||||
Sultanus. |: Ihr trauten Brüder, schenket ein, damit ich auch der Papst
|
|
||||||
kann sein. :|
|
|
||||||
\\~
|
|
||||||
\begin{flushright}
|
|
||||||
Nach C. G. L. Noack, 1789
|
|
||||||
\end{flushright}
|
|
@ -1,132 +0,0 @@
|
|||||||
\version "2.18.2"
|
|
||||||
\include "articulate.ly"
|
|
||||||
|
|
||||||
\header {
|
|
||||||
title = "Räuberlied"
|
|
||||||
poet = "Frisch"
|
|
||||||
tagline = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
musicOne = \relative c'' {
|
|
||||||
\time 3/4
|
|
||||||
\key c \major
|
|
||||||
\partial 8 c8 |
|
|
||||||
|
|
||||||
\repeat volta 2
|
|
||||||
{
|
|
||||||
g8. g16 g4 c |
|
|
||||||
a8. a16 a4. c8 |
|
|
||||||
b8. c16 d4 g, |
|
|
||||||
}
|
|
||||||
\alternative
|
|
||||||
{
|
|
||||||
{ c8 e8 c4. c8 }
|
|
||||||
{ c8 e8 c4. c8 }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
musicTwo = \relative c'' {
|
|
||||||
\repeat volta 2
|
|
||||||
{
|
|
||||||
g8. b16 d4 d |
|
|
||||||
e8 c d4. c8 |
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
musicThree = \relative c'' {
|
|
||||||
\repeat volta 2
|
|
||||||
{
|
|
||||||
\time 3/4
|
|
||||||
c8. b16 a4 (f'8) d |
|
|
||||||
\time 2/4
|
|
||||||
e4 (d) |
|
|
||||||
}
|
|
||||||
\alternative
|
|
||||||
{
|
|
||||||
{ c4. c8 }
|
|
||||||
{ c4 r4 }
|
|
||||||
}
|
|
||||||
\bar "|."
|
|
||||||
}
|
|
||||||
|
|
||||||
verseOne = \lyricmode {
|
|
||||||
Ein |
|
|
||||||
\repeat volta 2
|
|
||||||
{
|
|
||||||
frei -- es Le -- ben |
|
|
||||||
füh -- ren wir, ein |
|
|
||||||
Le -- ben vol -- ller |
|
|
||||||
}
|
|
||||||
\alternative
|
|
||||||
{
|
|
||||||
{ Won -- _ -- ne. Ein }
|
|
||||||
{ Won -- _ -- ne. Der }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
verseTwo = \lyricmode {
|
|
||||||
\new Lyrics = "firstVerse"{
|
|
||||||
<<
|
|
||||||
{
|
|
||||||
Wald ist un -- ser |
|
|
||||||
Nacht -- quar -- tier; bei |
|
|
||||||
}
|
|
||||||
\new Lyrics = "secondVerse"
|
|
||||||
\with { alignBelowContext = "firstVerse" }
|
|
||||||
{
|
|
||||||
Sturm und Wind han -- |
|
|
||||||
tie -- ren wir; der |
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
verseThree = \lyricmode {
|
|
||||||
\repeat volta 2
|
|
||||||
{
|
|
||||||
\time 3/4
|
|
||||||
Mond ist uns -- re |
|
|
||||||
\time 2/4
|
|
||||||
Son -- |
|
|
||||||
}
|
|
||||||
\alternative
|
|
||||||
{
|
|
||||||
{ ne, der }
|
|
||||||
{ ne. _ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
\musicTwo
|
|
||||||
\musicThree
|
|
||||||
}
|
|
||||||
\new Lyrics \lyricsto "one" {
|
|
||||||
\verseOne
|
|
||||||
\verseTwo
|
|
||||||
\verseThree
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\layout {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\book {
|
|
||||||
\score {
|
|
||||||
\unfoldRepeats \articulate
|
|
||||||
<<
|
|
||||||
\new Voice = "one" {
|
|
||||||
\musicOne
|
|
||||||
\musicTwo
|
|
||||||
\musicThree
|
|
||||||
}
|
|
||||||
>>
|
|
||||||
\midi {
|
|
||||||
\tempo 4 = 100
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
\par
|
|
||||||
2. |: Heut kehren wir bei Pfaffen ein, bei masten Pächtern morgen; :|
|
|
||||||
da gibt’s Dukaten, Bier und Wein, was drüber ist, da lassen wir fein
|
|
||||||
|: den lieben Herrgott sorgen. :|
|
|
||||||
\par
|
|
||||||
3. |: Und haben wir im Traubensaft die Gurgel ausgebadet, :| so machen
|
|
||||||
wir uns Mut und Kraft und mit dem Schwarzen Brüderschaft,
|
|
||||||
|: der in der Hölle bratet. :|
|
|
||||||
\par
|
|
||||||
|: Und wenn dann unser Stündlein kommt, das unsre Taten lohnet, :|
|
|
||||||
so trinken wir uns toll und voll und bring'n dem Schwarzen unsern Zoll,
|
|
||||||
|: der in der Hölle thronet. :|
|
|
||||||
\\~
|
|
||||||
\begin{flushright}
|
|
||||||
Schiller, 1780
|
|
||||||
\end{flushright}
|
|
Loading…
Reference in New Issue
Block a user