Kurse aus Schülerleistungsdaten.dat übernehmen
Moderator: wschrewe
- wschrewe
- Fachberater*in
- Beiträge: 1882
- Registriert: Dienstag 25. September 2018, 17:36
- Schulform: BK (Pensionär)
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Danke für den Hinweis. War nur eine Kleinigkeit, ist behoben und die Testdatei ausgetauscht.
Mit freundlichen Grüßen
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
-
- Fachberater*in
- Beiträge: 749
- Registriert: Montag 1. Oktober 2018, 20:30
- Schulform: Gymnasium
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Der berichtet Fehler ist verschwunden, dafür werden aber jetzt die Schüler nicht den Kursen zu geordnet, wenn der Kurs noch nicht existiert. D. h. wird bei einem Schüler ein noch nicht existenter Kurs gefunden, wird dieser Kurs zwar angelegt, aber die Fachwahl des Schülers wird dem Kurs nicht zugeordnet. Der nächste Schüler mit dem gleichen Kurs landet korrekt im Kurs. Somit sind bei den ersten Schülern zwar alle Fachwahl vorhanden, die aber keinem Kurs zugeordnet sind.
Des Weiteren noch ein Aktualisierungsaspekt. Aktuell muss ich in der Schienenansicht erst einmal hin und her Klicken, damit dort die Kurse unter "Jahrgang: …" angezeigt werden. Zudem stimmt die Nummerierung der Parallelkurse nicht mit den Kursbezeichnungen überein. Daher muss ich erste "Kurse bearbeiten" aufrufen und schließen. Anschließend hilft "Extras > Spezial > Parallelkurse nummerieren". Könnte man diese Aktualisierungen im Hintergrund nach dem Import durchführen oder spricht etwas dagegen?
Des Weiteren noch ein Aktualisierungsaspekt. Aktuell muss ich in der Schienenansicht erst einmal hin und her Klicken, damit dort die Kurse unter "Jahrgang: …" angezeigt werden. Zudem stimmt die Nummerierung der Parallelkurse nicht mit den Kursbezeichnungen überein. Daher muss ich erste "Kurse bearbeiten" aufrufen und schließen. Anschließend hilft "Extras > Spezial > Parallelkurse nummerieren". Könnte man diese Aktualisierungen im Hintergrund nach dem Import durchführen oder spricht etwas dagegen?
- wschrewe
- Fachberater*in
- Beiträge: 1882
- Registriert: Dienstag 25. September 2018, 17:36
- Schulform: BK (Pensionär)
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Stimmt, ist behoben.M. Plümper hat geschrieben: Samstag 26. Januar 2019, 20:42dafür werden aber jetzt die Schüler nicht den Kursen zu geordnet, wenn der Kurs noch nicht existiert.
Sollte gehen.Könnte man diese Aktualisierungen im Hintergrund nach dem Import durchführen
Mit freundlichen Grüßen
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
-
- Fachberater*in
- Beiträge: 749
- Registriert: Montag 1. Oktober 2018, 20:30
- Schulform: Gymnasium
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Hallo Herr Schrewe, hatten Sie die Test-Version noch einmal ausgetauscht?
- wschrewe
- Fachberater*in
- Beiträge: 1882
- Registriert: Dienstag 25. September 2018, 17:36
- Schulform: BK (Pensionär)
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Noch nicht.
Mit freundlichen Grüßen
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
- wschrewe
- Fachberater*in
- Beiträge: 1882
- Registriert: Dienstag 25. September 2018, 17:36
- Schulform: BK (Pensionär)
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Jetzt aber.
Mit freundlichen Grüßen
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
-
- Fachberater*in
- Beiträge: 749
- Registriert: Montag 1. Oktober 2018, 20:30
- Schulform: Gymnasium
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Hallo Herr Schrewe,
leider war in der Zeugniszeit etwas wenig Zeit zum Testen. Das habe ich nun nachgeholt und es sieht gut. Sprich der Import scheint so zu funktionieren wie er sollte.
leider war in der Zeugniszeit etwas wenig Zeit zum Testen. Das habe ich nun nachgeholt und es sieht gut. Sprich der Import scheint so zu funktionieren wie er sollte.
-
- Fachberater*in
- Beiträge: 749
- Registriert: Montag 1. Oktober 2018, 20:30
- Schulform: Gymnasium
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Hallo Herr Schrewe,
ich wollte heute mit der Testversion eine neue Blockung anlegen. Da gelingt mir leider nicht. Wenn ich die Blockung für das aktuelle Halbjahr anlegen möchte, dann erhalte ich die Fehlermeldung aus dem Anhang, kurz nachdem im Protokollfenster die abgebildeten Meldungen erschienen sind. Lege ich die Blockung für das Folgeschuljahr an, so komme ich weiter. Allerdings erscheint dann nach der Meldung der Eintragung der Prüfungsordnung die gleiche Meldung.
EurekaLog 7.7.0.0 C3372258D8AB0349AF09C9A0BB1B29EB 6B439E85E292C2428C0DB5D26EB4A0D0 DA39A3EE5E6B4B0D3255BFEF95601890AFD80709 C9F167BAEE20314F8AD6E97F9E349777
Application:
-------------------------------------------------------
1.1 Start Date : Tue, 19 Feb 2019 18:49:42 +0100
1.2 Name/Description: kurs32.exe - (Kursverwaltung)
1.3 Version Number : 3.21.2.300
1.4 Parameters :
1.5 Compilation Date: Mon, 28 Jan 2019 22:30:11 +0100
1.6 Up Time : 24 second(s)
Exception:
-----------------------------------------------------
2.1 Date : Tue, 19 Feb 2019 18:50:06 +0100
2.2 Address : 006DCE4D
2.3 Module Name : kurs32.exe - (Kursverwaltung)
2.4 Module Version: 3.21.2.300
2.5 Type : ETreeViewError
2.6 Message : Ungültiger Index.
2.7 ID : EDFA1EB0
2.8 Count : 1
2.11 Sent : 0
Steps to reproduce:
------------
8.1 Text:
Call Stack Information:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|Methods |Details|Stack |Address |Module |Offset |Source |Unit |Class |Procedure/Method |Line |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|*Exception Thread: ID=15800; Parent=0; Priority=0 |
|Class=; Name=MAIN |
|DeadLock=0; Wait Chain= |
|Comment= |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|7FFFFFFE|03 |00000000|006DCE4D|kurs32.exe |002DCE4D|Vcl.ComCtrls.pas |Vcl.ComCtrls | |TreeViewError | |
|00004020|03 |0019FA48|006DEE60|kurs32.exe |002DEE60|Vcl.ComCtrls.pas |Vcl.ComCtrls |TTreeNodes |GetNodeFromIndex | |
|00000060|04 |0019FA74|013FFD75|kurs32.exe |00FFFD75|wkMain.pas |Wkmain |TWkMainForm |CreateSchieneKurs |2484[13] |
|00000060|04 |0019FA90|0140092C|kurs32.exe |0100092C|wkMain.pas |Wkmain |TWkMainForm |RedrawOutLine |2687[1] |
|00000060|04 |0019FA9C|013FC755|kurs32.exe |00FFC755|wkMain.pas |Wkmain |TWkMainForm |NewBlItemClick |1609[29] |
|00000060|03 |0019FAF4|00519403|kurs32.exe |00119403|System.Classes.pas|System.Classes|TBasicAction |Execute | |
|00000020|03 |0019FAFC|0066F78E|kurs32.exe |0026F78E|Vcl.ActnList.pas |Vcl.ActnList |TCustomAction |Execute | |
|00000020|03 |0019FB0C|0051925B|kurs32.exe |0011925B|System.Classes.pas|System.Classes|TBasicActionLink |Execute | |
|00000020|03 |0019FB18|008B0029|kurs32.exe |004B0029|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMenuBar |ExecAction | |
|00000020|03 |0019FB20|008B18C8|kurs32.exe |004B18C8|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMenuBar |TrackMenu | |
|00000020|03 |0019FB44|008B0E14|kurs32.exe |004B0E14|Vcl.ActnMenus.pas |Vcl.ActnMenus |TActionMenuFreeNotify |Create | |
|00000060|03 |0019FB50|008B52CA|kurs32.exe |004B52CA|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMainMenuBar|TrackMenu | |
|00000060|03 |0019FB80|008AFBDD|kurs32.exe |004AFBDD|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMenuBar |CMItemClicked | |
|00000020|03 |0019FB8C|0068165D|kurs32.exe |0028165D|Vcl.Controls.pas |Vcl.Controls |TControl |WndProc | |
|00000020|03 |0019FBA8|74EC6A36|KERNELBASE.dll|00116A36|KERNELBASE.dll |KERNELBASE | | (possible GetProcessMitigationPolicy+102)| |
|00000020|03 |0019FBC0|0068619D|kurs32.exe |0028619D|Vcl.Controls.pas |Vcl.Controls |TWinControl |WndProc | |
|00000020|03 |0019FBE0|10004420|MsgHook.dll |00004420|msgHook.dll |msgHook | |GetMsgProc | |
|00000020|03 |0019FBFC|76858EAC|user32.dll |00028EAC|user32.dll |user32 | | (possible GetAsyncKeyState+668) | |
|00000020|03 |0019FC28|006858B2|kurs32.exe |002858B2|Vcl.Controls.pas |Vcl.Controls | |GetControlAtPos | |
|00000020|03 |0019FC44|7687378F|user32.dll |0004378F|user32.dll |user32 | | (possible IsRectEmpty+431) | |
|00000020|03 |0019FC54|7687379E|user32.dll |0004379E|user32.dll |user32 | | (possible IsRectEmpty+446) | |
|00000020|03 |0019FC84|76F104DA|ntdll.dll |000704DA|ntdll.dll |ntdll | |NtCallbackReturn | |
|00000020|03 |0019FC88|76873748|user32.dll |00043748|user32.dll |user32 | | (possible IsRectEmpty+360) | |
|00000060|03 |0019FCB8|0068619D|kurs32.exe |0028619D|Vcl.Controls.pas |Vcl.Controls |TWinControl |WndProc | |
|00000020|03 |0019FCC4|76F128EB|ntdll.dll |000728EB|ntdll.dll |ntdll | | (possible KiUserCallbackDispatcher+75) | |
|00000060|03 |0019FD04|008B19DE|kurs32.exe |004B19DE|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMenuBar |WndProc | |
|00000020|03 |0019FD28|006857E6|kurs32.exe |002857E6|Vcl.Controls.pas |Vcl.Controls |TWinControl |MainWndProc | |
|00000060|03 |0019FD44|0051A160|kurs32.exe |0011A160|System.Classes.pas|System.Classes| |StdWndProc | |
|00000060|03 |0019FD5C|76876359|user32.dll |00046359|user32.dll |user32 | | (possible AddClipboardFormatListener+73) | |
|00000060|03 |0019FD88|76867297|user32.dll |00037297|user32.dll |user32 | | (possible CallWindowProcW+2855) | |
|00000020|03 |0019FDC4|76F104DA|ntdll.dll |000704DA|ntdll.dll |ntdll | |NtCallbackReturn | |
|00000020|03 |0019FDC8|76873748|user32.dll |00043748|user32.dll |user32 | | (possible IsRectEmpty+360) | |
|00000020|03 |0019FE04|768670E5|user32.dll |000370E5|user32.dll |user32 | | (possible CallWindowProcW+2421) | |
|00000060|03 |0019FE6C|768663D6|user32.dll |000363D6|user32.dll |user32 | | (possible DispatchMessageW+566) | |
|00000020|03 |0019FEA4|76871893|user32.dll |00041893|user32.dll |user32 | |GetPropW | |
|00000060|03 |0019FEE0|768661AB|user32.dll |000361AB|user32.dll |user32 | |DispatchMessageW | |
|00000020|03 |0019FEEC|007A21B7|kurs32.exe |003A21B7|Vcl.Forms.pas |Vcl.Forms |TApplication |ProcessMessage | |
|00000020|03 |0019FF08|007A21FA|kurs32.exe |003A21FA|Vcl.Forms.pas |Vcl.Forms |TApplication |HandleMessage | |
|00000020|03 |0019FF2C|007A252D|kurs32.exe |003A252D|Vcl.Forms.pas |Vcl.Forms |TApplication |Run | |
|00004020|04 |0019FF5C|0143C46C|kurs32.exe |0103C46C|kurs32.dpr |kurs32 | |Initialization |185[12] |
|00004020|03 |0019FF74|76620177|kernel32.dll |00020177|KERNEL32.DLL |KERNEL32 | |BaseThreadInitThunk | |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ich wollte heute mit der Testversion eine neue Blockung anlegen. Da gelingt mir leider nicht. Wenn ich die Blockung für das aktuelle Halbjahr anlegen möchte, dann erhalte ich die Fehlermeldung aus dem Anhang, kurz nachdem im Protokollfenster die abgebildeten Meldungen erschienen sind. Lege ich die Blockung für das Folgeschuljahr an, so komme ich weiter. Allerdings erscheint dann nach der Meldung der Eintragung der Prüfungsordnung die gleiche Meldung.
EurekaLog 7.7.0.0 C3372258D8AB0349AF09C9A0BB1B29EB 6B439E85E292C2428C0DB5D26EB4A0D0 DA39A3EE5E6B4B0D3255BFEF95601890AFD80709 C9F167BAEE20314F8AD6E97F9E349777
Application:
-------------------------------------------------------
1.1 Start Date : Tue, 19 Feb 2019 18:49:42 +0100
1.2 Name/Description: kurs32.exe - (Kursverwaltung)
1.3 Version Number : 3.21.2.300
1.4 Parameters :
1.5 Compilation Date: Mon, 28 Jan 2019 22:30:11 +0100
1.6 Up Time : 24 second(s)
Exception:
-----------------------------------------------------
2.1 Date : Tue, 19 Feb 2019 18:50:06 +0100
2.2 Address : 006DCE4D
2.3 Module Name : kurs32.exe - (Kursverwaltung)
2.4 Module Version: 3.21.2.300
2.5 Type : ETreeViewError
2.6 Message : Ungültiger Index.
2.7 ID : EDFA1EB0
2.8 Count : 1
2.11 Sent : 0
Steps to reproduce:
------------
8.1 Text:
Call Stack Information:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|Methods |Details|Stack |Address |Module |Offset |Source |Unit |Class |Procedure/Method |Line |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|*Exception Thread: ID=15800; Parent=0; Priority=0 |
|Class=; Name=MAIN |
|DeadLock=0; Wait Chain= |
|Comment= |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|7FFFFFFE|03 |00000000|006DCE4D|kurs32.exe |002DCE4D|Vcl.ComCtrls.pas |Vcl.ComCtrls | |TreeViewError | |
|00004020|03 |0019FA48|006DEE60|kurs32.exe |002DEE60|Vcl.ComCtrls.pas |Vcl.ComCtrls |TTreeNodes |GetNodeFromIndex | |
|00000060|04 |0019FA74|013FFD75|kurs32.exe |00FFFD75|wkMain.pas |Wkmain |TWkMainForm |CreateSchieneKurs |2484[13] |
|00000060|04 |0019FA90|0140092C|kurs32.exe |0100092C|wkMain.pas |Wkmain |TWkMainForm |RedrawOutLine |2687[1] |
|00000060|04 |0019FA9C|013FC755|kurs32.exe |00FFC755|wkMain.pas |Wkmain |TWkMainForm |NewBlItemClick |1609[29] |
|00000060|03 |0019FAF4|00519403|kurs32.exe |00119403|System.Classes.pas|System.Classes|TBasicAction |Execute | |
|00000020|03 |0019FAFC|0066F78E|kurs32.exe |0026F78E|Vcl.ActnList.pas |Vcl.ActnList |TCustomAction |Execute | |
|00000020|03 |0019FB0C|0051925B|kurs32.exe |0011925B|System.Classes.pas|System.Classes|TBasicActionLink |Execute | |
|00000020|03 |0019FB18|008B0029|kurs32.exe |004B0029|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMenuBar |ExecAction | |
|00000020|03 |0019FB20|008B18C8|kurs32.exe |004B18C8|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMenuBar |TrackMenu | |
|00000020|03 |0019FB44|008B0E14|kurs32.exe |004B0E14|Vcl.ActnMenus.pas |Vcl.ActnMenus |TActionMenuFreeNotify |Create | |
|00000060|03 |0019FB50|008B52CA|kurs32.exe |004B52CA|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMainMenuBar|TrackMenu | |
|00000060|03 |0019FB80|008AFBDD|kurs32.exe |004AFBDD|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMenuBar |CMItemClicked | |
|00000020|03 |0019FB8C|0068165D|kurs32.exe |0028165D|Vcl.Controls.pas |Vcl.Controls |TControl |WndProc | |
|00000020|03 |0019FBA8|74EC6A36|KERNELBASE.dll|00116A36|KERNELBASE.dll |KERNELBASE | | (possible GetProcessMitigationPolicy+102)| |
|00000020|03 |0019FBC0|0068619D|kurs32.exe |0028619D|Vcl.Controls.pas |Vcl.Controls |TWinControl |WndProc | |
|00000020|03 |0019FBE0|10004420|MsgHook.dll |00004420|msgHook.dll |msgHook | |GetMsgProc | |
|00000020|03 |0019FBFC|76858EAC|user32.dll |00028EAC|user32.dll |user32 | | (possible GetAsyncKeyState+668) | |
|00000020|03 |0019FC28|006858B2|kurs32.exe |002858B2|Vcl.Controls.pas |Vcl.Controls | |GetControlAtPos | |
|00000020|03 |0019FC44|7687378F|user32.dll |0004378F|user32.dll |user32 | | (possible IsRectEmpty+431) | |
|00000020|03 |0019FC54|7687379E|user32.dll |0004379E|user32.dll |user32 | | (possible IsRectEmpty+446) | |
|00000020|03 |0019FC84|76F104DA|ntdll.dll |000704DA|ntdll.dll |ntdll | |NtCallbackReturn | |
|00000020|03 |0019FC88|76873748|user32.dll |00043748|user32.dll |user32 | | (possible IsRectEmpty+360) | |
|00000060|03 |0019FCB8|0068619D|kurs32.exe |0028619D|Vcl.Controls.pas |Vcl.Controls |TWinControl |WndProc | |
|00000020|03 |0019FCC4|76F128EB|ntdll.dll |000728EB|ntdll.dll |ntdll | | (possible KiUserCallbackDispatcher+75) | |
|00000060|03 |0019FD04|008B19DE|kurs32.exe |004B19DE|Vcl.ActnMenus.pas |Vcl.ActnMenus |TCustomActionMenuBar |WndProc | |
|00000020|03 |0019FD28|006857E6|kurs32.exe |002857E6|Vcl.Controls.pas |Vcl.Controls |TWinControl |MainWndProc | |
|00000060|03 |0019FD44|0051A160|kurs32.exe |0011A160|System.Classes.pas|System.Classes| |StdWndProc | |
|00000060|03 |0019FD5C|76876359|user32.dll |00046359|user32.dll |user32 | | (possible AddClipboardFormatListener+73) | |
|00000060|03 |0019FD88|76867297|user32.dll |00037297|user32.dll |user32 | | (possible CallWindowProcW+2855) | |
|00000020|03 |0019FDC4|76F104DA|ntdll.dll |000704DA|ntdll.dll |ntdll | |NtCallbackReturn | |
|00000020|03 |0019FDC8|76873748|user32.dll |00043748|user32.dll |user32 | | (possible IsRectEmpty+360) | |
|00000020|03 |0019FE04|768670E5|user32.dll |000370E5|user32.dll |user32 | | (possible CallWindowProcW+2421) | |
|00000060|03 |0019FE6C|768663D6|user32.dll |000363D6|user32.dll |user32 | | (possible DispatchMessageW+566) | |
|00000020|03 |0019FEA4|76871893|user32.dll |00041893|user32.dll |user32 | |GetPropW | |
|00000060|03 |0019FEE0|768661AB|user32.dll |000361AB|user32.dll |user32 | |DispatchMessageW | |
|00000020|03 |0019FEEC|007A21B7|kurs32.exe |003A21B7|Vcl.Forms.pas |Vcl.Forms |TApplication |ProcessMessage | |
|00000020|03 |0019FF08|007A21FA|kurs32.exe |003A21FA|Vcl.Forms.pas |Vcl.Forms |TApplication |HandleMessage | |
|00000020|03 |0019FF2C|007A252D|kurs32.exe |003A252D|Vcl.Forms.pas |Vcl.Forms |TApplication |Run | |
|00004020|04 |0019FF5C|0143C46C|kurs32.exe |0103C46C|kurs32.dpr |kurs32 | |Initialization |185[12] |
|00004020|03 |0019FF74|76620177|kernel32.dll |00020177|KERNEL32.DLL |KERNEL32 | |BaseThreadInitThunk | |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Dateianhänge
-
- NeuBlockung.JPG (59.83 KiB) 1852 mal betrachtet
-
- Fachberater*in
- Beiträge: 187
- Registriert: Montag 1. Oktober 2018, 16:05
- Schulform: Gymnasium
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Ich muss den Fehler (mit Version 3.21.2.300) leider bestätigen. Es erscheint bei mir an den gleichen Positionen die gleiche Fehlermeldung (ungültiger Index).
MfG
W. Ley
W. Ley
- wschrewe
- Fachberater*in
- Beiträge: 1882
- Registriert: Dienstag 25. September 2018, 17:36
- Schulform: BK (Pensionär)
- Kontaktdaten:
Re: Kurse aus Schülerleistungsdaten.dat übernehmen
Ich habe den Fehler gestern Abend noch beseitigt und das Update ausgetauscht.
Mit freundlichen Grüßen
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)
Walter Schrewe
"If all else fails, read the instructions" (Donald E. Knuth, letzter TeX - Hilfehinweis)