Optische Änderungen: Ausnutzen des Platzes u.a. durch Weglassen der Navileiste; Korrekturraster

This commit is contained in:
2025-09-07 18:06:24 +02:00
parent bb299fd83b
commit 522cee5d58
13 changed files with 4290 additions and 6944 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -11,7 +11,7 @@ anzahl_aufgaben = 6
[SoMiNoten]
# Anzahl der SoMi-Noten-Spalten
anzahl_noten = 14
anzahl_noten = 16
[Hausaufgaben]

View File

@@ -69,15 +69,15 @@ table.headline td.nr {
width: 5.5%;
}
td.left {
width: 47.5%;
padding-top: 2pt;
width: 42.5%;
padding-top: 4pt;
text-align: left;
}
td.right {
width: 48.0%;
width: 52.0%;
padding-top: 0pt;
padding-right: 0pt;
text-align: right;
text-align: left;
}
table.headline a {
color: black;
@@ -131,8 +131,10 @@ table, tr, td {
border: 0.3px solid black;
}
th, td {
padding-top: 4pt;
padding-top: 3pt;
padding-bottom: -1pt;
padding-left: 2pt;
vertical-align: middle;
text-align: left;
}
th.nr, td.nr {
@@ -155,57 +157,6 @@ th.luecke, td.luecke {
border: none;
}
/* Halbjahresübersicht */
table.halbjahr {
border: none;
}
table.halbjahr tr {
border: none;
}
th.kw, th.kwsmall, th.kw_sessions, th.kw_content {
border: 0.3px solid black;
border-bottom: 1px solid black;
}
th.kw, td.kw {
width: 5.5%;
text-align: right;
padding-right: 2pt;
vertical-align: middle;
}
th.kw {
text-align: center;
}
th.kwsmall, td.kwsmall {
font-size: 8.5pt;
}
th.kw_sessions, td.kw_sessions {
width: 19%;
text-align: center;
padding-left: 0pt;
border-left: 1px solid black;
border-right: 1px solid black;
}
th.kw_content, td.kw_content {
width: 70%;
}
/* Geburtstagstabelle */
td.geb, th.geb {
width: 15%;
padding-left: 0pt;
text-align: center;
}
td.age {
width: 7.5%;
padding-left: 0pt;
text-align: center;
}
td.eightteen {
background: lightgrey;
}
td.home {
width: 42.5%;
}
/* Übersichtstabelle */
table.overview th.nr, th.name, th.endnote {
@@ -266,6 +217,22 @@ tr.muster {
border-top: 1px solid black;
border-bottom: 1px solid black;
}
table.raster {
-pdf-keep-with-next: true;
}
table.raster td.first {
width: 8%;
}
table.raster td {
text-align: center;
padding-right: 1pt;
}
table.raster tr.line {
border-bottom: 1px solid black;
}
table.raster tr {
height: 25pt;
}
/* SoMi-Tabelle */
table.somi th {
@@ -281,12 +248,12 @@ table.somi tr.secretheader {
height: 30pt;
}
th.somi, td.somi, th.schr, td.schr {
width: 4.5%;
width: 4.25%;
text-align: center;
padding-left: 0pt;
}
th.sominote, td.sominote {
width: 10%;
width: 7.5%;
text-align: center;
padding-left: 0pt;
}
@@ -315,3 +282,54 @@ th.ha {
border-right: none;
}
/* Geburtstagstabelle */
td.geb, th.geb {
width: 15%;
padding-left: 0pt;
text-align: center;
}
td.age {
width: 7.5%;
padding-left: 0pt;
text-align: center;
}
td.eightteen {
background: lightgrey;
}
td.home {
width: 42.5%;
}
/* Halbjahresübersicht */
table.halbjahr {
border: none;
}
table.halbjahr tr {
border: none;
}
th.kw, th.kwsmall, th.kw_sessions, th.kw_content {
border: 0.3px solid black;
border-bottom: 1px solid black;
}
th.kw, td.kw {
width: 5.5%;
text-align: right;
padding-right: 2pt;
vertical-align: middle;
}
th.kw {
text-align: center;
}
th.kwsmall, td.kwsmall {
font-size: 8.5pt;
}
th.kw_sessions, td.kw_sessions {
width: 19%;
text-align: center;
padding-left: 0pt;
border-left: 1px solid black;
border-right: 1px solid black;
}
th.kw_content, td.kw_content {
width: 70%;
}

View File

@@ -1,7 +1,7 @@
[Navigation]
# Lerngruppenbezeichnung in der Navileiste (Zeilenumbruch vermeiden): kurz, normal
bezeichnung = normal
bezeichnung = kurz
[Korrekturbogen]
@@ -11,7 +11,7 @@ anzahl_aufgaben = 5
[SoMiNoten]
# Anzahl der SoMi-Noten-Spalten
anzahl_noten = 12
anzahl_noten = 15
[Hausaufgaben]

View File

@@ -11,7 +11,7 @@ anzahl_aufgaben = 5
[SoMiNoten]
# Anzahl der SoMi-Noten-Spalten
anzahl_noten = 12
anzahl_noten = 14
[Hausaufgaben]

View File

@@ -172,12 +172,6 @@ for datei in dateien:
# Übersichtsseite Noten zusammenbauen
body = body + uebersicht.erstelleUebersicht(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# Geburtstagsseite zusammenbauen
if (len(gebdaten)==0):
print(' - Geburtstagsliste wird weggelassen.')
else:
body = body + birthday.erstelleGeburtstagsBogen(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# optional: Korrekturbögen zusammenbauen
try:
schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
@@ -202,6 +196,12 @@ for datei in dateien:
# Checkliste(n) zusammenbauen
body = body + checkliste.erstelleCheckliste(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# Geburtstagsseite zusammenbauen
if (len(gebdaten)==0):
print(' - Geburtstagsliste wird weggelassen.')
else:
body = body + birthday.erstelleGeburtstagsBogen(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# Planungsseite für das Halbjahr zusammenbauen
body = body + halbjahr.erstelleHalbjahresuebersicht(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)

View File

@@ -27,7 +27,7 @@ def erstelleHABogen(klassekurs_name, dateien, path, namen, gebdaten, config, inp
table += '<a name="'+klassekurs_name+'HA"></a>'
table += header.erstelleHeader('Hausaufgaben', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += header.erstelleHeader('HA', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += '<table class="'+css+'" repeat="1">'

View File

@@ -19,12 +19,6 @@ def erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs):
print('Der Bereichsschlüssel "'+kursid+'" (zur entsprechenden Datei) existiert nicht in der Input-Datei (3).')
exit(0)
try:
device = inputs["Allgemein"]["device"]
except KeyError:
print('Der Schlüssel Allgemein oder "device" existiert nicht in der Input-Datei!')
exit(0)
try:
bezeichnung = config["Navigation"]["bezeichnung"]
except KeyError:
@@ -55,10 +49,11 @@ def erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs):
def erstelleHeader(line, klassekurs_name, gebdaten, lerngruppen, path, config, inputs, kurs_inputs):
# Part 1: Navigation für alle Lerngruppen
header = erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs)
# vorerst abgeschaltet: Navigation für alle Lerngruppen
# header = erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs)
# Part2: Icons für die aktuelle Lerngruppe
# Icons für die aktuelle Lerngruppe
header = ''
header += '<table class="headline"><tr class="headline">'
# Icon
@@ -82,13 +77,12 @@ def erstelleHeader(line, klassekurs_name, gebdaten, lerngruppen, path, config, i
# Iconleiste rechts
header += '<td class="right headline">'
# Link zur Startseite
header += '<a href="#Home">&nbsp;<img class="icon" src="img/home-2.svg"/></a>'
# Notenübersicht
header += '<a href="#'+klassekurs_name+'Overview">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/></a>'
# Geburtstagsseite
if (len(gebdaten)>0):
header += '<a href="#'+klassekurs_name+'Birthday">&nbsp;<img class="icon" src="img/bell-1.svg"/></a>'
# Arbeiten/Klausuren
schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
schr_bez = kurs_inputs["schriftlich_bez"]
@@ -116,6 +110,10 @@ def erstelleHeader(line, klassekurs_name, gebdaten, lerngruppen, path, config, i
# Checklisten
header += '<a href="#'+klassekurs_name+'Check">&nbsp;<img class="icon" src="img/check-circle-1.svg"/></a>'
# Geburtstagsseite
if (len(gebdaten)>0):
header += '<a href="#'+klassekurs_name+'Birthday">&nbsp;<img class="icon" src="img/bell-1.svg"/></a>'
# Halbjahresseite
header += '<a href="#'+klassekurs_name+'Halbjahr">&nbsp;<img class="icon" src="img/calendar-days.svg"/></a>'

View File

@@ -19,6 +19,12 @@ def erstelleKorrekturbogen(klassekurs_name, dateien, path, namen, gebdaten, conf
print('Ein Parameter "schriftlich_XYZ" fehlt für die Lerngruppe in der Input-Datei!')
exit(0)
try:
device = inputs["Allgemein"]["device"]
except KeyError:
print('Der Schlüssel Allgemein oder "device" existiert nicht in der Input-Datei!')
exit(0)
aufgaben_anzahl = int(config["Korrekturbogen"]["anzahl_aufgaben"])
offset = 0
@@ -58,6 +64,14 @@ def erstelleKorrekturbogen(klassekurs_name, dateien, path, namen, gebdaten, conf
table += '</table>'
table += '<p/>'
table += '<table class="raster">'
table += '<tr><td class="first">Note</td><td class="cs" colspan="3">1</td><td class="cs" colspan="3">2</td><td class="cs" colspan="3">3</td><td class="cs" colspan="3">4</td><td class="cs" colspan="3">5</td><td>6</td></tr>'
table += '<tr class="line"><td class="first">&nbsp;</td><td>1+</td><td>1</td><td>1-</td><td>2+</td><td>2</td><td>2-</td><td>3+</td><td>3</td><td>4-</td><td>4+</td><td>4</td><td>4-</td><td>5+</td><td>5</td><td>5-</td><td>6</td></tr>'
table += '<tr class="line"><td class="first">Pt.</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>'
table += '</table>'
table += '<pdf:nextpage />'
return table