"lyrics" => \$lyrics,
"verbose" => \$verbose,
"italian" => \$italian,
+ "uppercase" => \$uppercase,
);
$usage = "This is gtx2tex 2.8
--output=ps|pdf specify the output format; without the
output option a tex file is created
--italian changes chord output to italian notation
- (La, Si, Do, Re, Mi, Fa, Sol)";
+ (La, Si, Do, Re, Mi, Fa, Sol)
+--uppercase make all lyrics uppercase";
if ( ! $ARGV[0] ){
die "$usage\n";
print TEX "$_\\\\\n" unless ( /^\s*$/ );
} else {
+ if ( $uppercase ) {
+ $_ = uc($_); # Toutes les lettres en majuscule.
+ }
+
s/\s/$space/g; # Remplace une séquence de plusieurs espaces par un seul
s/(\^)(.*?)(\])/\\\(^\{\2\}\\\)\]/g; # Ziffern hochstellen / Place les chiffres en haut?
s/^/\\gtxchord\{\}\{/
}
+ if ( $uppercase ) {
+ s/(gtxchord\{[A-G][B#]?)MAJ7/\1$majeur_sept/g; # Remplace 'gtxchord{AM' par 'gtxchord{Am'
+
+ # On recherche le nom de l'accord, suivi d'un bémol ou dièse optionel, suivi de 'sus' + 1 chiffre.
+ s/(gtxchord\{[A-G][B#]?[0-9]?)SUS([0-9]+)/\1\$^{sus\2}\$/g;
+
+ # Accord demi-diminué
+ # On recherche le nom de l'accord, suivi d'un bémol ou dièse optionel, suivi de 'm7b5'.
+ s/(gtxchord\{[A-G][B#]?)M7B5/\1$half_diminished/g;
+
+ # Accords diminués
+ # On recherche le nom de l'accord, suivi d'un bémol ou dièse optionel, suivi de 'mb5'.
+ s/(gtxchord\{[A-G][B#]?)MB5/\1$diminished/g;
+ s/(gtxchord\{[A-G][B#]?)DIM7/\1$diminished7/g;
+ s/(gtxchord\{[A-G][B#]?)DIM/\1$diminished/g;
+
+ # Accords mineurs
+ s/(gtxchord\{[A-G][B#]?)M7/\1$mineur7/g;
+ s/(gtxchord\{[A-G][B#]?)M/\1$mineur/g;
+
+ # Accord A7b5
+ s/(gtxchord\{[A-G][B#]?)([0-9])B([0-9])/\1\$^{\2\\flat\3}\$/g;
+
+ # Accord A7 ou A6 ou Ab6
+ s/(gtxchord\{[A-G][B#]?)([0-9]?)/\1\$^{\2}\$/g;
+
+ s/(gtxchord\{[A-G])B/\1b/g; # Remplace 'gtxchord{AB' par 'gtxchord{Ab'
+ s/(\/[A-G])B/\1b/g; # Remplace '/AB' par '/Ab'
+ }
+
s/#/$sharp/g; # Remplace le symbole '#' par le symbole diese
s/\{Ab/{A$flat/g; # Remplace le 'b' de l'accord par le symbole bemol
s/\{Bb/{B$flat/g;