Versionsnummer im Dokument, Problem mit \vrsion

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


noch_unregistriert

Versionsnummer im Dokument, Problem mit \vrsion

Beitrag von noch_unregistriert »

Hallo zusammen!

ich probiere seit einiger Zeit mit Latex herum und bisher konnte ich, dank der ausführlichen Beschreibungen, Tutorials und Forenbeiträge auch meine Fragen beantworten. Danke somit auch an euch!
Nun muss ich jedoch selbst nachfragen, da ich kein passendes Thema dazu finden kann.

Ich schreibe an Dokumenten, die zwar nur von mir bearbeitet, aber von mehreren Personen inhaltlich korrigiert bzw. gegengelesen werden.
Da somit zwangsläufig mehrere Versionen einer Datei im Umlauf sind würde ich gerne auf den ersten Blick ersichtlich haben um welches Dokument es gerade geht.

Also sollte im einfachsten Fall eine Versionsnummer im Dokument stehen, welche sich bei jedem Speichern um 1 erhöht. Von mir aus immer, wenn ich "F1" drücke um mir das Dokument im Pdf-Viewer von Texmaker anzeigen zu lassen.

Ich habe nun das Paket "\vrsion" gefunden und möchte dies nutzen.
Mein Problem ist, dass ich das Dokument genau einmal speichern kann und mir dann auch die Nummer "1" angezeigt wird. Danach erhalte ich jedes mal einen Fehler und muss sowohl den Befehl "\version" als auch "\usepackage{vrsion}" entfernen / auskommentieren.
Ohne Paket und Befehlt funktioniert es wieder aber sobald ich sie wieder nutzen will, kommt sofort ein Fehler.

Das passiert auch, wenn ich ein neues Dokument erstelle, welches wie folgt aussieht:
\documentclass[10pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{vrsion}

\begin{document}
\noindent Testdokument zur Versionsnummer\\
Dieses Dokument ist die Version: \version
\end{document}
Ich speicher das Dokument unter neuem Namen und es erscheint wie gewünscht
Testdokument zur Versionsnummer
Dieses Dokument ist die Version: 1
Speichere ich erneut erscheint folgender Fehler:
File: C:\Program Files\MiKTeX 2.9\tex\latex\vrsion.sty
Type: Error
Line: line 92
Message:
! Missing number, treated as zero.<to be read again>\protect}
! LaTeX Error: Missing \begin{document}.See the LaTeX manual or LaTeX Companion for explanatation.Type H <return> for immidiate help ...}
! Missing number, treated as zero.<to be read again>\protect}
! Missing number, treated as zero.<to be read again>\protect}
Und in Der Ausgabe darunter:
l.92 }
You're in trouble here. Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
! Missing number, treated as zero.
<to be read again>
\protect
l.92 }
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)
! Missing number, treated as zero.
<to be read again>
\protect
l.92 }
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)
Ich komme nicht weiter und weiß auch nicht, woran es liegt, dass die Funktion nicht funktioniert.

Da im Dokument ja nur \usepackage{vrsion} und \version steht, kann man da ja schonmal nicht viel falsch machen. Es scheint an der Datei "vrsion.sty" zu liegen.

Dort bei Zeile 92 finde ich:
{%
\typeout{No file \vrsFile.}%
\setcounter{versionnr}{\z@}%
\setcounter{versionnrten}{\z@}%
\setcounter{versionnrhundred}{\z@}%
}
Dies gehört wohl zu den Optionen wie sie in der PDF-Datei über \vrsion zu erkennen sind.
\usepackage[option]{vrsion}
in the document preamble. It can take one of the options one, ten, and hundred, ...
Doch auch mit den Optionen funktioniert es nicht.

Habt ihr eine Idee?
Oder gibt es eine möglichst einfache Alternative um jedes Dokument mit einer Nummer zu versehen.

Ich nutze Miktex 2.9, Texmaker 4.1 und Windows 8.1

Ich hoffe auf Antworten!
Gruß Daniel

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

Beitrag von Johannes_B »

Ich glaube du suchst etwas wie Versionsverwaltung (CVS und sonstiges). Dazu gibt es hier im Forum schon etwas.
Ansonsten noch: Version-control
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.

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Ich musste das Paket erst installieren, da es in TeX Live nicht enthalten ist, kann nach Installation den Fehler aber nicht reproduzieren. So oder so ist es für Deinen Zweck glaube ich eher nicht geeignet:

Zum einen muss man ja manchmal einfach mehrmals kompilieren, um ein Dokument upzudaten, etwa wegen neuer Labels und Referenzen. vrsion zählt aber jedes kompilieren als neue Version. Selbst wenn das Kompilieren mit einem Fehler endet, wird die Nummer in der Regel um eins erhöht. Das kann man zwar mit \keepversion anhalten, daran muss man aber auch erst mal denken. Hat man dagegen den \version Befehl gar nicht im Dokument, wird die Nummer auch nicht erhöht. Hat man ihn dagegen mehrmals, wird jedes Mal die Nummer um eins erhöht, also mehrmals pro Kompilation!

Zum anderen macht das Paket, was es macht, indem es Daten in eine Hilfsdatei mit der Endung vrs schreibt. Nach ein paar mal laufen lassen sah die bei mir so aus:
\relax 
\vrslabel{versionsnummer}{{5}{1}}
\vrslabel{versionsnummertio}{{0}{1}}
\vrslabel{versionsnummerhundra}{{0}{1}} 
Löscht man die Datei, dann hat man beim nächsten Mal automatisch wieder Version 1 im Dokument stehen. Das heißt, damit es überhaupt was bringt, muss man unbedingt die vrs-Datei mit Verteilen und hoffen, dass das niemand vergisst/durcheinanderbringt/...

Eine echte Versionskontrolle, z.B. mit git scheint mir da doch die bessere und zuverlässigere Variante.

Grüße
Clemens
Paketauthor

Artoo
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: So 13. Jul 2014, 17:10

Beitrag von Artoo »

Mittlerweile ist meine Registrierung durch.

Danke für die Antwort. Ich glaube das ist nicht was ich suche.
Ich habe es jetzt nicht in vollem Umfang durchblickt was ich mit diesen Systemen alles machen kann. Aber ich suche ja nur eine Funktion, die mir eine Nummer auswirft im Diagramm.

Keine Verwaltung der Dateien oder Speicherung von Änderungen etc. Es geht nur um die Nummer, die sich beim Speichern automatisch erweitern soll.


Es geht um Dokumente einer Gruppenarbeit, bei der ich die Inhalte sozusagen nackt bekomme und sie mit Latex in einem Bericht zusammenfüge. (Die anderen haben keine/wenig Erfahrung mit Latex, sodass ich der bin, der das Dokument letztendlich erstellt.)

Zwischendurch wird es immer wieder von anderen gelesen und es werden dann Anmerkungen oder Berichtigungen gemeldet. Da in der Zwischenzeit jedoch mehrere Dateien im Umlauf sind soll auf den ersten Blick erkennbar werden, welche die aktuellere Datei ist. Also, dass man nicht erst schauen muss wann die Datei gespeichert oder heruntergeladen wurde. Es geht nur stumpf um eine Zahl im Dokument, die mir sagt, dass dieses Dokument nun Version 5 ist und ich es somit von Version 4 unterscheiden kann ohne den Text vergleichen zu müssen. Und wenn ich Version 5 bearbeite und speichere soll dort eben "Version 6" im Dokument stehen.

Eigentlich eine einfache Sache aber anscheinend doch nicht so einfach wie gedacht. Es soll eleganter sein, als manuell immer eine neue Versionsnummer zu vergeben. Ich werde mir die Versionsverwaltungen aber noch einmal anschauen.
________________________________________
Überschneidung der Antworten.
Zum einen muss man ja manchmal einfach mehrmals kompilieren, um ein Dokument upzudaten, etwa wegen neuer Labels und Referenzen. vrsion zählt aber jedes kompilieren als neue Version.
Das ist eigentlch egal. Zwar unschön aber von mir aus kann am Ende des Tages auch "Version 142" da stehen. Hauptsache man erkennt, dass es eine neuere Version ist. Später beim Drucken wird die Angabe entfernt.
Löscht man die Datei, dann hat man beim nächsten Mal automatisch wieder Version 1 im Dokument stehen. Das heißt, damit es überhaupt was bringt, muss man unbedingt die vrs-Datei mit Verteilen und hoffen, dass das niemand vergisst/durcheinanderbringt/...
Auch das ist egal, da nur ich die Bearbeitung vornehme. Die anderen Nutzer bekommen eigentlich nur die jeweils fertige PDF und bearbeiten selbst, auf Grund mangelnder Latex-Kenntnis, nichts daran.

MfG Daniel

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Wie gesagt: den Fehler konnte ich nicht reproduzieren...

Auf TeX.sx hat egreg einen nur wenige Zeilen langen Code geschrieben, der im Prinzip das gleiche macht wie vsrion:
\documentclass{article}

\newcounter{compilation}
\newwrite\writecompilation
\newread\readcompilation
\openin\readcompilation=\jobname.vrs
\ifeof\readcompilation
  % no file yet
  \setcounter{compilation}{1}%
\else
  \read\readcompilation to \temp
  \setcounter{compilation}{\temp}%
  \stepcounter{compilation}%
\fi
\closein\readcompilation
\immediate\openout\writecompilation=\jobname.vrs
\immediate\write\writecompilation{\arabic{compilation}}
\immediate\closeout\writecompilation

\begin{document}

This is \LaTeX{} run number \thecompilation.

\end{document}
Der Hauptunterschied: in der dabei produzierten vrs-Datei steht nur eine Zahl und der Befehl heißt \thecompilation. Auch wichtiger Unterschied: jeder Aufruf von \thecompilation schreibt die Nummer nur, erhöht sie aber nicht.

Grüße
Zuletzt geändert von cgnieder am So 13. Jul 2014, 21:13, insgesamt 1-mal geändert.
Clemens
Paketauthor

Artoo
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: So 13. Jul 2014, 17:10

Beitrag von Artoo »

Ja wunderbar das funktioniert und reicht mir vollkommen aus!
Ich hatte gerade angefangen etwas über "gitinfo" zu lesen aber so ist es natürlich wesentlich einfacher.

Mit den Versionsverwaltungen werde ich mich später mal befassen, wenn es mehr Sinn macht.

Vielen Dank für die Antwort!
Der Quellcode wurde direkt als Makro gespeichert.

Gruß Daniel

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4297
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Lade das Paket vor babel. vrsion setzt den Zähler über den \ref-Befehl (schlechte Idee), und da babel \ref robust macht, scheitert das.

Ich glaube aber nicht, dass es das tut, was du dir wünscht: Es zählt ja nicht beim Speichern hoch, sondern bei der Kompilation. Wenn du pdf-Dateien markieren willst, würde ich dir scrtime empfehlen. Damit kannst du das Datum der Kompilation eintragen.

Artoo
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: So 13. Jul 2014, 17:10

Beitrag von Artoo »

Stimmt vor babel funktioniert es.
Also klappt es doch mit vrsion.
Ich glaube aber nicht, dass es das tut, was du dir wünscht: Es zählt ja nicht beim Speichern hoch, sondern bei der Kompilation.
Speichern und kompilieren ist bei mir im Grunde gleich. Wenn ich in Texmaker F1 drücke wird gespeichert und gleich das Pdf kompiliert. Damit komme ich wunderbar klar und werde das auch weiterhin so machen.

Vielen Dank auch an dich!

Gruß Daniel

Antworten