LaTeX Mathematikbuch-Neusatz (Re-typeset) Engineering Skill
Zielsetzung und Anwendungsbereich
Ziel ist die Methodik und Fallstrickdatenbank für den hochwertigen Neusatz von gescannten/PDF-Mathematik-Monografien in kompilierbare, durchsuchbare und navigierbare LaTeX-Quellen. Praktische Quellen:
-
Westlich: Conway's "A Course in Functional Analysis" GTM 96, vollständiger Neusatz (436 Seiten, 11 Kapitel + 3 Anhänge, 0 Kompilierungsfehler / 0 tote Links / 1606 interne Sprünge).
-
Chinesisch: Xu Senlin, Xue Chunhua's "Mathematical Analysis (Band 1)", vollständiger Neusatz (551 Seiten, 6 Kapitel + Vorwort + Literaturverzeichnis, 40 Kapitelquelldateien, 23 native TikZ, 0 Fehler / 0 fehlende Zeichen / 0 undefinierte Referenzen / 0 Overfull / PDF-Ebene
??0). -
Westlich mit kapitelweiser Seitennummerierung: Serre's "Abelian l-Adic Representations and Elliptic Curves", vollständiger Neusatz (203 Originalseiten → 129 Seiten, Vorwort + 4 Kapitel + zwei Literaturverzeichnisse + Index, kapitelweise Seitennummerierung I-1/II-42/B-5/Index-3, 0 Fehler / 0 undefiniert / 0 doppelte Labels, manuell nummerierte Aussagenumgebungen + biblatex sortkey für Originalnummern).
-
Westlich mit fortlaufender Seitennummerierung: Samuel's "Algebraic Theory of Numbers", vollständiger Neusatz (110 Originalseiten → 104 Seiten, abschnittsweise Nummerierung
Theorem 1/(1), Literaturverweise [1]–[9], Übungen nach Kapiteln nummeriert, Index-Links V.2; 371 labels / 846 interne Link-Ziele / 922 PDF-Link-Kommentare / 110 Q.E.D., 0 Fehler / 0 tote Links / Linkfarbe gemessen (0,0,178)). -
Anwendbar: Neusatz von Originalbüchern (keine Übersetzung). Vier Routen: ① Springer GTM-Format mit gemeinsamem Zähler (
gtmitem-Zähler, Nummer\thesection.\arabic{gtmitem}); ② Chinesische Bücher mit eigenem cls (xeCJK + Fandol, nach Kapiteln getrennte Dateien + Generator-Ausgabe); ③ Mehrbändige Werke mit kapitelweiser Seitennummerierung (eigenes cls mit\chapcode+ Neudefinition von\thepage, manuell nummerierte Aussagenumgebungen); ④ Einbändige Monografien mit fortlaufender Seitennummerierung und abschnittsweise Nummerierung (eigenes cls mit Zählern nach Schlüsselwörtern + Zurücksetzung pro Abschnitt,\folionur am Start von Teilen). Grafiken folgen der Anleitung unter "Allgemeine mathematische Abbildungen": Bearbeitbare Neuerstellung mit nativem TikZ; originaltreue Wiederverwendung kann das Vektor-PDF des Originals behalten. -
Nicht anwendbar: Reine Übersetzungsprojekte der Klasse
mathtranslation(gehören zum Skillmathtranslation).
Wann verwenden
- Benutzer sagt: "Buch X neu setzen", "PDF als LaTeX setzen", "Querverweise ergänzen", "Overfull reparieren", "Gleichungsnummern verschoben", "OCR-Müll".
- Übernahme eines Neusatz-Projekts, zuerst die disziplinarischen Regeln festlegen, dann beginnen.
- Kompilierung zeigt
multiply defined/undefined references/ Nummerierungsfehler / viele Overfull-Boxen.
Harte Disziplin (rote Linien, vor Arbeitsbeginn bestätigen)
| Punkt | Anforderung |
|---|---|
| Zeilenenden | CRLF, UTF-8 ohne BOM (alle .tex/.cls/.py) |
| Build | xelatex -interaction=batchmode main.tex × 3 (nach Label-Änderung Aux × 4 leeren) |
| Qualitätskriterien | 0 Kompilierungsfehler, 0 undefinierte Referenzen, 0 fehlende Zeichen, 0 Overfull in neuen Abschnitten |
| Inhaltsquelle | Original-PDF-Bild als Referenz, OCR nur als Suchindex |
| Inhaltsänderung | Nur den Generator (make_chNN_secM.py) ändern → dann zusammenstellen; NIEMALS chapters/*.tex direkt bearbeiten |
| Nummerierung | Zuerst nach Original die Route wählen: GTM mit gemeinsamem gtmitem-Zähler; Manuell nummerierte Monografien oder Prüfungen können die originale Anzeigenummer + versteckten Ankerzähler verwenden. KEINE Änderung der Originalnummern aus Gründen der Kontinuität |
| Formeln | Ungleichungen mit nackten \[\] / align*, oder equation\notag; streng verboten sie zu nummerieren |
| Grafiken | Neuerstellung bevorzugt mit nativem TikZ/PGFPlots; bei zuverlässigen Vektorgrafiken im Original können diese direkt als Vektor-PDFs beibehalten werden. Verboten, Vektorgrafiken zuerst in PNG umzuwandeln und dann als verlustfrei zu bezeichnen; bei Rastergrafiken im Original müssen die ursprünglichen Einschränkungen dokumentiert werden |
Seitenzahl-Mapping des Originals
Physische Seite = Buchseite + Offset (GTM96 Offset = 15). Zuerst den Offset messen, dann alle "Überprüfung im Original"-Aktionen anhand der physischen Seite durchführen.
Allgemeine mathematische Abbildungen: Originaltreue, Lesbarkeit und Einzelprüfung
Dieser Abschnitt gilt für Kurven, Flächen, Vektorfelder, Koordinatengitter, Orientierung/Grenzen, facettenartige Geometrie usw.; Kommutative Diagramme folgen weiterhin dem nächsten Abschnitt mit Kantenprüfung. Verwenden Sie den gemeinsam genutzten Illustrations-Workflow, nicht mechanisch Beschnitt oder Skalierung eines bestimmten Buches übernehmen.
Erstellen Sie zuerst unabhängig eine Liste der Abbildungen im Original und in der Build-Kette, dann eine Einzeltabelle mit physischer Seite/Beschnitt, Abbildungsnummer, allen Unterabbildungen, Labels, Pfeilen/Orientierung, Quell-Assets, endgültiger PDF-Seite und Überprüfungsbeweis. Gleiche Anzahl oder gleiche Dateinamen schließen nicht aus, dass "die falsche Abbildung die richtige ersetzt hat"; vergleichen Sie benachbarte Abbildungen, insbesondere bei mehreren Abbildungen auf einer Seite und seitlich angeordneten Bildunterschriften.
Bevorzugen Sie die Beibehaltung zuverlässiger Vektorgrafiken aus dem Original; wenn eine Sinisierung, einheitliche Schriftart oder geometrische Reparatur erforderlich ist, zeichnen Sie mit nativem TikZ/PGFPlots neu. Listen Sie vor dem Neuzeichnen die sichtbaren mathematischen Fakten auf: Koordinaten/Kurvenbeziehungen, Vektor-Endpunkte, Anzahl der Niveaulinien und Werte, Orientierung, Grenzsymbole, Überlappungen und Projektionen. Ändern Sie diese Fakten nicht aus ästhetischen Gründen. Komplexe Oberflächen- und Felddiagramme sollten nicht zu bedeutungsähnlichen Schemata degradiert werden. Eine Neuanordnung von Unterabbildungen muss die Lesereihenfolge, proportionale Bedeutung und Verbindungen beibehalten.
Rendering mit 400 DPI ist nur ein Raster; echte Vektornutzung erfordert die Beibehaltung von PDF-Pfaden/Glyphen/Transparenz und eine Überprüfung des Outputs. Der Pfad-Bounding-Box eines Zeichenpakets kann Kurvenkontrollpunkte enthalten oder durch internen Beschnitt begrenzt sein; man kann weder blind die Vereinigung nehmen noch es direkt mit dem Beschnitt rechteckig als Beweis für das Ausschneiden verwenden. Automatischer Bildzuschnitt erzeugt nur Kandidaten; erfordert eine visuelle Überprüfung der vollständigen Originalseite, des Kandidaten und der endgültigen Buchseite. Behalten Sie dünne Pfeile, entfernte Labels, Unterabbildungsnummern und angemessene Sicherheitsabstände bei.
Die Bildgröße wird durch die endgültige Schriftgröße und den Seitenplatz bestimmt; es gibt keine feste untere/obere Breitengrenze für das gesamte Buch; die Breite verwendet lokales \linewidth, wobei das Seitenverhältnis beibehalten wird. Dicht gedrängte Unterabbildungen können vergrößert oder neu angeordnet werden, aber nicht durch Beschneiden von Rändern/Labels verkleinert. Die Auslieferung des gesamten Buches erfordert eine Zuordnung jeder Abbildung zur endgültigen Seite; Kompilierung, 256 Abbildungsnummern für 256 Dateien, hohe Pixelähnlichkeit, all dies ersetzt nicht den Inhalt, die Abdeckung und die visuelle Prüfung.
Kommutative Diagramme und Pfeil-Treue-Überprüfung
Dieser Abschnitt bezieht sich speziell auf kommutative Diagramme, exakte Sequenzgitter, Pullback/Pushout-Diagramme usw., die aus Knoten und Morphismen bestehen; allgemeine geometrische Abbildungen, Kurvendiagramme und Formelmatrizen folgen weiterhin ihren jeweiligen Regeln. Verwenden Sie beim Zeichnen oder Überprüfen tikzcd, nicht standardmäßig array für Pfeildiagramme. Wenn Sie alte Manuskripte finden, suchen Sie nicht nur nach tikzcd: Führen Sie das Skript scripts/inventory_diagrams.py des zugehörigen Audit-Skills aus, das alle tatsächlich am Build beteiligten Quelldateien, Eingabedateien, Fußnoten/Anhänge und Makrodefinitionen abdeckt; klassifizieren Sie Kandidaten einzeln als kommutative Diagramme, Formeln/Tabellen, noch zu expandierende Makros oder ungelöst. Pfeildiagramme in array/aligned/matrix/CD/xymatrix werden ebenfalls einbezogen; gewöhnliche Matrizen werden nicht mechanisch aufgrund des Vorhandenseins einer Matrixumgebung migriert.
Erstellen Sie für jedes Diagramm separat Knotengitter und Kantenlisten aus dem Original-PDF und der neu gesetzten Version, dann vergleichen Sie Kante für Kante: Start, Ende, Pfeilspitze, Hakenenden für Injektion, Doppelpfeile/Gleichheitszeichen/pfeillose Linien, durchgezogene/gestrichelte Linien, Labels und deren Seiten, leere Knoten und Nullzeilen/Spalten. r/l/u/d sind geometrische Verschiebungen und ersetzen nicht die Beurteilung der Abbildungsrichtung. Überprüfen Sie explizite from/to, Optionen für umgekehrte Pfeile, benannte Knoten und tatsächlich expandierte Makros. Injektionen müssen im endgültigen PDF tatsächlich einen Haken zeigen, Surjektionen einen Doppelpfeil. hook' ändert nur die Seite des Hakens, kehrt den Pfeil nicht um; \hookrightarrow im Label ändert ebenfalls nicht den Kantenstil. Überprüfen Sie die Überlagerung von lokalen Optionen, \tikzcdset, every arrow/.style und benutzerdefinierten Makros; spätere rightarrow-Einstellungen können vorherige hook überschreiben. Erfolgreiche Kompilierung und das Vorkommen von hook im Quellcode ersetzen nicht die Endkontrolle.
Bestimmen Sie die sichtbaren Fakten von Knoten und Kanten anhand der veröffentlichten Buchbilder des Originals; Original-TeX, OCR und mathematische Semantik dienen nur als unterstützende Beweise. Bilden Sie die physischen Seiten des Originals und der Neusetzung separat ab; leiten Sie die Seite eines Diagramms nicht direkt aus der Seitenzahl eines Theorems/Beweises ab. Betrachten Sie zuerst die gesamte Diagrammstruktur, dann zoomen Sie hinein, um Haken, Doppelpfeile, Pfeilspitzen und Beschnitt zu überprüfen; überprüfen Sie gleichzeitig isolierte kleine Proben und die endgültige Buchseite.
Wenn eine direkte Bildanzeige nicht möglich ist, bestätigen Sie zuerst den lokalen Bildpfad und das Anzeigeprogramm, dann versuchen Sie es erneut; ein Pfad-/Programmfehler ist nicht gleichbedeutend damit, dass das Modell keine visuellen Fähigkeiten hat. Falls immer noch keine visuelle Überprüfung möglich ist, folgen Sie dem Ablauf für die Überprüfung ohne Sicht des zugehörigen Skills: Expandieren Sie das Gitter anhand der obersten Ebene &/\\ aus dem Quellcode (leere Knoten beibehalten und verschachtelte Makros verarbeiten), überprüfen Sie Kantenrichtungen und effektive Stile; im bestätigten PDF-Beschnittbereich überprüfen Sie Textspannweiten und Vektorpfade/Glyphen, unterscheiden Sie zwischen Quellcode-Topologie, PDF-Geometrie und direkter visueller Evidenz. Wenn der PDF keinen Pfeilspitzenstrich extrahiert hat, beweist das nicht, dass die Originalabbildung keinen Pfeil hatte. Behalten Sie nicht bestätigbare spezifische Abbildungen, Kanten, Zeilennummern, Originalseiten/Beschnittpositionen; diese Details müssen als ungelöst gekennzeichnet werden, Kompilierungserfolg oder OCR → ersetzen nicht die visuelle Prüfung.
Schnellreferenz der wichtigsten Fallstricke
Die vollständige Tabelle finden Sie in references/pitfalls.md. Die häufigsten:
- PDF-Doppelschicht-Text-Falle: Das Originalbuch enthält eine versteckte Textebene
HiddenHorzOCR,get_text()mischt Ausgabe und produziert Zeichensalat (Jf= ℋ,&i(= ℬ). Formeln müssen mitget_pixmapgerendert und visuell bestätigt werden. - Gleichungsnummern mit gemeinsamem Zähler: Nummerierte Displays mit
gtmeq(Zähler erhöhen); links leere Nummern mitequation\notag(nicht erhöhen). Nacktesequationfällt in den Gleichungszähler und rendert mit Kapitelnummer. - Claim nach Kapitel nummeriert: Kapitel 1/2
claim*ohne Nummer, Kapitel 3/4/9claimmit Nummer. - Keine Umgebungs-Labels aufgrund semantischer Annahmen: Viele nackte Absätze im Original, fälschlich in
remarkverpackt, frisst die Nummerierung und erhöht alle nachfolgenden Einträge. - Querverweise A–E (Details in
references/crossref.md):\itemvor\gtmtargetfalsch positioniert, zwei Arten von Übungsblöcken, regulärer Ausdruck\\Sfalsch, Batch-Ergänzung von Leerzeichen doppelt ersetzt + veraltete.aux-Scheinfehler, ergänzende Kapitelnummer / leeres\ref{}. \pagestyle{empty}Leck (gesamte Seitenkopfzeile/-nummer verloren): Titelblätter setzen\pagestyle{empty}, stellen es aber nie zurück, wodurch alle nachfolgenden Seiten keine Kopfzeile und keine Seitennummer haben.\thispagestylebetrifft nur die Startseite; in Kapitel-/Vorspann-/Literatur-/Index-Kopfmakros explizit\pagestyle{fancy}wiederherstellen (Details unten im Abschnitt "Selbstständige Kapitel").
Spezielle Hinweise für Bücher mit kapitelweiser Seitennummerierung (\chapcode-Layout)
Bücher wie Serre haben jedes Kapitel mit eigener Seitennummerierung und Kapitelpräfix (I-1…I-30, II-1…II-42, B-1…B-8, Index-1…Index-3). Das eigene cls hat gegenüber der GTM-Route eine ganze zusätzliche Klasse von Fallstricken. Die vollständige Version finden Sie in references/chapcode-retypeset.md. Die fünf häufigsten:
| Symptom | Richtige Lösung |
|---|---|
| Alle nachfolgenden Seiten ohne Kopfzeile und Seitennummer | Leck von \pagestyle{empty} in front/titlepages.tex; in jedem Kopfmakro (\chapterhead/\fmhead/bib/index) explizit \pagestyle{...} wiederherstellen, nicht nur \thispagestyle (betrifft nur die Startseite) |
Seitenzahlformat durch \pagenumbering zurückgesetzt | Kernel \pagenumbering{roman} definiert \thepage neu; "Druckformat" von "Zählwert" trennen, nach jedem \pagenumbering \thepage/\theHpage neu aufbauen (letzteres = gedruckte Seitenzahl, sodass der Anker mit der Seitenzahl übereinstimmt) |
| Vorspann folio springt wiederholt / wird zweimal gedruckt | \fmhead[folio#] erhöht nur, wenn das Ziel-folio > aktueller Wert ist (nur vorwärts, nie rückwärts), um vorwärts gerichtete Seitensprünge zu vermeiden |
| Aussagenummerierung stimmt nicht mit dem Original überein | Original manuell nummeriert (mit/ohne Nummern gemischt, oft neu gestartet): Verwenden Sie "manuellen Nummernparameter + versteckten Ankerzähler", z. B. \begin{stmt}{LEMMA}{3}, bei fehlender Nummer den zweiten Parameter leer lassen |
| biblatex-Nummerierung zerstört die Original-Reihenfolge | Benutzerdefinierte Sortiervorlage + sortkey-Feld für jeden Eintrag, refnumber auf die originale [1]–[88] festlegen |
| Drucken nach Kategorie lässt genau den letzten Eintrag jeder Kategorie weg | \addtocategory mit der abschließenden } in einer neuen Zeile → TeX liest den Zeilenumbruch als Leerzeichen, der letzte Schlüssel wird zu xxx␠, biblatex findet nach .aux keinen passenden Eintrag. Lösung: Am Ende der letzten Schlüsselzeile % einfügen, um den Zeilenumbruch zu unterdrücken. Zuerst .aux auf \abx@aux@category{...} mit Leerzeichen am Ende prüfen (defernumbers=true repariert das nicht) |
| Seitenzahlen im Inhaltsverzeichnis sind tote Links | hyperref generiert für einige Seiten kein page.<folio>-Ziel; stattdessen \hyperref[<Label des Eintrags>] verwenden (Kapitel chap:I/Abschnitt sec:I.2/Literatur bib:main), mit \@ifundefined{r@…} als Fallback auf \hyperlink{page.<folio>} |
Vier Konventionen für Kopfzeilen in Büchern mit kapitelweiser Seitennummerierung (nach Original überprüfen, vollständige Tabelle in references/chapcode-retypeset.md):
Haupttext (gerade Seiten: Buchtitel/ungerade Seiten: Kurzkapiteltitel), Vorspann (Abschnittsname ersetzt Buchtitel), Haupt- und ergänzendes Literaturverzeichnis, Index (beide Seiten nur äußere nackte Seitenzahl).
Spezielle Hinweise für Bücher ohne Abschnitte mit fortlaufender Nummerierung (Samuel-Typ)
Einbändige, fortlaufende arabische Seitennummerierung, Aussagen nach Schlüsselwörtern getrennte Zähler und abschnittsweise zurückgesetzt mit nackter Nummer, Formeln abschnittsweise zurückgesetzt mit (1), Literaturverweise [n], Übungen nach Kapiteln nummeriert. Vollständige Version in references/samuel-style-retypeset.md. Die neun häufigsten:
| Symptom | Richtige Lösung |
|---|---|
| Nummerierung nach benannter Aussage verschoben (Proposition 3 gedruckt als 2) | Statement-Wrapper muss bedingungslos \refstepcounter ausführen, optionales Argument dient nur zum Drucken des Namens |
| Passt Seite für Seite nicht zum Scan | Nicht Seite für Seite erzwingen; nur am Start von Kapitel/Supplement/Exercises/Bib/Index \folio{n} aufrufen (nur vorwärts) |
| Kopfzeile soll den Abschnittsnummernbereich auf dieser Seite anzeigen | \pagefirstsec + \afterpage für den ersten Abschnitt der vorherigen Seite; recto Abschnittsnummer|Titel|§§ c.a–c.b, verso umgekehrt |
Externe Literatur-Kapitelnummer wird fälschlich verlinkt ([1], Algèbre, Chapter VI, Chapter V of [9]) | Nach [n] und Chapter-Nähe, of [n], \emph{Algèbre} drei Regeln ausschließen, zuerst \divhead{Chapter X} schützen |
Literaturverweise [n] sind nicht klickbar | \item[\textbf{[n]}] \phantomsection\label{bib:n}; im Text \hyperref[bib:n]{[n]} (Anzeigetext fixiert) |
| Übungsreferenzen sind nicht verlinkt | Innerhalb \exitem \refstepcounter{exno} + \label{exer:kapitel.n}; jedes Kapitel \exchap{X} zurücksetzen; Review Problems mit R1/R2/R3, um Duplikate mit dem letzten Kapitel zu vermeiden |
Listeneinträge (1)(2) ohne Anker | \item\label{prop:c.s.i}; im Text trotzdem \hyperref[...]{(1)}, da \ref von enumerate keine Klammern enthält |
| Prüfung auf nackte Referenzen voller falscher Positive | Muss ganze Blöcke von \hyperref[...]{...} maskieren (geschweifte Klammern ausgleichen); \[...]-Maskierung erfordert re.S |
.aux meldet Label existiert nicht / Quellcode-Farbe stimmt nicht mit PDF | \newlabel mit ausgeglichener Analyse (Eintragswert ist {{(1)}}); Farbe mit 300 dpi Sampling über dem Link-Rechteck als (0,0,178) bestätigen |
Build: Wenn cls fontspec verwendet, schlägt pdflatex fehl (fontspec requires XeTeX or LuaTeX); lualatex/xelatex verwenden; latexmk kann immer noch in der fdb pdflatex ziehen, bei Bedarf direkt aufrufen.
Spezielle Hinweise für chinesische Bücher (xeCJK)
Der Neusatz chinesischer Mathematikbücher hat eine ganze Klasse von Fallstricken, die bei westlichen Büchern nicht auftreten. Vollständige Version in references/cjk-retypeset.md. Die fünf häufigsten:
| Symptom | Richtige Lösung |
|---|---|
TikZ \draw/\fill/\path[domain=…] plot (…) Analyse fehlgeschlagen | Ändern zu plot[smooth] coordinates{…}, Koordinaten werden in Python von scripts/gen_tikz_curve.py berechnet und eingefügt |
Missing character: … (U+6685) in font FandolSong | Fandol-Schriftfamilie fehlen seltene Zeichen; cls \newCJKfontfamily\zmbhan{SimSun} als Fallback-Familie hinzufügen, im Text 祖{\zmbhan 暅} |
Reine CJK-Zeile 2–3pt Overfull, \hspace{0pt plus 3pt} wirkungslos, plus 1fil erzeugt großen Abstand | \tracingparagraphs zuerst zur Diagnose; richtige Lösung ist lokales \begingroup\xeCJKsetup{CJKglue={\hskip 0pt plus 1pt}}…\endgroup für gleichmäßige Lockerung |
Dichte Skalenlabels überlappen (2n / 2n+1 / 2n+2) | Gemäß Original mit "versetzter Absenkung" oder "schrägen Führungslinien" zwei Layouts verwenden, nicht erzwingen in einer Zeile |
Textverweis \extref{6.3.2} im gesamten Buch | Nach Abschluss des Zielabschnitts auffüllen zu Theorem~\ref{thm:6.3.2}, und nur den Generator-Quellcode ändern und erneut generieren |
Chinesische Bücher haben drei weitere "normale Phänomene", die leicht als Fehler fehlinterpretiert werden:
xelatex fatal: memory exhausted (kurzer Speicherüberlastung, erneuter Build behebt es), leere Seite am Ende des Haupttexts (\makebibliography enthält \cleardoublepage, wenn die Parität mit dem Original übereinstimmt, ist es das erwartete Layout), unterer OCR-Abschnitt über Seiten hinweg abgeschnitten (muss gegen die gescannte Seite für jede Aufgabe gezählt werden).
Vervollständigung von Querverweisen (sieben aufeinanderfolgende Schritte)
Hartcodierte Verweise im Text (Theorem X.Y / (2.3) / Exercise N / Section N) → vollständige Strategie für Hyperlinks \ref/\eqref, siehe references/crossref.md: Zuerst Label-Namen standardisieren (art:c.s.i), sec:/exercise:-Labels ergänzen, dann abschnittsweise konvertieren: Kapitelübergreifend → Klammern im Kapitel → nackte Nummern im Kapitel, jeder Schritt mit Kompilierungsvalidierung.
Bücher mit fortlaufender Nummerierung haben drei weitere Objekte, die nicht in crossref.md abgedeckt sind: Literaturverweise [n] (Anker in der Eintragszeile, im Text \hyperref[bib:n]{[n]}), Übungsnummern nach Kapitel (exer:c.n, Review Problems verwenden R-Präfix), Listeneinträge (1)(2) in Aussagen (\item\label{...}). Zwei Arten müssen als reiner Text beibehalten werden: Eigene Kapitelnummern externer Werke und Schreibfehler im Original (z. B. "§4, Proposition 2" während der Abschnitt nur Proposition 1 hat – gedruckte Zeichen beibehalten, Link auf das tatsächliche Ziel setzen und in STATE.md notieren). Siehe references/samuel-style-retypeset.md.
Zugehörige Audit-Skills (bereits installiert, nach Bedarf aufrufen)
latex-eq-numbering-audit— Einzeln mit Original vergleichenlatex-display-layout-audit— Display-Formel-Layout (over-wrap / falsche Ausrichtung)latex-footnote-fidelity-audit— Alle Fußnoten fallenlatex-ocr-math-defect-audit— OCR beschädigte Mathematik- Kommutatives Diagramm-Audit-Skill — Bestandsaufnahme alter Diagramm-Kandidaten, Kanten-Richtung/Haken/Doppelpfeil-Prüfung, Stil-Override-Überprüfung und Verfahren ohne visuelle Evidenz
latex-bookmark-anchor-audit— PDF-Lesezeichen-Ankermathtranslation— xelatex/biber Kompilierung und visuelle Validierung (references/build-verify.md)
Abnahmekriterien
Siehe references/verification.md: Nach leeren aux 4 Durchläufe exit=0; 0 Fehler / 0 Duplikate / 0 undefiniert / 0 tote Links; Übungsnummerierung abschnittsweise fortlaufend; CRLF/BOM konform; Inkonsistenzen in der Originalnummerierung als reinen Text belassen und Anzahl prüfen.
Zusätzliche drei Punkte für chinesische Bücher (einmalig mit scripts/verify_cjk_book.py main.pdf --log main.log --bib-page N ausführen):
0 Vorkommen von ?? in der PDF-Textebene, 0 Vorkommen von Missing character, nachgefüllte Referenzen werden im PDF tatsächlich als Nummern aufgelöst (nicht als Originaltext).
Zusätzlicher Punkt für Bücher mit kapitelweiser Seitennummerierung: Mit scripts/dump_page_heads.py main.pdf Seite für Seite den Kopf-/Fußtextbereich ausgeben,
behaupten: Jede nachfolgende Seite hat Kopfzeile und Seitenzahl, Jede Startseite hat keine Kopfzeile, aber mittige nackte Seitenzahl unten, und das Seitenzahlformat (I-2 / B-5 / Index-3 / römisch) ist korrekt.
Für Seitenzahlen-Hyperlinks im Inhaltsverzeichnis zusätzlich mit --check-toc-links behaupten, dass alle page.*-benannten Ziele aufgelöst werden.
Zusätzliche zwei Punkte für Bücher mit fortlaufender Nummerierung: scripts/audit_internal_links.py behauptet, dass alle Ziele von \ref/\eqref/\pageref/\hyperref 0 fehlen (nicht nur \ref prüfen); scripts/check_link_color.py main.pdf --expect 0,0,178 verwendet Pixel-Sampling, um die Linkfarbe zu bestätigen (colorlinks im Quellcode ist kein Beweis). Die Prüfung auf nackte Verweise erfolgt mit scripts/audit_bare_xrefs.py; verbleibende Einträge müssen einzeln als "Listen-Labels/externe Literatur" und nicht als Verweise identifiziert werden.
Wichtige Skripte
scripts/audit_text_refs.py: Scannt.texnach hartcodierten Referenzen, die noch nicht\ref-ifiziert wurden (Arbeitsliste, ändert keine Dateien).scripts/rebuild_exercise_labels.py: Sichere Neuerstellung vonexercise:c.s.i(Standardmäßig dry-run, behandelt korrekt\gtmtargetund manuelle Übungsblöcke in derselben Zeile).scripts/gen_tikz_curve.py: In xeCJK cls istplot[domain=…]nicht verwendbar; verwendet es, um parametrische/kartesische/polare Kurven inplot[smooth] coordinates{…}-Literale zu berechnen (--wrapgibt direkt ein vollständiges\drawaus).scripts/verify_cjk_book.py: Gesamtprüfung für chinesische Bücher (??-Reste / Lesezeichen-Anzahl / nachgefüllte Referenzen / Literaturverzeichniseinträge / fehlende Zeichen), exit=1, wenn auch nur eine harte Hürde nicht bestanden wird; muss vor Auslieferung ausgeführt werden.scripts/dump_page_heads.py: Prüfung von Kopfzeilen/Seitenzahlen für Bücher mit kapitelweiser Seitennummerierung. Gibt Seite für Seite den Kopf-/Fußtextbereich aus, meldet für jede Seite die Kopfzeile und die Seitenzahl;--check-toc-linksbehauptet zusätzlich, dass allepage.*-benannten Ziele im Inhaltsverzeichnis aufgelöst werden.scripts/audit_internal_links.py: Überprüft alle\ref/\eqref/\pageref/\hyperref[...]gegenmain.aux(geschweifte Klammern in\newlabelausgleichen; überspringt automatisch Backup-Verzeichnissework/bak/render/build), exit=1 bei Fehlern.scripts/audit_bare_xrefs.py: Maskiert zuerst ganze Blöcke von verlinktem Text, Mathematik, optionalen Argumenten wie\item[...]/\pdfbookmark[...], zählt dann nackteTheorem 3/(4)/[3]/exercise 8und gibt STMT/PAREN/FORM/BIB/EXERC-Zählungen aus.scripts/check_link_color.py: Rendert das PDF, erstellt ein Histogramm nicht-weißer Pixel für jedes Link-Rechteck, behauptet die Textfarbe des Links;--expect 0,0,178entsprichtblue!70!black, um ein Überschreiben durch spätere\hypersetupzu verhindern.
Ressourcen
references/discipline.md— Dokumentklassen / Zähler-Schnellreferenz, Seiten-Mapping, Parameter für Literaturverzeichnis-Satzreferences/pitfalls.md— Alle Fallstricke für westliche Bücher (OCR / Gleichungsnummern / Claim / Umgebungs-Labels / overfull / Querverweise A–E)references/cjk-retypeset.md— Spezielle Hinweise für chinesische Bücher (TikZ-Kurven / fehlende Zeichen Fallback / CJKglue Lockerung / Label-Überlappung / extref nachfüllen / memory exhausted / biber Literaturverzeichnis / einzelner Ausgabe-Pfad)references/chapcode-retypeset.md— Spezielle Hinweise für Bücher mit kapitelweiser Seitennummerierung (\chapcode-Seitenzahlmechanismus /\pagestyle{empty}Leck / vier Kopfzeilen-Konventionen / manuelle Aussagen-Nummerierung / biblatex sortkey Fixierung / Seitenzahlen-Hyperlinks im Inhaltsverzeichnis)references/samuel-style-retypeset.md— Spezielle Hinweise für Bücher mit fortlaufender Nummerierung (Zähler nach Schlüsselwörtern / abschnittsweise zurückgesetzt,\folionur am Start von Teilen, Kopfzeilen-Abschnittsnummernbereich, Ausschluss externer Kapitelnummern aus Literaturverweisen,bib:nundexer:-Anker, Listeneintrags-Referenzen,.aux-Klammerausgleich, Link-Farb-Pixel-Abnahme)references/crossref.md— Sieben-Schritte-Strategie für Querverweise + Algorithmus zur Wiederherstellung von Übungen + Liste der als Text zu belassenden Elementereferences/verification.md— Build-Befehle, Abnahmeliste, CRLF/BOM-Prüfungscripts/audit_text_refs.py— Scanner für hartcodierte Referenzenscripts/rebuild_exercise_labels.py— Sichere Wiederherstellung von Übungs-Labelsscripts/gen_tikz_curve.py— Parametrische/kartesische/polare Kurven →plot[smooth] coordinates{…}-Fragmentescripts/verify_cjk_book.py— Gesamtprüfung für chinesische Bücher (PDF-Ebene??/ Lesezeichen / nachgefüllte Referenzen / Literaturverzeichniseinträge / fehlende Zeichen)scripts/dump_page_heads.py— Prüfung von Kopfzeilen/Seitenzahlen + Seitenzahlen-Hyperlinks im Inhaltsverzeichnis für Bücher mit kapitelweiser Seitennummerierungscripts/audit_internal_links.py— Überprüfung aller internen Link-Ziele (\ref/\eqref/\pageref/\hyperref) gegen auxscripts/audit_bare_xrefs.py— Zählung nackter Referenzen nach Maskierung verlinkten Texts (STMT/PAREN/FORM/BIB/EXERC)scripts/check_link_color.py— Pixel-Sampling über PDF-Link-Rechtecken, Behauptung der Linkfarbe (Standard0,0,178)
Chinesische Gedächtnisprotokoll-Prüfungssammlungen
Bei mehreren Prüfungen mehrerer Universitäten über viele Jahre, mit eigenen Aufgabennummern und Punktwerten, während des Neusatzes auch Prüfungskorrektur, lesen Sie Spezielle Hinweise für Gedächtnisprotokoll-Prüfungen. Unterscheiden Sie unbedingt zwischen eigenen Fehlern und Fehlern der Originalaufgabe; überprüfen Sie, ob durch OCR verworfene Kopf-/Fußzeilen Aufgabennummern enthalten; schreiben Sie nicht, dass die erste Durchsicht das gesamte Problem als korrekt bestätigt hat, solange nicht jede Aufgabe bewiesen ist.
Begrenzte Parallelisierung und OCR-Quellen auf Seitenebene
Wenn für eine Gesamtaufgabe der Kontext eines einzelnen Agenten reduziert werden muss, lesen Sie Begrenzte Sub-Agenten, OCR-Seiten-Quellen und Index-Mapping. Enthält Dateieigentum, Agenten-Unterbrechungsübergabe, Duplikatsprüfung von Revisionstabellen, mathematische Schriftarten und Aussagenumfang, PDF-Hash-Bindungsvalidierung sowie validierte Methoden aus Ahlfors-Entwürfen für absatzübergreifende Verschiebungen, lokale Seitenzahlneustarts in Bänden, eine Abbildung mit mehreren Diagrammen, Index-Suchgruppen-Endprüfung, Klärung von Zweifeln, seitenübergreifende Überprüfung von Fußnoten und redaktionelle Korrekturspuren.