Backup für Latex Thema ist als GELÖST markiert

Editoren wie TexWorks, TeXmaker, TeXstudio, TeXnicCenter, Kile, LyX, vi, Emacs und Co.


Max91

Backup für Latex

Beitrag von Max91 »

Hallo,
ich habe folgendes Problem mit Latex. Mein PC stürtzt manchmal ab whärend ich an meiner Master-thesis schreibe und anschließend sind sowohl die Tex-file, aslauch die PDF nicht mehr lesbar. Gibt es eine Möglichkeit Latex beim schnellen Übersetzen, bei welchem es ja auch diese beiden Dateien überschreibt immer in 2 sich abwechselnde Ordner schreiben zu lassen, damit, falls beim Übersetzten mein PC abstürzt und die beiden Dateien im Ordner in den abgespeichert wurde unbrauchbar sind, trotzdem noch die beiden Dateien aus dem anderen Ordner funktionieren, welche dann ja bis auf den letzten Übersetzungvorgang genau die sind die ich brauche. Ich mache zwar jeden Tag ein Backup, aber es nervt gewaltig wenn alle paar Tage oder Wochen die Arbeit von einem Tag auf einmal weg ist und man diesen Tag Arbeit reinvestieren muss. Ich benutze als Umgebung den Texmaker, vielen Dank im voraus für die Antwort.

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Hallo,

Um Dir Tipps geben zu können, müsste man zunächst mal wissen, mit welchem Betriebssystem und welcher Umgebung Du arbeitest.

Prinzipiell ist es kein Problem, Deinen Wunsch umzusetzen - vorausgesetzt Du freundest Dich mit Shell- bzw. Batchprogrammierung an. Beim Übersetzen werden ja auch nur der Reihe nach diverse Batchkommandos ausgeführt, und da kann man einfach Backup-Befehle mit reinbauen.

Allerdings sollte Dein Rechner beim Editieren oder Übersetzen nicht "abstürzen", und dass anschließend unlesbare .tex-Quellen übrig bleiben, kann eigentlich überhaupt nicht sein - ich würde dieses Problem lösen, da muss etwas an Deinem System faul sein!

Gruß vom Rolli

Gast

Off-Topic: Rechnerprobleme sind OS- und Hardwarefragen

Beitrag von Gast »

Ich kann Rolli nur zustimmen. Beim Übersetzen wird die TeX-Datei eigentlich gar nicht zum Schreiben geöffnet. Wenn die also bei einem Absturz über den Jordan geht, dann ist mit Deinem System etwas sehr faul. Das kann von einem Treiberfehler über einen kritischen Hardwarefehler bis zu einem gefährlichen Virus alles mögliche sein. Du solltest das unbedingt beheben. Als erstes solltest Du von einem anderen Medium ein Rettungssystem mit diversen Virenscannern booten und das einmal gründlich durchlaufen lassen. Dann wäre ein Speichertest wie memtest86 angesagt. Sämtliche Kabel zu überprüfen ist ebenfalls wichtig. Die s.m.a.r.t.-Infos der Platte auszulesen ist ebenfalls sinnvoll. Für Windows gibt es übrigens in der aktuellen c't einen Artikel, wie man das eingebaute Rettungssystem zur Fehlerbehebung einsetzen kann.

Ansonsten ist es bei diversen Editoren möglich, ein Script in der Nach- oder (in Deinem Fall vermutlich besser) in der Vorberarbeitungsstufe zu etablieren, da alle Dateien kopiert. Dass diese Kopien dann aber bei Deinem Fehlerbild vor der Vernichtung sicher sind, ist nicht gesichert. Im Gegenteil besteht durchaus Gefahr für alle Daten auf Deinem Rechner.

Max91

Beitrag von Max91 »

Hallo nochmal,

mein Betriebssystem ist Windows 10 und ich arbeite mit dem Editor Texmaker. Ich weiss sonst nicht genau was du unter der Umgebung verstehst mit der ich arbeite. Falls du daher mehr Informationen benötigst, dann werde bitter genauer. Tut mir Leid, aber ich bin normalerweise nicht in Computerforen unterwegs.

Abstürzen war wahrscheinlich die falsche Formulierung, ich glaube einfrieren trifft es eher. Der Rechner reagiert dann nicht mehr auf jeglichen Input und der Bildschirm steht. Dies bleibt so bis ich den Powerknopf solange drücke, dass der PC kurzeitig die Stromzufuhr unterbricht.

Ich bin mir dessen bewusst, dass dies generell ein Problem ist, jedoch ist es abgesehen von dem oben genannten Problem mit Latex quasi fast überhaupt nicht störend, da der PC innerhalb von 20-30 Sekunden wieder hochfährt und so performant wie eh und je läuft. Daher will ich nicht Säulen nach Athen tragen, zumal ich sowieso Grund zu der Annahme habe, dass es sich hierbei zumindest teils um ein Softwareproblem von Windows 10 handelt und es darum auch nicht gehen soll.

Es scheint ein paar Missverständnisse zu geben, wenn es um das Thema Übersetzen geht. Um den Prozess der abläuft genau visuell zu beschreiben und meine Schlussfolgerungen zu erläutern, werde ich nun sehr detailiert Schritt für Schritt argumentieren:

1. Ich öffne Texmaker und sehe auf der linken Seite des Bildschirms den Latex-code, whärend ich auf der rechten Seite des Bildschirms die Ausgabe-PDF sehe. Direkt über dem Latex-code sehe ich eine Zeile die beispielsweise "Masterarbeit.tex" heißt.

Meine Schlussfolgerung:
Sie zeigt mir offenkundig den Namen der darunter geöffneten Latex-code Datei an.

Darüber hinaus sehe ich zwei blaue Pfeile, welche von rechts nach links gehen, direkt über dieser Zeile. Hinter dem ersten Pfeil steht bei mir "Schnelles Übersetzen", dies ist frei wählbar, hinter dem zweiten Pfeil steht "PDF ansehen", auch dies ist frei wählbar.

2. Ich ändere den Latex-code indem ich etwas eintippe, in selbigem Moment erscheint direkt vor dem Namen der Latex-code Datei ein Diskettensymbol.

Meine Schlussfolgerung:
Die Latex-code Datei wurde abgeändert, ist aber in der jetzigen Form noch nicht gespeichert und sollte gespeichert werden.(1)

3. Ich klicke nachdem ich beispielsweise eine Zeile Code in die Latex-code Datei geschrieben habe und sehen möchte, wie diese in der PDF aussieht auf den ersten blauen Pfeil hinter welchem steht "Schnelles Übersetzen".
Daraufhin ändert sich die PDF auf der rechten Seite und weiterhin verschwindet das Diskettensymbol direkt vor dem Namen der Latex-code Datei.

Meine Schlussfolgerung:
Die Latex-code Datei ist so wie sie momentan vorliegt gespeichert.(2)

Meine Conclusion(A):
(1) und (2) Impliziert, dass die Latex-code Datei zwischen dem Drücken des blauen Pfeil und dem Ausgeben der Ergebnis-PDF, also beim "Schnellen Übersetzen" gespeichert wurde. Implizit bedeutet das, dass die alte Datei beim Drücken des blauen Pfeils überschrieben wurde, da ich nicht nach einem neuen Speicherort gefragt wurde.

Meine Conclusion(B):
Das "Schnelle Übersetzen" überschreibt die alte Latex-code Datei mit der neu vorhandenen Latex-code Datei.


Falls ich in der obigen logischen Argumentationskette einen Fehler gemacht habe, so bitte ich darum mir dies mitzuteilen. Aber ich bin der Ansicht, dass dies genau so passiert, was für mich auch nebenbei bemerkt völlig logisch ist.

Meine Endconclusion:
Sollte der PC also die geänderte Latex-code Datei im RAM haben und ich klicke auf "Schnelles Übersetzen" und mir friert der PC ein, so bin ich gezwungen ihn vom Strom zu trennen und neu zu starten. Dies resettet natürlich Alles was bis dahin noch im RAM war. Sprich, wenn der PC inmitten des Speichervorganges einfriert und ich ihn neu starte, so ist die Latex-code Datei weder die alte lesbare Datei, da sie bereits bearbeitet wurde, noch die neue lesbare Datei, da noch Arbeit an ihr zu verrichten ist, und die Arbeit, die an dieser Datei noch verrichtet werden muss um sie für Latex wieder lesbar zu machen ist nicht mehr zugänglich, da der RAM resettet wurde. Also meckert Latex, wieder völlig verständlicherweise, dass es die Datei nicht lesen kann. Das Ganze hat überhaupt nichts Unverständliches für mich, aber vielleicht bin ich da auch zu simpel.

Ein Beispiel:
Wenn ich Jemandem ein Blatt Papier mit einem lesbaren Text gebe und ein weiteres Blatt Papier auf dem Instruktionen aufgeführt sind anhand derer er Zeichen in besagtem ersten Blatt Papier ersetzen, umändern, einfügen oder löschen soll um wieder einen lesbaren Text zu erhalten und ich nehme ihm nachdem er diese Instruktionen zu 50% umgesetzt hat das Blatt mit den Instruktionen weg und frage ihn was da jetzt steht, dann wird er vermutlich sagen, dass das was da steht für ihnen keinen Sinn macht. Er wird auch nicht in der Lage sein die alte Textdatei wiederherzustellen, wenn er sich nicht erinnert was genau er getan hat und er wird auch nicht in der Lage sein die neue Textdatei daraus zu konstruieren, sofern er sich nicht an die verbleibenden Instruktionen erinnert.

Kurzum glaube ich, dass ich sehr gute Gründe für diese Beschreibung des Problems habe. Es wäre mir tatsächlich mit einem einfachen Befehl, sei es im Editor Texmaker oder als Latex-code selbst, der tut was ich geschrieben habe bereits über alle Maßen geholfen. Rolli, du schreibst, dass das mit Shell- oder Batchprogrammierungen möglich ist, könntest du das genauer ausführen, denn ich kenne mich in den Latex Begrifflichkeiten nicht besonders gut aus. Ich texe nur sehr gerne und viel und schaffe es für gewöhnlich diese Probleme selbst zu lösen, sodass ich nicht wirklich häufig in Latex-Communities rumhänge und mitunter keine Ahnung von der Terminologie habe.

Danke für eure Hilfe im Voraus

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Hallo,

Verzeihe bitte, aber - mit LaTeX hat das überhaupt nichts zu tun, das ist Betriebssystem.

Zunächst die d r i n g e n d e Empfehlung an Dich: Sorge dafür, dass Dein Rechner nicht "einfriert". Irgend was ist faul. Das könnte ein Hardwarefehler sein, z.B. defektes Memory. Oder falsche Treiber. Oder ein nur teilweise durchgeführtes, abgebrochenes Update, welches irgendeine DLL "zerschossen" hat. Oder ein Virus. Oder ...

Eine Ferndiagnose ist schwierig bis unmöglich. Hast Du in Deinem Dunstkreis niemand, der Dir dabei helfen kann?

Wenn Dein Rechner nicht zuverlässig läuft, kriegst Du früher oder später sowieso Probleme - wie geschrieben, das hat mit LaTeX oder Texmaker ... nichts zu tun.

Dann: MikTeX ist ein sogenannter "Streamfilter". Solche Programme lesen einen Input-Datenstrom, manipulieren diesen in gewisser Weise, und erzeugen einen (geänderten) Output-Datenstrom.

Nun kenne ich Texmaker nicht (die Koryphäen hier mögen mich korrigieren, wenn ich falsch liege), aber ich kann mir beim besten Willen nicht vorstellen, dass Texmaker den Inputstrom an MikTeX aus dem RAM generiert. Ich wage zu behaupten, der TexMaker-Editor schreibt die Änderungen auch zuerst auf Deine Festplatte und ruft dann MikTeX auf.

Schau Dir mal die Texmaker-Kurzanleitung an: ftp://diskult.de/howtos/Howto-TexMaker.pdf; Seite 8. Die Koryphäen mögen mich bitte nicht hauen: Ich sehe selber, das ist total veraltet, aber wie gesagt - kenne ich nicht und das habe ich auf die Schnelle gefunden.

Ich vermute, Du arbeitest mit PdfLateX, und da findest Du im 7. Eintrag von oben auf Seite das Batchkommando, mit dem Texmaker Deine Quelldatei an MikTeX zum Übersetzen gibt.

Und genau hier kannst Du ansetzen, wenn Du vor einem Compilerlauf Dein Backup hier per Batchskript einbaust.

Shell (Linux)- bzw. Batch(Windows)- Programmierung hat überhaupt nichts mit Linux zu tun, sondern ist Betriebssystem.
Deswegen meine Frage, ob Du Dich damit auskennst. Das ist das, was man an einer Konsole machen kann - von Hand einzeln eingetippt, oder als sog. Batchdatei automatisch hintereinander (so wie eingetippt).

Du kannst ganz einfach z.B. eine Batchdatei "MyTeX.bat" erzeugen mit dem Inhalt

copy Filename.bak3 Filename.Bak4
copy Filename.bak2 Filename.bak3
copy Filename.bak1 Filename.bak2
copy Filename.tex Filename.bak1
\Programme\MikTeX\...

(Die letzte Zeile durch den MikTeX-Aufruf 7. Zeile Seite 8 w.o. ersetzen, aber bitte nicht von diesem (veralteten Manual), sondern den tatsächlichen Inhalt).
"Filename" noch durch die tatsächlichen Namen ersetzen - oder mit den Argumenten arbeiten, dann geht es automatisch.

Dann in die 7. Zeile den kompletten Pfad zu dieser Batchdatei "MyTeX.bat" eintragen und die Argumente richtig übergeben.

Das Ding legt Dir dann vor jedem Übersetzungslauf ein Backup an; die letzten drei Backups werden aufgehoben, das vierte wird überschrieben.

Wenn Du willst, kannst Du natürlich das erweitern und 15 Backups anlegen, und diese auch auf diverse Memorysticks, externe Festplatten, oder in die Cloud verteilen.

Das Problem ist nur: Wenn Du das nicht verstehst, dann lass besser die Finger davon - einmal etwas falsch herum gemacht, und alles ist weg ...

Aber wie gesagt: Das ist Kurieren an den Symptomen und nicht Ausradieren des Grundübels.

Gruß vom Rolli

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Drückst du Schnelles Übersetzen, speichert dein Editor die Datei auf deiner Festplatte ab und ruft ein Program (pdflatex) auf, welches diese gespeicherte Textdatei liest.
Windows und Smartphones haben das Grundverständnis für einen Computer unnötig gemacht. Schade eigentlich.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

MAx91

Beitrag von MAx91 »

Hallo nochmal,

vielen Dank Rolli, das war genau das wonach ich gesucht habe. Mit zwei Backups für Titel.tex, beispielsweise Titel(b1).tex und Titel(b2).tex und einer if-Schleife im Batch Programm, kann ich bei Aufruf des Batch Programms jedes mal abwechselnd in eines der beiden Backups speichern. Im Texmaker selbst kann man benutzerdefinierte Befehlsfolgen integrieren, welche beim Klicken des blauen Pfeils abgearbeitet werden. Hier muss dann nur das Batch Programm noch vor alle anderen Befehle klatschen und voila, bei jedem Klick des blauen Pfeils wird ein Backup angelegt, abwechselnd in Titel(b1).tex und in Titel(b2).tex. Das heisst, selbst wenn etwas beim abspeichern passiert ist immer noch ein Backup da. Es ist bereits ausprobiert und tut genau was es soll. :D

Auch Danke an dich Johannes_B. Ich dachte schon ich habe ein total falsches Verständinis davon wie das ganze hier funktioniert, obwohl es mir so logisch und einfach vorkam.

Eine Frage habe ich allerdings noch. Kann ich diesen Thema irgendwie als gelöst oder abgeschlossen markieren? Ich denke das gehört hier wahrscheinlich zum guten Ton. So nehme ich es zumindest an.


Antworten