Skip to content
Snippets Groups Projects
Commit 52cc655c authored by Jean-Marie  FAVREAU's avatar Jean-Marie FAVREAU
Browse files

Ajout de quelques détails qui rendent plus facilement lisible les documents

parent 6162cbc8
No related branches found
No related tags found
No related merge requests found
...@@ -235,10 +235,12 @@ class GenerateurExercice(GammeTemperee): ...@@ -235,10 +235,12 @@ class GenerateurExercice(GammeTemperee):
result = "\\renewcommand{\\arraystretch}{1.3}" result = "\\renewcommand{\\arraystretch}{1.3}"
result += "\\begin{table}[H]\n\centering\n" result += "\\begin{table}[H]\n\centering\n"
result += "\\begin{tabular}{|c||c|c|}\n" if len(partition) > 30:
result += "{\\footnotesize \n"
result += "\\begin{tabular}{|c||c|c|c|}\n"
result += "\\hline\n" result += "\\hline\n"
result += " & \multicolumn{2}{c|}{Codage} \\\\ \n" result += " & \multicolumn{2}{c|}{Codage} & Représentation \\\\ \n"
result += " &\qquad\\textbf{Note}\qquad~ & \qquad\\textbf{Durée}\qquad~ \\\\ \n" result += " &\qquad\\textbf{Note}\qquad~ & \qquad\\textbf{Durée}\qquad~ & \\textbf{Graphique} \\\\ \n"
result += "\\hline \n" result += "\\hline \n"
for i, note in enumerate(partition): for i, note in enumerate(partition):
result += str(i + 1) + " & " result += str(i + 1) + " & "
...@@ -246,20 +248,22 @@ class GenerateurExercice(GammeTemperee): ...@@ -246,20 +248,22 @@ class GenerateurExercice(GammeTemperee):
if isinstance(note[0], float): if isinstance(note[0], float):
if note[0] > 0: if note[0] > 0:
result += self.frequenceToLaTeX(note[0], result += self.frequenceToLaTeX(note[0],
self.minOctave, self.maxOctave) + "& " + self.nomDuree(note[1]) + " \\\\\n" self.minOctave, self.maxOctave) + "& " + self.nomDuree(note[1]) + " & \\\\\n"
result += "\\hline\n" result += "\\hline\n"
else: else:
result += " & " + self.nomDuree(note[1]) + " \\\\\n" result += " & " + self.nomDuree(note[1]) + " & \\\\\n"
result += "\\hline\n" result += "\\hline\n"
else: else:
result += " & " + ', '.join([self.frequenceToLaTeX(n) for n in note[0]]) + " & " + self.nomDuree(note[1]) + " \\\\\n" result += " & " + ', '.join([self.frequenceToLaTeX(n) for n in note[0]]) + " & " + self.nomDuree(note[1]) + " & \\\\\n"
result += "\\hline\n" result += "\\hline\n"
else: else:
result += " & \\\\\n" result += " & & \\\\\n"
result += "\\hline\n" result += "\\hline\n"
if solution: if solution:
result += "\\hline\n" result += "\\hline\n"
result += "\\end{tabular}\n" result += "\\end{tabular}\n"
if len(partition) > 30:
result += "}\n"
if solution: if solution:
result += "\\caption{Tableau des notes de la partition (solution)}\n" result += "\\caption{Tableau des notes de la partition (solution)}\n"
else: else:
...@@ -289,6 +293,9 @@ class GenerateurExercice(GammeTemperee): ...@@ -289,6 +293,9 @@ class GenerateurExercice(GammeTemperee):
result += "\\end{tabular}\n" result += "\\end{tabular}\n"
result += "\\caption{Table des fréquences de la gamme tempérée}\n" result += "\\caption{Table des fréquences de la gamme tempérée}\n"
result += "\\end{table}\n" result += "\\end{table}\n"
if self.contientSilences(partitions):
result += "Attention, la partition peut également contenir des silences, dont on peut mesurer la longueur, comme les notes"
return result return result
# retourne la translation d'octave nécessaire pour jouer avec # retourne la translation d'octave nécessaire pour jouer avec
...@@ -344,7 +351,7 @@ class GenerateurExercice(GammeTemperee): ...@@ -344,7 +351,7 @@ class GenerateurExercice(GammeTemperee):
def pointColore(self, boomwhacker, x, y, r): def pointColore(self, boomwhacker, x, y, r):
result = self.couleurBoomwhackerToTikz(boomwhacker) result = self.couleurBoomwhackerToTikz(boomwhacker)
rayon = r * 1.2 if boomwhacker["court"] == "0" else r rayon = r * 1.3 if boomwhacker["court"] == "0" else r
result += "\\fill[fill=tempcolor] ("+ \ result += "\\fill[fill=tempcolor] ("+ \
str(x) + "," + str(y) + ") circle (" + str(rayon) + ");" str(x) + "," + str(y) + ") circle (" + str(rayon) + ");"
if "alteration" in boomwhacker: if "alteration" in boomwhacker:
......
...@@ -207,6 +207,10 @@ class GammeTemperee: ...@@ -207,6 +207,10 @@ class GammeTemperee:
l = [[ [x] if isinstance(x, float) else x for x in [note[0] if not isinstance(note[0], float) else note[0] for note in partition]] for partition in partitions] l = [[ [x] if isinstance(x, float) else x for x in [note[0] if not isinstance(note[0], float) else note[0] for note in partition]] for partition in partitions]
return [x for x in sum(sum(l, []), []) if x != 0] return [x for x in sum(sum(l, []), []) if x != 0]
def contientSilences(self, partitions):
l = [[ [x] if isinstance(x, float) else x for x in [note[0] if not isinstance(note[0], float) else note[0] for note in partition]] for partition in partitions]
return len([x for x in sum(sum(l, []), []) if x == 0]) != 0
# retourne la fréquence minimum utilisée dans les partitions # retourne la fréquence minimum utilisée dans les partitions
def minFrequence(self, partitions): def minFrequence(self, partitions):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment