diff --git a/musique/exercice.py b/musique/exercice.py index 821c0cc65d0bce2112e8e088c06ca0927e3771e0..3e20099ba419db28afa02b182e4c1bfca5b37020 100644 --- a/musique/exercice.py +++ b/musique/exercice.py @@ -362,46 +362,54 @@ class GenerateurExercice(GammeTemperee): def ensembleDesNotesGraphiques(self, frequences, radius, beamer): result = "" - notes = sorted(list(set(frequences))) + notesTotales = sorted(list(set(frequences))) + result += "\\begin{table}[H]\n\centering\n" - result += '\\resizebox{1\\textwidth}{!}{%\n' - if not beamer: - result += "\\begin{tabular}{|r|" + "".join(["c|"] * len(notes)) + "}\n" - else: - result += "\\begin{tabular}{r|" + "".join(["c"] * len(notes)) + "}\n" - if not beamer: - result += "\\hline\n" - result += "Notes" - for n in notes: - result += "&" - if beamer: - result += "\\hspace*{.2cm}" - result += self.frequenceToLaTeX(n, self.minOctave, self.maxOctave) - if beamer: - result += "\\hspace*{.2cm}" - result += "\\\\ \n" - result += "Forme" - for n in notes: - result += "&" - result += "\\begin{tikzpicture}[]" - nid = self.shiftNote(self.getOctaveEtIDNote(n), self.shiftOctave) - mw = self.boomwhackers[nid] - result += self.pointColore(mw, 0, 0, radius) + if len(notesTotales) > 12: + n = [ notesTotales[:12], notesTotales[12:] ] - result += "\\end{tikzpicture}" - result += "\\\\ \n" - if not beamer: - result += "Prénom" - for n in notes: - result += "&" - result += "\\hspace*{2cm}" - result += "\\\\ \n" - if not beamer: - result += "\\hline\n" - result += "\\end{tabular}\n" - result += "}\n" + for notes in n: + result += '\\resizebox{1\\textwidth}{!}{%\n' + if not beamer: + result += "\\begin{tabular}{|r|" + "".join(["c|"] * len(notes)) + "}\n" + else: + result += "\\begin{tabular}{r|" + "".join(["c"] * len(notes)) + "}\n" + if not beamer: + result += "\\hline\n" + + result += "Notes" + for n in notes: + result += "&" + if beamer: + result += "\\hspace*{.2cm}" + result += self.frequenceToLaTeX(n, self.minOctave, self.maxOctave) + if beamer: + result += "\\hspace*{.2cm}" + result += "\\\\ \n" + result += "Forme" + for n in notes: + result += "&" + result += "\\begin{tikzpicture}[]" + nid = self.shiftNote(self.getOctaveEtIDNote(n), self.shiftOctave) + mw = self.boomwhackers[nid] + result += self.pointColore(mw, 0, 0, radius) + + result += "\\end{tikzpicture}" + result += "\\\\ \n" + if not beamer: + result += "Prénom" + for n in notes: + result += "&" + result += "\\hspace*{2cm}" + result += "\\\\ \n" + if not beamer: + result += "\\hline\n" + result += "\\end{tabular}\n" + result += "}\n" + result += " \\newline \n \\ \n" + result += "\\caption{Représentation colorée des notes}\n" result += "\\end{table}\n" return result