| Moin, Ich schreibe gerade an einer Präsentation über Word und Latex. Ja die Präsent. ist in PowerPoint erstellt worden. :) Meine Frage bezieht sich auf den technischen Hintergrund. Was passiert bei der Übersetzung des Codes? Welche Dateien werden angelegt. Wie erfolgt dieses Prozedere? Danke :) | 
| LaTeX selbst ist ein Format für die Maschine TeX. Ruft man das Programm  Ein LaTeX-Dokument ist aufgebaut in Vorspann oder Präambel und Hauptteil oder Körper. Die Präambel definiert in erster Linie die Form, während der Hauptteil maßgeblich für den Inhalt ist. In der Regel beginnt die Präambel mit dem Laden einer Dokumentklasse. In der Dokumentklasse werden Anweisungen definiert, die wesentlich für die Form des Dokuments sind. Darauf folgen Anweisungen zum Laden von Paketen. Pakete erweitern die Fähigkeiten von Klassen. Weitere Definitionen und Einstellungen können folgen. Während der Verarbeitung des Hauptteils, dessen Satzanweisungen entfernt mit HTML-Anweisungen zu vergleichen sind, werden außerdem Informationen für zukünftige Verarbeitungsläufe aufgesammelt. Beispielsweise werden Informationen zu Querverweisen so konserviert, aber auch Informationen zu den Inhalten von Verzeichnissen. Auch Informationen zu verwendeten Quellen oder anzulegenden Stichworten im Stichwortverzeichnis werden in externen Dateien abgelegt. Gleichzeitig wird Seite für Seite die PDF-Datei geschrieben. Vorteil dieses Vorgehens ist, dass sie eher wenig Speicher benötigt. Nicht das gesamte Dokument muss im Speicher gehalten werden, nur die gültigen Definitionen, die aktuelle Seite und der aktuelle Absatz. Ein sehr wesentliches Merkmal von LaTeX ist auch, dass es keinen einfachen Zeilenumbruch durchführt, sondern immer komplette Absätze nach einstellbaren Parametern umbricht. Wieviele und welche Hilfsdateien es gibt, hängt sehr maßgeblich von Dokument selbst bzw. den verwendeten Klassen und Paketen ab. Zwar kann LaTeX nur 16 Dateien gleichzeitig lesen und nur 16 Dateien gleichzeitig schreiben, die Gesamtzahl der (nacheinander geschriebenen oder gelesenen) Dateien ist jedoch unbegrenzt. Der jeweils nächste LaTeX-Lauf arbeitet ganz genauso, wobei die Informationen einiger Hilfsdateien beim Übergang von der Präambel zum Hauptteil gelesen werden. Diese Hilfsdateien enthalten in dem Fall ebenfalls TeX-Anweisungen. Andere Hilfsdateien wie die für den Index, werden von externen Programmen zwischen den LaTeX-Läufen verarbeitet. Die externen Programme schreiben andere Hilfsdateien, die wiederum aus TeX-Anweisungen bestehen. Einige der Hilfsdateien werden auch erst bei bestimmten Aktionen beispielsweise durch die Anweisungen zur Ausgabe eines Verzeichnisses eingelesen. Der internen Verarbeitung in TeX, also dem Compiler, der sowohl die LaTeX-Datei, als auch das Format verarbeitet, ist auf vielen Dutzend Seiten in The TeXbook dokumentiert. Dabei enthält TeX wie jeder Interpreter oder Compiler einen Scanner und einen Tokenize als Vorderteil (aka Mund). Daran knüpft sich bei TeX die eigentliche Satzmaschine an, die sozusagen den Bauch darstellt. Je nach TeX gibt es unterschiedliche Backends entweder für DVI-Dateien, PDF-Dateien oder erweiterte DVI-Dateien. TeX liest Dateien immer sequentiell. Die Ausgabe erfolgt ebenfalls sequentiell. Allerdings erfolgt die Ausgabe einer Seite erst, wenn die Seite komplett aufgebaut ist. Weil Absätze immer im Ganzen umbrochen werden und Seitenumbrüche zwischen Absätzen auch verboten werden können, können dabei auch mehrere Seiten auf einmal ausgegeben werden und erst bei der Ausgabe selbst ist TeX bekannt, welche Teile welcher Absätze auf welchen Seiten ausgegeben werden. Man spricht deshalb von einer asynchronen Ausgabe. Da zum Zeitpunkt der Ausgabe die Absätze der Seite bereits fertig umbrochen sind, hat dies Auswirkungen auf jegliche Bezüge zur aktuellen Seitennummer. Diese benötigen ggf. einen Umweg über die bereits erwähnten Hilfsdateien uns stehen somit erst beim nächsten LaTeX-Lauf als Rückschau zur Verfügung. Davon ausgenommen sind lediglich Kopf und Fuß der Seite, die erst während des Seitenumbruchs erstellt werden. Daraus ergibt sich wiederum, dass Informationen, die vom Seiteninhalt in den Kopf gelangen sollen, über spezielle Mechanismen ausgetauscht werden müssen, um wirklich auf die richtige Seite zu gelangen. Wichtig ist auch, dass LaTeX nicht von sich aus, so viele Läuft durchführt, bis ein Dokument einen unveränderlichen Zustand erreicht. Das wäre auch nicht wünschenswert, da ein Dokument nicht zwingend einen finalen Zustand erreichen muss. LaTeX gibt allerdings in der Log-Datei, die über auch über den Verlauf der Tätigkeit informiert, Hinweise, ob aus seiner Sicht ein weiterer LaTeX-Lauf erforderlich ist. Spezielle LaTeX-Editoren oder LaTeX-Build-Prozessoren verarbeiten solche Informationen üblicherweise. Die Haupt-Hilfsdatei mit Endung  Vereinfacht als ASCII-Art dargestellt, wäre das also etwas wie: 
Wirdbiberstattbibtexverwendet, kommen weitere Dateien hinzu. Ebenso kommen weitere Dateien und ggf. weitere Aufrufe von externen Programmen hinzu, falls zusätzliche Verzeichnisse beispielsweise für Listings, Namensindex, Glossar etc. verwendet werden. Wie die Grafik zeigt, entsteht also insbesondere bei jedem Lauf eine Ausgabedatei (pdfoderdvi). Bis zum finalen LaTeX-Lauf zeigt diese jedoch nur einen Zwischenstand an, in dem beispielsweise Querverweise oder Verzeichnisse noch nicht korrekt sind.Als Literatur sei neben The TeXbook auch TeX by Topic erwähnt. In beiden Büchern ist neben den oben erwähnten drei Stufen der Verarbeitung auch noch sehr ausführlich die Stufe der Expansion erklärt, die noch vor der Satzmaschine stattfindet, und tatsächlich den Anwendern anfänglich oft die meisten Rätsel aufgibt. @saputello perfekt 
                
                
                
                
                
                (29 Sep '15, 15:23)
                PeterKoller
                
             @PeterKoller: Noch lange nicht. Das ist nur ein ganz kleiner und noch sehr unscharfer Ausschnitt. 
                
                
                
                
                
                (29 Sep '15, 15:37)
                saputello
                
             Spannendes Thema: Wie zitiert man eine TeXwelt-Antwort? :-) 
                
                
                
                
                
                (29 Sep '15, 15:41)
                Johannes
                
             @saputello @Johannes könnte ich diese Grafik auf der Seite 4 verwenden? Was sagt ihr als Experten dazu? http://www.statistik.lmu.de/~carolin/texkurs/ss07kurs.pdf 
                
                
                
                
                
                (30 Sep '15, 11:41)
                PeterKoller
                
             @PeterKoller: Die finde ich sehr irreführend. Das sieht so aus, also würde  
                
                
                
                
                
                (30 Sep '15, 11:54)
                saputello
                
             
 
                
                
                
                
                
                (30 Sep '15, 12:10)
                Herbert
                
             @Herbert Wo ist das jetzt ein Widerspruch zu dem, was ich oben geschrieben habe? 
                
                
                
                
                
                (30 Sep '15, 12:18)
                saputello
                
             @PeterKoller: Ich habe übrigens langsam den Eindruck, dass wir hier Deine Aufgabe für Dich erledigen sollen, also Dir Deine Arbeit machen. Das wäre nicht gut. Du solltest das schon verstanden haben. Schließlich musst Du während der Präsentation auch Fragen beantworten können. Wenn Dich nur der Datenfluss interessiert, also welche Dateien werden erzeugt und was passiert weiter damit: Das erklärt fast jede LaTeX-Einführung. 
                
                
                
                
                
                (30 Sep '15, 12:31)
                saputello
                
             @saputello: Nirgends, mein Kommentar war eine Ergänzung! 
                
                
                
                
                
                (30 Sep '15, 12:47)
                Herbert
                
             @Johannes wie jede Onlinequelle, würde ich sagen, in der URL Fragen- und Antwort-ID: http://texwelt.de/wissen/fragen/14506#14513 
                
                
                
                
                
                (01 Okt '15, 09:16)
                cgnieder
                
             Das war mehr ein vergiss nicht die Antwort zu zitieren verbunden mit einem: Wer ist  
                
                
                
                
                
                (01 Okt '15, 18:07)
                Johannes
                
             
    
        
            Ergebnis 5 von 11
        
        show 6 more comments
    
    
 | 
| Hier kommt mal eine Zusammenstellung, welches "Programm" was macht. "links to" ist eigentlich nur korrekt für *nix, Windows kann das so nicht in dieser einfachen Form: Open in Online-Editor Program name     links to      comment (used option)
-----------------------------------------------------------------------------------
tex              tex           the original TeX, only dvi
etex             pdftex        dvi mode
eplain           pdftex        format eplain in dvi mode
latex            pdftex        format latex in dvi mode
pdftex           pdftex        pdf mode or dvi mode (-output-format dvi)
pdflatex         pdftex        format latex in pdf or dvi mode 
                               (-output-format dvi)
luatex           luatex        in pdf or dvi mode (-output-format dvi)
lualatex         luatex        format latex in pdf or dvi mode 
                               (-output-format dvi)
dviluatex        luatex        dvi mode
dvilualatex      luatex        format latex in dvi mode
xetex            xetex         in pdf or xdv mode (-no-pdf)
xelatex          xetex         format latex in pdf or xdv mode (-no-pdf)
texexec          pdftex/xetex  cont-en format in pdf or dvi mode (--dvi)
context          luatex        cont-en format in pdf mode
xmltex           pdftex        xml parser with dvi output
pdfxmltex        pdftex        xml parser in pdf or dvi mode 
                               (-output-format dvi)
jadetex          pdftex        Jade/OpenJade in dvi mode
pdfjadetex       pdftex        Jade/OpenJade in pdf or dvi mode 
                               (-output-format dvi)
mtex             pdftex        special format for polish in dvi mode          
pdfmtex          pdftex        special format for polish in pdf or dvi mode 
                               (-output-format dvi)
utf8mex          pdftex        special format for polish in dvi mode
cslatex          pdftex        special format for czech/slovak in dvi mode
pdfcslatex       pdftex        special format for czech/slovak in pdf 
                               or dvi mode (-output-format dvi)
csplain          pdftex        special plain format for czech/slovak in dvi mode
pdfcsplain       pdftex        special plain format for czech/slovak in pdf 
                               or dvi mode (-output-format dvi)
aleph            aleph         TeX with unicode for multiligual in dvi mode
lamed            aleph         aleph with format latex in dvi mode
amstex           pdftex        special format in pdf or dvi mode 
                               (-output-format dvi)
texsis           pdftex        special format for physic papers in pdf 
                               or dvi mode (-output-format dvi)
Ob Link oder Kopie ist egal. Man kann auch unter Unix eine Kopie von  
                
                
                
                
                
                (30 Sep '15, 12:25)
                saputello
                
             Nein, das ist für das Verständnis nicht egal! Durch die Links wird es meiner Meinung nach viel klarer, was es heißt, wenn man sagt: "LaTeX := TeX + Format LaTeX" 
                
                
                
                
                
                (30 Sep '15, 12:50)
                Herbert
                
             Es ist für die Funktion egal. Wie gesagt: Man kann auch unter *nix mit Kopien oder Hardlinks statt Softlinks arbeiten. Softlinks sind da kein Muss. 
                
                
                
                
                
                (30 Sep '15, 13:48)
                saputello
                
             Natürlich ist es egal! Sonst hätte ich ja unter Windows andere Ergebnisse. Es ist aber nicht egal, wenn ich jemandem erklären will, was man sich so unter TeX, LaTeX, ConTeXt, ... vorzustellen hat. Und nur darum geht es mir! 
                
                
                
                
                
                (30 Sep '15, 13:54)
                Herbert
                
             Aber wichtig ist doch, welche Engine es ist und nicht, ob die Engine kopiert und umbenannt, hart verlinkt (und umbenannt) oder soft verlinkt (und umbenannt) wird. Wichtig ist, dass der Dateiname entscheidend dafür ist, welches Format automatisch geladen wird, während das eigentlich Programm immer das gleiche ist. 
                
                
                
                
                
                (30 Sep '15, 15:56)
                saputello
                
             ich hoffe ich habe keine Lawine losgetreten ... Danke für all die interessanten Antworten @Herbert @saputello @Johannes 
                
                
                
                
                
                (30 Sep '15, 16:21)
                PeterKoller
                
             @PeterKoller: Keine Sorge. Wir können ggf. auch ertragen, wenn wir mal nicht einer Meinung sind. Letztlich ist das eine didaktische Frage, bei der es auch auf die konkreten Umstände ankommt. Unterschiedliche Ansätze vertragen oder benötigen ggf. auch unterschiedliche Sichtweisen oder umgekehrt. ;-) 
                
                
                
                
                
                (30 Sep '15, 16:48)
                saputello
                
             @saputello: Genau das will ja sagen: Der Linux-Nutzer kann sofort sehen, welche Engine genutzt wird (wenn er ins Dateiverzeichnis sieht), der Windows-Nutzer nicht unbedingt. 
                
                
                
                
                
                (30 Sep '15, 17:12)
                Herbert
                
             
    
        
            Ergebnis 5 von 9
        
        show 4 more comments
    
    
 | 
| Das ist schwer zu beantworten, wie genau willst du es beschrieben haben? Im Grunde gibt es mehrere Stufen und jede kann sehr ausführlich besprochen/beschrieben werden. Du hast als erstes die tex-Dateien die dein Dokument beschreiben beim ersten Durchlauf werden die Verweise (label, section ref footnode etc.) aus dem Dokument in die aux-Datei(en) geschrieben BibTex liest die aux-Datei und erstellt die bib-Datei(en) die Referenzen werden dann in die bbl-Datei geschrieben. Im Zweiten Durchlauf werden die aux und text-Dateien wieder gelesen und zusammen geführt (wenn man es so nennen möchte) um die Querverweise zu verbinden und die Zieldatei zu schreiben. Das ist aber jetzt nur eine sehr grobe Beschreibung jeden einzelnen Schritt bzw. die Erstellung der Dateien kann man ausführlicher beschreiben. ...klingt recht umfangreich. Ich dachte dafür gibt es irgendwo eine anschauliche Grafik die das auch optisch beschreibt. Am liebsten wäre mir eine genaue Beschreibung da es für mich sonst zu abstrakt wird. @loro 
                
                
                
                
                
                (29 Sep '15, 15:15)
                PeterKoller
                
             | 
 
			