From c2bc86421700726465c256dd282c0c0b47246ef3 Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 4 Mar 2014 16:32:58 +0100 Subject: [PATCH 1/9] Oubli lors du commit eec3039e25be5d9e1953730005058114f93b3a19 --- .../data/examples/songs/greensleeves.ly | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/songbook_core/data/examples/songs/greensleeves.ly b/songbook_core/data/examples/songs/greensleeves.ly index 98b79433..1fd2bccb 100644 --- a/songbook_core/data/examples/songs/greensleeves.ly +++ b/songbook_core/data/examples/songs/greensleeves.ly @@ -1,21 +1,19 @@ \include "_lilypond/header" \paper{paper-height = 6.5\cm} -%\new \songbookstaff { \key a \minor - \time 6/8 - \partial 8 a'8 - \relative c''{ - c4 d8 e8. (f16) e8 d4 b8 g8. (a16) b8 - c4 a8 a8. (gis16) a8 b4 gis8 e4 a8 - c4 d8 e8. (f16 e8) d4 b8 g8. (a16) b8 - c8. (b16) a8 gis8. (fis16) gis8 a4 a8 a4. - - g'4. g8. (fis16) e8 d4 b8 g8. (a16) b8 - c4 (a8) a8. (gis16) a8 b4 gis8 e4. - g'4. g8. (fis16) e8 d4 b8 g8. (a16) b8 - c8. (b16) a8 gis8. (fis16) gis8 a4. a4. - } -} + \time 6/8 + \partial 8 a'8 + \relative c''{ + c4 d8 e8. (f16) e8 d4 b8 g8. (a16) b8 + c4 a8 a8. (gis16) a8 b4 gis8 e4 a8 + c4 d8 e8. (f16 e8) d4 b8 g8. (a16) b8 + c8. (b16) a8 gis8. (fis16) gis8 a4 a8 a4. + g'4. g8. (fis16) e8 d4 b8 g8. (a16) b8 + c4 (a8) a8. (gis16) a8 b4 gis8 e4. + g'4. g8. (fis16) e8 d4 b8 g8. (a16) b8 + c8. (b16) a8 gis8. (fis16) gis8 a4. a4. + } +} From 59d7670440936c68cf45625bafa8018aa9d3ad28 Mon Sep 17 00:00:00 2001 From: Louis Date: Sun, 16 Mar 2014 14:30:04 +0100 Subject: [PATCH 2/9] =?UTF-8?q?Abandon=20de=20\lang=20(cette=20valeur=20pe?= =?UTF-8?q?ut=20=C3=AAtre=20retrouv=C3=A9e=20avec=20Babel)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- songbook_core/data/latex/crepbook.cls | 63 +++++++++++++-------------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/songbook_core/data/latex/crepbook.cls b/songbook_core/data/latex/crepbook.cls index 249fb419..07f19783 100644 --- a/songbook_core/data/latex/crepbook.cls +++ b/songbook_core/data/latex/crepbook.cls @@ -111,28 +111,27 @@ \def\picture#1{\gdef\@picture{#1}} \def\picturecopyright#1{\gdef\@picturecopyright{#1}} \def\footer#1{\gdef\@footer{#1}} -\def\lang#1{\gdef\@lang{#1}} \clearheadinfo \newcommand{\l@belVersion}{ - \IfStrEq{\@lang}{english}{\bf version:}{} - \IfStrEq{\@lang}{french}{\bf version :}{} + \iflanguage{english}{\bf version:}{} + \iflanguage{french}{\bf version :}{} } \newcommand{\l@belDate}{ - \IfStrEq{\@lang}{english}{\bf date:}{} - \IfStrEq{\@lang}{french}{\bf date :}{} + \iflanguage{english}{\bf date:}{} + \iflanguage{french}{\bf date :}{} } \newcommand{\l@belAuthor}{ - \IfStrEq{\@lang}{english}{\bf authors:}{} - \IfStrEq{\@lang}{french}{\bf auteurs :}{} + \iflanguage{english}{\bf authors:}{} + \iflanguage{french}{\bf auteurs :}{} } \newcommand{\l@belWeb}{ - \IfStrEq{\@lang}{english}{\bf web:}{} - \IfStrEq{\@lang}{french}{\bf web :}{} + \iflanguage{english}{\bf web:}{} + \iflanguage{french}{\bf web :}{} } \newcommand{\l@belMail}{ - \IfStrEq{\@lang}{english}{\bf mail:}{} - \IfStrEq{\@lang}{french}{\bf mail :}{} + \iflanguage{english}{\bf mail:}{} + \iflanguage{french}{\bf mail :}{} } \renewcommand\maketitle{ @@ -229,7 +228,7 @@ \renewcommand{\extendpostlude}{ {\footnotesize% \IfStrEq{\songoriginal}{}{}{ - \IfStrEq{\@lang}{english}{Original song:}{Chanson originale :} + \iflanguage{english}{Original song:}{Chanson originale :} \songoriginal } } @@ -446,36 +445,36 @@ %% End of tabs.sty file \newcommand*{\Intro}{% - \IfStrEq{\@lang}{english}{intro}{}% - \IfStrEq{\@lang}{french}{intro}{}% + \iflanguage{english}{intro}{}% + \iflanguage{french}{intro}{}% }% \newcommand*{\Outro}{% - \IfStrEq{\@lang}{english}{outro}{}% - \IfStrEq{\@lang}{french}{outro}{}% + \iflanguage{english}{outro}{}% + \iflanguage{french}{outro}{}% }% \newcommand*{\Bridge}{% - \IfStrEq{\@lang}{english}{bridge}{}% - \IfStrEq{\@lang}{french}{pont}{}% + \iflanguage{english}{bridge}{}% + \iflanguage{french}{pont}{}% }% \newcommand*{\Chorus}{% - \IfStrEq{\@lang}{english}{chorus}{}% - \IfStrEq{\@lang}{french}{refrain}{}% + \iflanguage{english}{chorus}{}% + \iflanguage{french}{refrain}{}% }% \newcommand*{\Verse}{% - \IfStrEq{\@lang}{english}{verse}{}% - \IfStrEq{\@lang}{french}{couplet}{}% + \iflanguage{english}{verse}{}% + \iflanguage{french}{couplet}{}% }% \newcommand*{\Solo}{% - \IfStrEq{\@lang}{english}{solo}{}% - \IfStrEq{\@lang}{french}{solo}{}% + \iflanguage{english}{solo}{}% + \iflanguage{french}{solo}{}% }% \newcommand*{\Pattern}{% - \IfStrEq{\@lang}{english}{pattern}{}% - \IfStrEq{\@lang}{french}{motif}{}% + \iflanguage{english}{pattern}{}% + \iflanguage{french}{motif}{}% }% \newcommand*{\Rythm}{% - \IfStrEq{\@lang}{english}{rythm}{}% - \IfStrEq{\@lang}{french}{rythme}{}% + \iflanguage{english}{rythm}{}% + \iflanguage{french}{rythme}{}% }% \newcommand*{\Adlib}{% \emph{ad~lib.}% @@ -485,7 +484,7 @@ \renewcommand{\musicnote}[2][]{% \vspace{.1cm} \IfStrEq{}{#1}{\musicnoteORIG{#2}}{ - \IfStrEq{\@lang}{#1}{\musicnoteORIG{#2}}{} + \iflanguage{#1}{\musicnoteORIG{#2}}{} } } @@ -493,7 +492,7 @@ \renewcommand{\textnote}[2][]{% \vspace{.1cm} \IfStrEq{}{#1}{\textnoteORIG{#2}}{ - \IfStrEq{\@lang}{#1}{\textnoteORIG{#2}}{} + \iflanguage{#1}{\textnoteORIG{#2}}{} } } @@ -559,8 +558,8 @@ \newcommand{\transposition}[1]{% \ifnorepeatchords% \musicnote{% - \IfStrEq{\@lang}{english}{transposition:~}{}% - \IfStrEq{\@lang}{french}{transposition~:~}{}% + \iflanguage{english}{transposition:~}{}% + \iflanguage{french}{transposition~:~}{}% \ifthenelse{#1>0}{#1$\Uparrow$}{\removefirstch@r#1$\Downarrow$}% }% \else% From f33c3da0e3d5949932e007cf2ff2d87af6c6c3d7 Mon Sep 17 00:00:00 2001 From: Louis Date: Sun, 16 Mar 2014 14:30:23 +0100 Subject: [PATCH 3/9] Saucissonage des templates --- songbook_core/data/templates/default.tex | 73 +++-------------------- songbook_core/data/templates/layout.tex | 17 ++---- songbook_core/data/templates/patacrep.tex | 53 ++++++++++++++++ songbook_core/data/templates/songs.tex | 27 +++++++++ 4 files changed, 92 insertions(+), 78 deletions(-) create mode 100644 songbook_core/data/templates/patacrep.tex create mode 100644 songbook_core/data/templates/songs.tex diff --git a/songbook_core/data/templates/default.tex b/songbook_core/data/templates/default.tex index 73d9399e..c9d782be 100644 --- a/songbook_core/data/templates/default.tex +++ b/songbook_core/data/templates/default.tex @@ -1,47 +1,12 @@ -(% comment %) -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Template parameters -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%:[ -%%: {"name":"title", "description":"Title", "default":"Recueil de chansons pour guitare", "mandatory":true}, -%%: {"name":"author", "description":"Author", "default":"The Songbook Team", "mandatory":true}, -%%: {"name":"booktype", "description":"Type", "type":"enum", "values":["chorded","lyric"], "default":"chorded", "mandatory":true}, -%%: {"name":"lang", "description":"Language", "default":"english"}, -%%: {"name":"instruments", "description":"Instruments", "type":"flag", "values":["guitar","ukulele"], "join":",", "mandatory":true, "default":["guitar"]}, -%%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","importantdiagramonly","lilypond","pictures","tabs","repeatchords","onesongperpage"], "join":",", "mandatory":true, "default":["diagram","pictures"]}, -%%: {"name":"version", "description":"Version", "default":"unknown"}, -%%: {"name":"subtitle", "description":"Subtitle"}, -%%: {"name":"web", "description":"Web", "default":"http://www.patacrep.com"}, -%%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"}, -%%: {"name":"picture", "description":"Picture", "type":"file", "default":"treble_a"}, -%%: {"name":"picturecopyright", "description":"Copyright", "default":"Dbolton \\url{http://commons.wikimedia.org/wiki/User:Dbolton}"}, -%%: {"name":"footer", "description":"Footer", "default":"\\begin{flushright}Generated using Songbook (\\url{http://www.patacrep.com})\\end{flushright}"}, -%%: {"name":"mainfontsize", "description":"Font Size", "type":"font", "default":"10"}, -%%: {"name":"songnumberbgcolor", "description":"Number Shade", "type":"color", "default":"D1E4AE"}, -%%: {"name":"notebgcolor", "description":"Note Shade", "type":"color", "default":"D1E4AE"}, -%%: {"name":"indexbgcolor", "description":"Index Shade", "type":"color", "default":"D1E4AE"}, -%%: {"name":"titleprefixwords", "description":"Ignore some words in the beginning of song titles"}, -%%: {"name":"authwords", "descriptipn":"Set of options to process author string (LaTeX commands authsepword, authignoreword, authbyword)"}, -%%: {"name":"languages", "description":"List of languages used by songs", "default":"english"} -%%:] -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -(% endcomment %) +(* set indexes = "titleidx,authidx" *) -(* extends "layout.tex" *) +(* extends "songs.tex" *) + +(* block songbookpreambule *) + (( super() )) -(* block extrapackages *) - \usepackage[ - a4paper % paper size - ,includeheadfoot % include header and footer into text size - ,hmarginratio=1:1 % ratio between inner and outer margin (default) - ,outer=1.8cm % outer margin (right) - ,vmarginratio=1:1 % ratio between top and bottom margin - ,bmargin=1.3cm % bottom margin - ]{geometry} \usepackage{chords} -(* endblock extrapackages *) -(* block songbookpreambule *) \title{((title))} \author{((author))} \subtitle{((subtitle))} @@ -53,7 +18,6 @@ \picture{((picture))} \picturecopyright{((picturecopyright))} \footer{((footer))} - \lang{((mainlang))} \newindex{titleidx}{((filename))_title} \newauthorindex{authidx}{((filename))_auth} @@ -70,17 +34,10 @@ (* endif *) (* endfor *) (* endfor*) +(* endblock *) - \graphicspath{{((datadir))/img/}} - \pagestyle{empty} - - \definecolor{SongNumberBgColor}{HTML}{((songnumberbgcolor))} - \definecolor{NoteBgColor}{HTML}{((notebgcolor))} - \definecolor{IndexBgColor}{HTML}{((indexbgcolor))} - - \renewcommand{\snumbgcolor}{SongNumberBgColor} - \renewcommand{\notebgcolor}{NoteBgColor} - \renewcommand{\idxbgcolor}{IndexBgColor} +(* block title *) +\maketitle (* endblock *) (* block index *) @@ -110,17 +67,3 @@ \fi (* endblock *) -(* block content *) - \phantomsection - (* if mainlang==english *) - \addcontentsline{toc}{section}{Songs list} - (* else *) - \addcontentsline{toc}{section}{Liste des chansons} - (* endif *) - - \begin{songs}{titleidx,authidx} - (* for song in songlist.songs *) - \input{((song.path))} - (* endfor *) - \end{songs} -(* endblock *) diff --git a/songbook_core/data/templates/layout.tex b/songbook_core/data/templates/layout.tex index 112fa233..5b0fd76a 100644 --- a/songbook_core/data/templates/layout.tex +++ b/songbook_core/data/templates/layout.tex @@ -23,27 +23,19 @@ % Copyright (C) 2014 The Songbook team (www.patacrep.com) +(* block documentclass *) \documentclass[((booktype)), (* for option in bookoptions *)((option)), (* endfor *) (* for instrument in instruments *)((instrument)), (* endfor *) ((mainfontsize))pt]{crepbook} +(* endblock *) -(* block packages *) +(* block songbookpreambule *) \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} - (* for lang in songlist.languages() *) - \PassOptionsToPackage{((lang))}{babel} - (* endfor *) - \usepackage{babel} - - (* block extrapackages *) - (* endblock extrapackages *) -(* endblock packages *) - -(* block songbookpreambule *) (* endblock songbookpreambule *) (* block preambule *) @@ -52,7 +44,6 @@ \begin{document} (* block title *) -\maketitle (* endblock *) (* block preface *) @@ -64,7 +55,7 @@ (* block chords *) (* endblock *) -(* block content *) +(* block songs *) (* endblock *) (* block postface *) diff --git a/songbook_core/data/templates/patacrep.tex b/songbook_core/data/templates/patacrep.tex new file mode 100644 index 00000000..33723475 --- /dev/null +++ b/songbook_core/data/templates/patacrep.tex @@ -0,0 +1,53 @@ +(% comment %) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Template parameters +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%:[ +%%: {"name":"title", "description":"Title", "default":"Recueil de chansons pour guitare", "mandatory":true}, +%%: {"name":"author", "description":"Author", "default":"The Songbook Team", "mandatory":true}, +%%: {"name":"booktype", "description":"Type", "type":"enum", "values":["chorded","lyric"], "default":"chorded", "mandatory":true}, +%%: {"name":"lang", "description":"Language", "default":"english"}, +%%: {"name":"instruments", "description":"Instruments", "type":"flag", "values":["guitar","ukulele"], "join":",", "mandatory":true, "default":["guitar"]}, +%%: {"name":"bookoptions", "description":"Options", "type":"flag", "values":["diagram","importantdiagramonly","lilypond","pictures","tabs","repeatchords","onesongperpage"], "join":",", "mandatory":true, "default":["diagram","pictures"]}, +%%: {"name":"version", "description":"Version", "default":"unknown"}, +%%: {"name":"subtitle", "description":"Subtitle"}, +%%: {"name":"web", "description":"Web", "default":"http://www.patacrep.com"}, +%%: {"name":"mail", "description":"Email", "default":"crep@team-on-fire.com"}, +%%: {"name":"picture", "description":"Picture", "type":"file", "default":"treble_a"}, +%%: {"name":"picturecopyright", "description":"Copyright", "default":"Dbolton \\url{http://commons.wikimedia.org/wiki/User:Dbolton}"}, +%%: {"name":"footer", "description":"Footer", "default":"\\begin{flushright}Generated using Songbook (\\url{http://www.patacrep.com})\\end{flushright}"}, +%%: {"name":"mainfontsize", "description":"Font Size", "type":"font", "default":"10"}, +%%: {"name":"songnumberbgcolor", "description":"Number Shade", "type":"color", "default":"D1E4AE"}, +%%: {"name":"notebgcolor", "description":"Note Shade", "type":"color", "default":"D1E4AE"}, +%%: {"name":"indexbgcolor", "description":"Index Shade", "type":"color", "default":"D1E4AE"}, +%%: {"name":"titleprefixwords", "description":"Ignore some words in the beginning of song titles"}, +%%: {"name":"authwords", "descriptipn":"Set of options to process author string (LaTeX commands authsepword, authignoreword, authbyword)"}, +%%: {"name":"languages", "description":"List of languages used by songs", "default":"english"} +%%:] +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +(% endcomment %) + +(* extends "default.tex" *) + +(* block songbookpreambule *) + \usepackage[ + a4paper % paper size + ,includeheadfoot % include header and footer into text size + ,hmarginratio=1:1 % ratio between inner and outer margin (default) + ,outer=1.8cm % outer margin (right) + ,vmarginratio=1:1 % ratio between top and bottom margin + ,bmargin=1.3cm % bottom margin + ]{geometry} + + (( super() )) + + \pagestyle{empty} + + \definecolor{SongNumberBgColor}{HTML}{((songnumberbgcolor))} + \definecolor{NoteBgColor}{HTML}{((notebgcolor))} + \definecolor{IndexBgColor}{HTML}{((indexbgcolor))} + + \renewcommand{\snumbgcolor}{SongNumberBgColor} + \renewcommand{\notebgcolor}{NoteBgColor} + \renewcommand{\idxbgcolor}{IndexBgColor} +(* endblock *) diff --git a/songbook_core/data/templates/songs.tex b/songbook_core/data/templates/songs.tex new file mode 100644 index 00000000..afad1ef9 --- /dev/null +++ b/songbook_core/data/templates/songs.tex @@ -0,0 +1,27 @@ +(* extends "layout.tex" *) + +(* block songbookpreambule *) + (( super() )) + + (* for lang in songlist.languages() *) + \PassOptionsToPackage{((lang))}{babel} + (* endfor *) + \usepackage{babel} + + \graphicspath{{((datadir))/img/}} +(* endblock *) + +(* block songs *) + \phantomsection + (* if mainlang==english *) + \addcontentsline{toc}{section}{Songs list} + (* else *) + \addcontentsline{toc}{section}{Liste des chansons} + (* endif *) + + \begin{songs}{((indexes|default('')))} + (* for song in songlist.songs *) + \input{((song.path))} + (* endfor *) + \end{songs} +(* endblock *) From a97f7390aa2a1be4dd31e2d399dc60ad9744db19 Mon Sep 17 00:00:00 2001 From: Louis Date: Sun, 16 Mar 2014 17:54:41 +0100 Subject: [PATCH 4/9] =?UTF-8?q?Chargement=20de=20la=20bonne=20langue=20par?= =?UTF-8?q?=20d=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- songbook_core/data/templates/songs.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/songbook_core/data/templates/songs.tex b/songbook_core/data/templates/songs.tex index afad1ef9..e80e3e3e 100644 --- a/songbook_core/data/templates/songs.tex +++ b/songbook_core/data/templates/songs.tex @@ -6,7 +6,7 @@ (* for lang in songlist.languages() *) \PassOptionsToPackage{((lang))}{babel} (* endfor *) - \usepackage{babel} + \usepackage[((lang))]{babel} \graphicspath{{((datadir))/img/}} (* endblock *) From 24a78f39ddb323aa149ea29894fa592e403d46f1 Mon Sep 17 00:00:00 2001 From: Louis Date: Sun, 16 Mar 2014 18:30:29 +0100 Subject: [PATCH 5/9] [WIP] Gestion de la langue principale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ce commit annule en partie le commit 59d7670440936c68cf45625bafa8018aa9d3ad28 Reste une correction à faire : supprimer les TODO. --- songbook_core/data/latex/chords.sty | 118 +++++++++++++----- songbook_core/data/latex/crepbook.cls | 148 ++++++++++++++++------- songbook_core/data/templates/default.tex | 17 +-- songbook_core/data/templates/songs.tex | 8 +- 4 files changed, 199 insertions(+), 92 deletions(-) diff --git a/songbook_core/data/latex/chords.sty b/songbook_core/data/latex/chords.sty index 8fa01843..d4a30c13 100644 --- a/songbook_core/data/latex/chords.sty +++ b/songbook_core/data/latex/chords.sty @@ -4,7 +4,71 @@ \newcommand*{\Sharp}{\nolinebreak\hspace{-.05em}\raisebox{.6ex}{\,\small\bf \#}} \newcommand*{\Flat}{\nolinebreak\hspace{-.05em}\raisebox{.6ex}{\,\small$\mathbf{\flat}$}} \newcommand*{\chordrule}{\mbox{\hspace{1cm}\rule[0.5cm]{15cm}{0.02cm}}\vspace{-.4cm}} -\newcommand*{\chordname}[2]{\makebox[3cm]{\raisebox{.5cm}{\large \textbf{\iflanguage{english}{#1}{#2}}}}} +\newcommand*{\chordname}[1]{\makebox[3cm]{\raisebox{.5cm}{\large \textbf{#1}}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Multilanguage management + +\newcommand{\guitarchordsname}{ + \IfStrEq{\mainlanguage}{english}{Guitar chords}{} + \IfStrEq{\mainlanguage}{french}{Accords de guitare}{} +} +\newcommand{\ukulelechordsname}{ + \IfStrEq{\mainlanguage}{english}{Ukulele chords}{} + \IfStrEq{\mainlanguage}{french}{Accords de ukulélé}{} +} +\newcommand{\chordnameAsharp}{ + \IfStrEq{\mainlanguage}{english}{A\Sharp = B\Flat}{} + \IfStrEq{\mainlanguage}{french}{La\Sharp = Si\Flat}{} +} +\newcommand{\chordnameA}{ + \IfStrEq{\mainlanguage}{english}{A}{} + \IfStrEq{\mainlanguage}{french}{La}{} +} +\newcommand{\chordnameB}{ + \IfStrEq{\mainlanguage}{english}{B}{} + \IfStrEq{\mainlanguage}{french}{Si}{} +} +\newcommand{\chordnameCsharp}{ + \IfStrEq{\mainlanguage}{english}{C\Sharp = D\Flat}{} + \IfStrEq{\mainlanguage}{french}{Do\Sharp = Ré\Flat}{} +} +\newcommand{\chordnameC}{ + \IfStrEq{\mainlanguage}{english}{C}{} + \IfStrEq{\mainlanguage}{french}{Do}{} +} +\newcommand{\chordnameDsharp}{ + \IfStrEq{\mainlanguage}{english}{D\Sharp = E\Flat}{} + \IfStrEq{\mainlanguage}{french}{Ré\Sharp = Mi\Flat}{} +} +\newcommand{\chordnameD}{ + \IfStrEq{\mainlanguage}{english}{D}{} + \IfStrEq{\mainlanguage}{french}{Ré}{} +} +\newcommand{\chordnameE}{ + \IfStrEq{\mainlanguage}{english}{E}{} + \IfStrEq{\mainlanguage}{french}{Mi}{} +} +\newcommand{\chordnameFsharp}{ + \IfStrEq{\mainlanguage}{english}{F\Sharp = G\Flat}{} + \IfStrEq{\mainlanguage}{french}{Fa\Sharp = Sol\Flat}{} +} +\newcommand{\chordnameF}{ + \IfStrEq{\mainlanguage}{english}{F}{} + \IfStrEq{\mainlanguage}{french}{Fa}{} +} +\newcommand{\chordnameGsharp}{ + \IfStrEq{\mainlanguage}{english}{G\Sharp = A\Flat}{} + \IfStrEq{\mainlanguage}{french}{Sol\Sharp = La\Flat}{} +} +\newcommand{\chordnameG}{ + \IfStrEq{\mainlanguage}{english}{G}{} + \IfStrEq{\mainlanguage}{french}{Sol}{} +} + +% End of multilanguage management +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \newcommand{\chords}{ \begin{songs}{} @@ -16,8 +80,8 @@ \songcolumns{1} \ifguitar - \iflanguage{english}{\beginsong{Guitar chords}}{\beginsong{Accords de guitare}} - \chordname{C}{Do} + \beginsong{\guitarchordsname} + \chordname{\chordnameC} \gtab{C}{~:X32010} \gtab{C7}{~:X32310} \gtab{Cm}{3:X02210} @@ -29,7 +93,7 @@ \gtab*{C6}{~:XX2213} \chordrule - \chordname{C\Sharp = D\Flat}{Do\Sharp = Ré\Flat} + \chordname{\chordnameCsharp} \gtab{C\#}{4:X02220} \gtab{C\#7}{4:X02020} \gtab{C\#m}{4:X02210} @@ -41,7 +105,7 @@ \gtab*{C\#6}{1:X02010} \chordrule - \chordname{D}{Ré} + \chordname{\chordnameD} \gtab{D}{~:XX0232} \gtab{D7}{~:XX0212} \gtab{Dm}{~:XX0231} @@ -53,7 +117,7 @@ \gtab*{D6}{~:X00202} \chordrule - \chordname{D\Sharp = E\Flat}{Ré\Sharp = Mi\Flat} + \chordname{\chordnameDsharp} \gtab{D\#}{6:X02220} \gtab{D\#7}{6:X02020} \gtab{D\#m}{6:X02210} @@ -65,7 +129,7 @@ \gtab*{D\#6}{1:X00202} \chordrule - \chordname{E}{Mi} + \chordname{\chordnameE} \gtab{E}{~:022100} \gtab{E7}{~:020100} \gtab{Em}{~:022000} @@ -77,7 +141,7 @@ \gtab*{E6}{~:022120} \chordrule - \chordname{F}{Fa} + \chordname{\chordnameF} \gtab{F}{1:022100} \gtab{F7}{1:020100} \gtab{Fm}{1:022000} @@ -89,7 +153,7 @@ \gtab*{F6}{~:XX0211} \chordrule - \chordname{F\Sharp = G\Flat}{Fa\Sharp = Sol\Flat} + \chordname{\chordnameFsharp} \gtab{F\#}{2:022100} \gtab{F\#7}{2:020100} \gtab{F\#m}{2:022000} @@ -101,7 +165,7 @@ \gtab*{F\#6}{~:XX1322} \chordrule - \chordname{G}{Sol} + \chordname{\chordnameG} \gtab{G}{~:320003} \gtab{G7}{~:320001} \gtab{Gm}{3:022000} @@ -113,7 +177,7 @@ \gtab*{G6}{~:320000} \chordrule - \chordname{G\Sharp = A\Flat}{Sol\Sharp = La\Flat} + \chordname{\chordnameGsharp} \gtab{G\#}{4:022100} \gtab{G\#7}{4:020100} \gtab{G\#m}{4:022000} @@ -125,7 +189,7 @@ \gtab*{G\#6}{~:XX1111} \chordrule - \chordname{A}{La} + \chordname{\chordnameA} \gtab{A}{~:X02220} \gtab{A7}{~:X02020} \gtab{Am}{~:X02210} @@ -137,7 +201,7 @@ \gtab*{A6}{~:XX2222} \chordrule - \chordname{A\Sharp = B\Flat}{La\Sharp = Si\Flat} + \chordname{\chordnameAsharp} \gtab{A\#}{1:X02220} \gtab{A\#7}{1:X02020} \gtab{A\#m}{1:X02210} @@ -149,7 +213,7 @@ \gtab*{A\#6}{~:XX3333} \chordrule - \chordname{B}{Si} + \chordname{\chordnameB} \gtab{B}{2:X02220} \gtab{B7}{X21202} \gtab{Bm}{2:X02210} @@ -169,9 +233,9 @@ \fi \ifukulele - \iflanguage{english}{\beginsong{Ukulele chords}}{\beginsong{Accords de ukulélé}} + \beginsong{\ukulelechordsname} - \chordname{C}{Do} + \chordname{\chordnameC} \utab{C}{~:0003} \utab{C7}{~:0001} \utab{Cm}{~:0333} @@ -183,7 +247,7 @@ \utab*{Cdim}{2:3101} \chordrule - \chordname{C\Sharp = D\Flat}{Do\Sharp = Ré\Flat} + \chordname{\chordnameCsharp} \utab{C\#}{1:0003} \utab{C\#7}{1:0001} \utab{C\#m}{~:1104} @@ -195,7 +259,7 @@ \utab*{C\#dim}{~:0104} \chordrule - \chordname{D}{Ré} + \chordname{\chordnameD} \utab{D}{~:2220} \utab{D7}{2:0001} \utab{Dm}{~:2210} @@ -207,7 +271,7 @@ \utab*{Ddim}{1:0104} \chordrule - \chordname{D\Sharp = E\Flat}{Ré\Sharp = Mi\Flat} + \chordname{\chordnameDsharp} \utab{D\#}{1:2220} \utab{D\#7}{3:0001} \utab{D\#m}{1:2210} @@ -219,7 +283,7 @@ \utab*{D\#dim}{~:2320} \chordrule - \chordname{E}{Mi} + \chordname{\chordnameE} \utab{E}{2:2220} \utab{E7}{~:1202} \utab{Em}{~:0432} @@ -231,7 +295,7 @@ \utab*{Edim}{1:2320} \chordrule - \chordname{F}{Fa} + \chordname{\chordnameF} \utab{F}{~:2010} \utab{F7}{~:2310} \utab{Fm}{~:1013} @@ -243,7 +307,7 @@ \utab*{Fdim}{2:2320} \chordrule - \chordname{F\Sharp = G\Flat}{Fa\Sharp = Sol\Flat} + \chordname{\chordnameFsharp} \utab{F\#}{1:2010} \utab{F\#7}{1:2310} \utab{F\#m}{~:2120} @@ -255,7 +319,7 @@ \utab*{F\#dim}{~:2020} \chordrule - \chordname{G}{Sol} + \chordname{\chordnameG} \utab{G}{~:0232} \utab{G7}{~:0212} \utab{Gm}{~:0231} @@ -267,7 +331,7 @@ \utab*{Gdim}{~:0131} \chordrule - \chordname{G\Sharp = A\Flat}{Sol\Sharp = La\Flat} + \chordname{\chordnameGsharp} \utab{G\#}{3:2010} \utab{G\#7}{1:0212} \utab{G\#m}{1:0231} @@ -279,7 +343,7 @@ \utab*{G\#dim}{1:0131} \chordrule - \chordname{A}{La} + \chordname{\chordnameA} \utab{A}{~:2100} \utab{A7}{~:0100} \utab{Am}{~:2000} @@ -291,7 +355,7 @@ \utab*{Adim}{2:0131} \chordrule - \chordname{A\Sharp = B\Flat}{La\Sharp = Si\Flat} + \chordname{\chordnameAsharp} \utab{A\#}{1:2100} \utab{A\#7}{1:0100} \utab{A\#m}{1:2000} @@ -303,7 +367,7 @@ \utab*{A\#dim}{~:3101} \chordrule - \chordname{B}{Si} + \chordname{\chordnameB} \utab{B}{2:2100} \utab{B7}{2:0100} \utab{Bm}{2:2000} diff --git a/songbook_core/data/latex/crepbook.cls b/songbook_core/data/latex/crepbook.cls index 07f19783..cb9b0e1d 100644 --- a/songbook_core/data/latex/crepbook.cls +++ b/songbook_core/data/latex/crepbook.cls @@ -84,6 +84,91 @@ \fi % Start + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Multilanguage management + +\newcommand{\labelversionname}{% + \IfStrEq{\mainlanguage}{english}{version:}{}% + \IfStrEq{\mainlanguage}{french}{version :}{}% +} +\newcommand{\labeldatename}{% + \IfStrEq{\mainlanguage}{english}{date:}{}% + \IfStrEq{\mainlanguage}{french}{date :}{}% +} +\newcommand{\labelauthorname}{% + \IfStrEq{\mainlanguage}{english}{authors:}{}% + \IfStrEq{\mainlanguage}{french}{auteurs :}{}% +} +\newcommand{\labelwebname}{% + \IfStrEq{\mainlanguage}{english}{web:}{}% + \IfStrEq{\mainlanguage}{french}{web :}{}% +} +\newcommand{\labelmailname}{% + \IfStrEq{\mainlanguage}{english}{mail:}{}% + \IfStrEq{\mainlanguage}{french}{mail :}{}% +} +\newcommand{\originalsongname}{% + \IfStrEq{\mainlanguage}{english}{Original song:}{}% + \IfStrEq{\mainlanguage}{french}{Chanson originale :}{}% +} +\newcommand{\introname}{% + \IfStrEq{\mainlanguage}{english}{intro}{}% + \IfStrEq{\mainlanguage}{french}{intro}{}% +} +\newcommand{\outroname}{% + \IfStrEq{\mainlanguage}{english}{outro}{}% + \IfStrEq{\mainlanguage}{french}{outro}{}% +} +\newcommand{\bridgename}{% + \IfStrEq{\mainlanguage}{english}{bridge}{}% + \IfStrEq{\mainlanguage}{french}{pont}{}% +} +\newcommand{\chorusname}{% + \IfStrEq{\mainlanguage}{english}{chorus}{}% + \IfStrEq{\mainlanguage}{french}{refrain}{}% +} +\newcommand{\versename}{% + \IfStrEq{\mainlanguage}{english}{verse}{}% + \IfStrEq{\mainlanguage}{french}{couple}{}% +} +\newcommand{\soloname}{% + \IfStrEq{\mainlanguage}{english}{solo}{}% + \IfStrEq{\mainlanguage}{french}{solo}{}% +} +\newcommand{\patternname}{% + \IfStrEq{\mainlanguage}{english}{pattern}{}% + \IfStrEq{\mainlanguage}{french}{motif}{}% +} +\newcommand{\rythmname}{% + \IfStrEq{\mainlanguage}{english}{rythm}{}% + \IfStrEq{\mainlanguage}{french}{rythme}{}% +} +\newcommand{\transpositionname}{% + \IfStrEq{\mainlanguage}{english}{transposition:}{}% + \IfStrEq{\mainlanguage}{french}{transposition :}{}% +} +\newcommand{\songindexname}{% + \IfStrEq{\mainlanguage}{english}{Songs Index}{}% + \IfStrEq{\mainlanguage}{french}{Index des chansons}{}% +} +\newcommand{\authorindexname}{% + \IfStrEq{\mainlanguage}{english}{Authors Index}{}% + \IfStrEq{\mainlanguage}{french}{Index des auteurs}{}% +} +\newcommand{\songlistname}{% + \IfStrEq{\mainlanguage}{english}{Songs list}{}% + \IfStrEq{\mainlanguage}{french}{Liste des chansons}{}% +} +\newcommand{\chordlistname}{% + \IfStrEq{\mainlanguage}{english}{Chords list}{}% + \IfStrEq{\mainlanguage}{french}{Liste des accords}{}% +} + +% End of multilanguage management +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \def\andname{and} \def\lastandname{\unskip, and} @@ -111,29 +196,9 @@ \def\picture#1{\gdef\@picture{#1}} \def\picturecopyright#1{\gdef\@picturecopyright{#1}} \def\footer#1{\gdef\@footer{#1}} +\def\lang#1{\gdef\mainlanguage{#1}} \clearheadinfo -\newcommand{\l@belVersion}{ - \iflanguage{english}{\bf version:}{} - \iflanguage{french}{\bf version :}{} -} -\newcommand{\l@belDate}{ - \iflanguage{english}{\bf date:}{} - \iflanguage{french}{\bf date :}{} -} -\newcommand{\l@belAuthor}{ - \iflanguage{english}{\bf authors:}{} - \iflanguage{french}{\bf auteurs :}{} -} -\newcommand{\l@belWeb}{ - \iflanguage{english}{\bf web:}{} - \iflanguage{french}{\bf web :}{} -} -\newcommand{\l@belMail}{ - \iflanguage{english}{\bf mail:}{} - \iflanguage{french}{\bf mail :}{} -} - \renewcommand\maketitle{ \@maketitle @@ -171,11 +236,11 @@ \begin{flushleft} \begin{tabular}{l l} - \if!\@version!\else{\l@belVersion} & \@version \\ \fi - \if!\@date!\else{\l@belDate} & \@date \\ \fi - \if!\@author!\else{\l@belAuthor} & \@author \\ \fi - \if!\@web!\else{\l@belWeb} & \url{\@web} \\ \fi - \if!\@mail!\else{\l@belMail} & \url{\@mail} \\ \fi + \if!\@version!\else{\textbf{\labelversionname}} & \@version \\ \fi + \if!\@date!\else{\textbf{\labeldatename}} & \@date \\ \fi + \if!\@author!\else{\textbf{\labelauthorname}} & \@author \\ \fi + \if!\@web!\else{\textbf{\labelwebname}} & \url{\@web} \\ \fi + \if!\@mail!\else{\textbf{\labelmailname}} & \url{\@mail} \\ \fi \end{tabular} \end{flushleft} @@ -193,8 +258,6 @@ \thispagestyle{empty} } -\makeatletter - \newlength{\coverheight} \setlength{\coverheight}{2cm} \newlength{\coverspace} @@ -228,7 +291,7 @@ \renewcommand{\extendpostlude}{ {\footnotesize% \IfStrEq{\songoriginal}{}{}{ - \iflanguage{english}{Original song:}{Chanson originale :} + \originalsongname \songoriginal } } @@ -445,36 +508,28 @@ %% End of tabs.sty file \newcommand*{\Intro}{% - \iflanguage{english}{intro}{}% - \iflanguage{french}{intro}{}% + \introname% }% \newcommand*{\Outro}{% - \iflanguage{english}{outro}{}% - \iflanguage{french}{outro}{}% + \outroname% }% \newcommand*{\Bridge}{% - \iflanguage{english}{bridge}{}% - \iflanguage{french}{pont}{}% + \bridgename% }% \newcommand*{\Chorus}{% - \iflanguage{english}{chorus}{}% - \iflanguage{french}{refrain}{}% + \chorusname% }% \newcommand*{\Verse}{% - \iflanguage{english}{verse}{}% - \iflanguage{french}{couplet}{}% + \versename% }% \newcommand*{\Solo}{% - \iflanguage{english}{solo}{}% - \iflanguage{french}{solo}{}% + \soloname% }% \newcommand*{\Pattern}{% - \iflanguage{english}{pattern}{}% - \iflanguage{french}{motif}{}% + \patternname% }% \newcommand*{\Rythm}{% - \iflanguage{english}{rythm}{}% - \iflanguage{french}{rythme}{}% + \rythmname% }% \newcommand*{\Adlib}{% \emph{ad~lib.}% @@ -558,8 +613,7 @@ \newcommand{\transposition}[1]{% \ifnorepeatchords% \musicnote{% - \iflanguage{english}{transposition:~}{}% - \iflanguage{french}{transposition~:~}{}% + \transpositionname~ \ifthenelse{#1>0}{#1$\Uparrow$}{\removefirstch@r#1$\Downarrow$}% }% \else% diff --git a/songbook_core/data/templates/default.tex b/songbook_core/data/templates/default.tex index c9d782be..712f7f4b 100644 --- a/songbook_core/data/templates/default.tex +++ b/songbook_core/data/templates/default.tex @@ -41,14 +41,9 @@ (* endblock *) (* block index *) - (* if mainlang==english *) - \showindex{Songs Index}{titleidx} - \showindex{Authors Index}{authidx} - (* else *) - \showindex{Index des chansons}{titleidx} - \showindex{Index des auteurs}{authidx} - (* endif *) - (* if mainlang==french *) + \showindex{TODOsongindexname}{titleidx} + \showindex{TODOauthorindexname}{authidx} + (* if lang==french *) \notenamesin{A}{B}{C}{D}{E}{F}{G} \notenamesout{La}{Si}{Do}{Ré}{Mi}{Fa}{Sol} (* endif *) @@ -58,11 +53,7 @@ % list of chords \ifchorded \phantomsection - (* if mainlang==english *) - \addcontentsline{toc}{section}{Chords list} - (* else *) - \addcontentsline{toc}{section}{Liste des accords} - (* endif *) + \addcontentsline{toc}{section}{TODOchordlistname} \chords \fi (* endblock *) diff --git a/songbook_core/data/templates/songs.tex b/songbook_core/data/templates/songs.tex index e80e3e3e..97578a0b 100644 --- a/songbook_core/data/templates/songs.tex +++ b/songbook_core/data/templates/songs.tex @@ -3,21 +3,19 @@ (* block songbookpreambule *) (( super() )) + (* for lang in songlist.languages() *) \PassOptionsToPackage{((lang))}{babel} (* endfor *) \usepackage[((lang))]{babel} + \lang{((lang))} \graphicspath{{((datadir))/img/}} (* endblock *) (* block songs *) \phantomsection - (* if mainlang==english *) - \addcontentsline{toc}{section}{Songs list} - (* else *) - \addcontentsline{toc}{section}{Liste des chansons} - (* endif *) + \addcontentsline{toc}{section}{TODOsonglistname} \begin{songs}{((indexes|default('')))} (* for song in songlist.songs *) From c07a3b6955e2edfb853a64c917a3d18b2890f5b1 Mon Sep 17 00:00:00 2001 From: Louis Date: Mon, 17 Mar 2014 18:47:13 +0100 Subject: [PATCH 6/9] =?UTF-8?q?Am=C3=A9lioration=20de=20la=20gestion=20des?= =?UTF-8?q?=20langues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La langue par défaut est l'anglais. --- songbook_core/data/latex/chords.sty | 89 +++++++---------- songbook_core/data/latex/crepbook.cls | 119 +++++++++-------------- songbook_core/data/templates/default.tex | 6 +- songbook_core/data/templates/songs.tex | 2 +- 4 files changed, 82 insertions(+), 134 deletions(-) diff --git a/songbook_core/data/latex/chords.sty b/songbook_core/data/latex/chords.sty index d4a30c13..b4f5e10a 100644 --- a/songbook_core/data/latex/chords.sty +++ b/songbook_core/data/latex/chords.sty @@ -9,61 +9,40 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Multilanguage management -\newcommand{\guitarchordsname}{ - \IfStrEq{\mainlanguage}{english}{Guitar chords}{} - \IfStrEq{\mainlanguage}{french}{Accords de guitare}{} -} -\newcommand{\ukulelechordsname}{ - \IfStrEq{\mainlanguage}{english}{Ukulele chords}{} - \IfStrEq{\mainlanguage}{french}{Accords de ukulélé}{} -} -\newcommand{\chordnameAsharp}{ - \IfStrEq{\mainlanguage}{english}{A\Sharp = B\Flat}{} - \IfStrEq{\mainlanguage}{french}{La\Sharp = Si\Flat}{} -} -\newcommand{\chordnameA}{ - \IfStrEq{\mainlanguage}{english}{A}{} - \IfStrEq{\mainlanguage}{french}{La}{} -} -\newcommand{\chordnameB}{ - \IfStrEq{\mainlanguage}{english}{B}{} - \IfStrEq{\mainlanguage}{french}{Si}{} -} -\newcommand{\chordnameCsharp}{ - \IfStrEq{\mainlanguage}{english}{C\Sharp = D\Flat}{} - \IfStrEq{\mainlanguage}{french}{Do\Sharp = Ré\Flat}{} -} -\newcommand{\chordnameC}{ - \IfStrEq{\mainlanguage}{english}{C}{} - \IfStrEq{\mainlanguage}{french}{Do}{} -} -\newcommand{\chordnameDsharp}{ - \IfStrEq{\mainlanguage}{english}{D\Sharp = E\Flat}{} - \IfStrEq{\mainlanguage}{french}{Ré\Sharp = Mi\Flat}{} -} -\newcommand{\chordnameD}{ - \IfStrEq{\mainlanguage}{english}{D}{} - \IfStrEq{\mainlanguage}{french}{Ré}{} -} -\newcommand{\chordnameE}{ - \IfStrEq{\mainlanguage}{english}{E}{} - \IfStrEq{\mainlanguage}{french}{Mi}{} -} -\newcommand{\chordnameFsharp}{ - \IfStrEq{\mainlanguage}{english}{F\Sharp = G\Flat}{} - \IfStrEq{\mainlanguage}{french}{Fa\Sharp = Sol\Flat}{} -} -\newcommand{\chordnameF}{ - \IfStrEq{\mainlanguage}{english}{F}{} - \IfStrEq{\mainlanguage}{french}{Fa}{} -} -\newcommand{\chordnameGsharp}{ - \IfStrEq{\mainlanguage}{english}{G\Sharp = A\Flat}{} - \IfStrEq{\mainlanguage}{french}{Sol\Sharp = La\Flat}{} -} -\newcommand{\chordnameG}{ - \IfStrEq{\mainlanguage}{english}{G}{} - \IfStrEq{\mainlanguage}{french}{Sol}{} +\AtBeginDocument{ + % Default names (english) + \newcommand{\guitarchordsname}{Guitar chords} + \newcommand{\ukulelechordsname}{Ukulele chords} + \newcommand{\chordnameAsharp}{A\Sharp = B\Flat} + \newcommand{\chordnameA}{A} + \newcommand{\chordnameB}{B} + \newcommand{\chordnameCsharp}{C\Sharp = D\Flat} + \newcommand{\chordnameC}{C} + \newcommand{\chordnameDsharp}{D\Sharp = E\Flat} + \newcommand{\chordnameD}{D} + \newcommand{\chordnameE}{E} + \newcommand{\chordnameFsharp}{F\Sharp = G\Flat} + \newcommand{\chordnameF}{F} + \newcommand{\chordnameGsharp}{G\Sharp = A\Flat} + \newcommand{\chordnameG}{G} + + \IfStrEq{\mainlanguage}{french}{ + % French names + \renewcommand{\guitarchordsname}{Accords de guitare} + \renewcommand{\ukulelechordsname}{Accords de ukulélé} + \renewcommand{\chordnameAsharp}{La\Sharp = Si\Flat} + \renewcommand{\chordnameA}{La} + \renewcommand{\chordnameB}{Si} + \renewcommand{\chordnameCsharp}{Do\Sharp = Ré\Flat} + \renewcommand{\chordnameC}{Do} + \renewcommand{\chordnameDsharp}{Ré\Sharp = Mi\Flat} + \renewcommand{\chordnameD}{Ré} + \renewcommand{\chordnameE}{Mi} + \renewcommand{\chordnameFsharp}{Fa\Sharp = Sol\Flat} + \renewcommand{\chordnameF}{Fa} + \renewcommand{\chordnameGsharp}{Sol\Sharp = La\Flat} + \renewcommand{\chordnameG}{Sol} + }{} } % End of multilanguage management diff --git a/songbook_core/data/latex/crepbook.cls b/songbook_core/data/latex/crepbook.cls index cb9b0e1d..3a9b67f9 100644 --- a/songbook_core/data/latex/crepbook.cls +++ b/songbook_core/data/latex/crepbook.cls @@ -89,81 +89,50 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Multilanguage management -\newcommand{\labelversionname}{% - \IfStrEq{\mainlanguage}{english}{version:}{}% - \IfStrEq{\mainlanguage}{french}{version :}{}% -} -\newcommand{\labeldatename}{% - \IfStrEq{\mainlanguage}{english}{date:}{}% - \IfStrEq{\mainlanguage}{french}{date :}{}% -} -\newcommand{\labelauthorname}{% - \IfStrEq{\mainlanguage}{english}{authors:}{}% - \IfStrEq{\mainlanguage}{french}{auteurs :}{}% -} -\newcommand{\labelwebname}{% - \IfStrEq{\mainlanguage}{english}{web:}{}% - \IfStrEq{\mainlanguage}{french}{web :}{}% -} -\newcommand{\labelmailname}{% - \IfStrEq{\mainlanguage}{english}{mail:}{}% - \IfStrEq{\mainlanguage}{french}{mail :}{}% -} -\newcommand{\originalsongname}{% - \IfStrEq{\mainlanguage}{english}{Original song:}{}% - \IfStrEq{\mainlanguage}{french}{Chanson originale :}{}% -} -\newcommand{\introname}{% - \IfStrEq{\mainlanguage}{english}{intro}{}% - \IfStrEq{\mainlanguage}{french}{intro}{}% -} -\newcommand{\outroname}{% - \IfStrEq{\mainlanguage}{english}{outro}{}% - \IfStrEq{\mainlanguage}{french}{outro}{}% -} -\newcommand{\bridgename}{% - \IfStrEq{\mainlanguage}{english}{bridge}{}% - \IfStrEq{\mainlanguage}{french}{pont}{}% -} -\newcommand{\chorusname}{% - \IfStrEq{\mainlanguage}{english}{chorus}{}% - \IfStrEq{\mainlanguage}{french}{refrain}{}% -} -\newcommand{\versename}{% - \IfStrEq{\mainlanguage}{english}{verse}{}% - \IfStrEq{\mainlanguage}{french}{couple}{}% -} -\newcommand{\soloname}{% - \IfStrEq{\mainlanguage}{english}{solo}{}% - \IfStrEq{\mainlanguage}{french}{solo}{}% -} -\newcommand{\patternname}{% - \IfStrEq{\mainlanguage}{english}{pattern}{}% - \IfStrEq{\mainlanguage}{french}{motif}{}% -} -\newcommand{\rythmname}{% - \IfStrEq{\mainlanguage}{english}{rythm}{}% - \IfStrEq{\mainlanguage}{french}{rythme}{}% -} -\newcommand{\transpositionname}{% - \IfStrEq{\mainlanguage}{english}{transposition:}{}% - \IfStrEq{\mainlanguage}{french}{transposition :}{}% -} -\newcommand{\songindexname}{% - \IfStrEq{\mainlanguage}{english}{Songs Index}{}% - \IfStrEq{\mainlanguage}{french}{Index des chansons}{}% -} -\newcommand{\authorindexname}{% - \IfStrEq{\mainlanguage}{english}{Authors Index}{}% - \IfStrEq{\mainlanguage}{french}{Index des auteurs}{}% -} -\newcommand{\songlistname}{% - \IfStrEq{\mainlanguage}{english}{Songs list}{}% - \IfStrEq{\mainlanguage}{french}{Liste des chansons}{}% -} -\newcommand{\chordlistname}{% - \IfStrEq{\mainlanguage}{english}{Chords list}{}% - \IfStrEq{\mainlanguage}{french}{Liste des accords}{}% +\AtBeginDocument{ + % Default names (english) + \newcommand{\songlistname}{Songs list} + \newcommand{\labelversionname}{version:} + \newcommand{\labeldatename}{date:} + \newcommand{\labelauthorname}{authors:} + \newcommand{\labelwebname}{web:} + \newcommand{\labelmailname}{mail:} + \newcommand{\originalsongname}{Original song:} + \newcommand{\introname}{intro} + \newcommand{\outroname}{outro} + \newcommand{\bridgename}{bridge} + \newcommand{\chorusname}{chorus} + \newcommand{\versename}{verse} + \newcommand{\soloname}{solo} + \newcommand{\patternname}{pattern} + \newcommand{\rythmname}{rythm} + \newcommand{\transpositionname}{transposition:} + \newcommand{\songindexname}{Songs Index} + \newcommand{\authorindexname}{Authors Index} + \newcommand{\chordlistname}{Chords list} + + \IfStrEq{\mainlanguage}{french}{ + % French names + \renewcommand{\songlistname}{Liste des chansons}{} + \renewcommand{\labelversionname}{version :} + \renewcommand{\labeldatename}{date :} + \renewcommand{\labelauthorname}{auteurs :} + \renewcommand{\labelwebname}{web :} + \renewcommand{\labelmailname}{mail :} + \renewcommand{\originalsongname}{Chanson originale :} + \renewcommand{\introname}{intro} + \renewcommand{\outroname}{outro} + \renewcommand{\bridgename}{pont} + \renewcommand{\chorusname}{refrain} + \renewcommand{\versename}{couplet} + \renewcommand{\soloname}{solo} + \renewcommand{\patternname}{motif} + \renewcommand{\rythmname}{rythme} + \renewcommand{\transpositionname}{transposition :} + \renewcommand{\songindexname}{Index des chansons} + \renewcommand{\authorindexname}{Index des auteurs} + \renewcommand{\chordlistname}{Liste des accords} + }{} } % End of multilanguage management diff --git a/songbook_core/data/templates/default.tex b/songbook_core/data/templates/default.tex index 712f7f4b..c0a1d265 100644 --- a/songbook_core/data/templates/default.tex +++ b/songbook_core/data/templates/default.tex @@ -41,8 +41,8 @@ (* endblock *) (* block index *) - \showindex{TODOsongindexname}{titleidx} - \showindex{TODOauthorindexname}{authidx} + \showindex{\songindexname}{titleidx} + \showindex{\authorindexname}{authidx} (* if lang==french *) \notenamesin{A}{B}{C}{D}{E}{F}{G} \notenamesout{La}{Si}{Do}{Ré}{Mi}{Fa}{Sol} @@ -53,7 +53,7 @@ % list of chords \ifchorded \phantomsection - \addcontentsline{toc}{section}{TODOchordlistname} + \addcontentsline{toc}{section}{\chordlistname} \chords \fi (* endblock *) diff --git a/songbook_core/data/templates/songs.tex b/songbook_core/data/templates/songs.tex index 97578a0b..0095ad5d 100644 --- a/songbook_core/data/templates/songs.tex +++ b/songbook_core/data/templates/songs.tex @@ -15,7 +15,7 @@ (* block songs *) \phantomsection - \addcontentsline{toc}{section}{TODOsonglistname} + \addcontentsline{toc}{section}{\songlistname} \begin{songs}{((indexes|default('')))} (* for song in songlist.songs *) From f2f7800ac50c98439c823695d23c86a484590d68 Mon Sep 17 00:00:00 2001 From: Louis Date: Mon, 17 Mar 2014 19:28:36 +0100 Subject: [PATCH 7/9] Referencing PlasTeX bugs (#1) --- songbook_core/plastex.py | 3 ++- songbook_core/plastex_patchedbabel.py | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/songbook_core/plastex.py b/songbook_core/plastex.py index 6b921d0b..ef5f8737 100755 --- a/songbook_core/plastex.py +++ b/songbook_core/plastex.py @@ -74,7 +74,8 @@ def parsetex(filename): """ # /* BEGIN plasTeX patch # The following lines, and another line a few lines later, are used to - # circumvent a plasTeX bug. It has been reported, with a patch. + # circumvent a plasTeX bug. It has been reported and corrected : + # https://github.com/tiarno/plastex/commit/8f4e5a385f3cb6a04d5863f731ce24a7e856f2a4 # To see if you can delete those lines, set your LC_TIME locale to French, # during a month containing diacritics (e.g. Février), and run songbook. If # no plasTeX bug appears, it is safe to remove those lines. diff --git a/songbook_core/plastex_patchedbabel.py b/songbook_core/plastex_patchedbabel.py index 2f3b159a..39aa2e8f 100644 --- a/songbook_core/plastex_patchedbabel.py +++ b/songbook_core/plastex_patchedbabel.py @@ -11,8 +11,9 @@ en production. En attendant, nous utilisons cette version modifiée. Dés que la correction sera entrée en production, il faudra supprimer ce fichier, et remplater l'occurence à "patchedbabel" par "babel" dans le fichier "plastex.py". -La correction à suveiller est la révision 1.3 du fichier babel.py : -http://plastex.cvs.sourceforge.net/viewvc/plastex/plastex/plasTeX/Packages/babel.py?view=log +La correction à suveiller est la révision +41a48c0c229dd46b69fb0e3720595000a71b17d8 du fichier babel.py : +https://github.com/tiarno/plastex/commit/41a48c0c229dd46b69fb0e3720595000a71b17d8 # Comment vérifier si on peut supprimer ce fichier ? From 469faef41de6d638d82bc9f693a7e6b260c468d1 Mon Sep 17 00:00:00 2001 From: Louis Date: Mon, 17 Mar 2014 20:41:25 +0100 Subject: [PATCH 8/9] =?UTF-8?q?Correction=20d'un=20bug=20:=20ne=20plante?= =?UTF-8?q?=20pas=20si=20le=20fichier=20tex=20ne=20contient=20aucune=20lig?= =?UTF-8?q?ne=20d=C3=A9finissant=20des=20valeurs=20du=20template,=20commen?= =?UTF-8?q?=C3=A7ant=20par=20%%=20(#18)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- songbook_core/build.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/songbook_core/build.py b/songbook_core/build.py index e16703af..68ecb596 100755 --- a/songbook_core/build.py +++ b/songbook_core/build.py @@ -37,13 +37,14 @@ def parse_template(template): if embedded_json_pattern.match(line) ] - data = json.loads(''.join(code)) parameters = dict() - for param in data: - try: - parameters[param["name"]] = param["default"] - except KeyError: - parameters[param["name"]] = None + if code: + data = json.loads(''.join(code)) + for param in data: + try: + parameters[param["name"]] = param["default"] + except KeyError: + parameters[param["name"]] = None return parameters From b285650c52856cbedda56bb860646d15bfa5a107 Mon Sep 17 00:00:00 2001 From: Louis Date: Fri, 21 Mar 2014 23:21:00 +0100 Subject: [PATCH 9/9] Bug de plastex: lien vers les correctifs. #15 --- songbook_core/plastex.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/songbook_core/plastex.py b/songbook_core/plastex.py index ef5f8737..3affc7bd 100755 --- a/songbook_core/plastex.py +++ b/songbook_core/plastex.py @@ -17,6 +17,13 @@ def process_unbr_spaces(node): will be rendered as unbreakable space. Return node object for convenience. + + This function is a workaround to a bug that has been solved since: + - https://github.com/tiarno/plastex/commit/76bb78d5fbaac48e68025a3545286cc63cb4e7ad + - https://github.com/tiarno/plastex/commit/682a0d223b99d6b949bacf1c974d24dc9bb1d18e + + It can be deleted once this bug has been merged in production version of + PlasTeX. """ if (type(node) == Sentences.InterWordSpace or (type(node) == Sentences.NoLineBreak and node.source == '~ ')):