3
1

In den Antworten zu vielen Fragen zu pgfplots wird in der Dokumentpräambel \pgfplotsset{compat=1.13}, \pgfplotsset{compat=1.14} oder \pgfplotsset{compat=newest} verwendet, obwohl das im Beispiel der Frage nicht enthalten war.

Warum ist das so und was bedeutet diese Angabe?

Dieser Frage ist "Community Wiki" markiert.

gefragt 10 Dez '16, 11:08

J_tex's gravatar image

J_tex
16741115
Akzeptiert-Rate: 0%

bearbeitet 11 Dez '16, 13:04

saputello's gravatar image

saputello
11.1k154365


Die kurze Antwort wäre:

Weil es in der pgfplots-Anleitung heißt:

Any new features or bugfixes which cause backwards compatibility problems need to be activated manually and explicitly. In order to do so, you should use

\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
in your preamble. This will configure the compatibility layer.

Demnach soll man pgfplots auf die genannte Art und Weise laden und konfigurieren, um Kompatibilitätsprobleme mit neuem Möglichkeiten und der Beseitigung von Fehlern zu vermeiden. Dabei ist es auch wichtig, dass compat die erste Option ist, weil die Einstellung teilweise Einfluss auf weitere Optionen hat.

Ausführlicher sei erklärt:

pgfplots gehört zu den ständig weiter entwickelten Paketen. Dabei führen neue Features und generelle Verbesserungen am Paket teilweise dazu, dass sich das Ergebnis eines Plots von dem früherer Versionen unterscheidet. In der Regel bedeutet das zwar, dass die Ergebnisse neuerer Versionen besser als die früherer sind, allerdings wünschen Anwender teilweise, dass Ergebnisse bei der Neuübersetzung identisch bleiben.

Daher bietet das Paket die Option compat. Über diese kann eingestellt werden, zu welcher Version von pgfplots das Ergebnis identisch sein soll. In der Voreinstellung wird compat=default verwendet. Dabei schätzt pgfplots welche Kompatibilität verwendet werden soll. Bei vielen Features entspricht das compat=pre 1.3 und bedeutet, dass diverse Möglichkeiten und viele Verbesserungen nicht verfügbar sind. Deshalb wird auch empfohlen, immer die zum Zeitpunkt der Erstellung eines Dokuments höchste verfügbare Version einzustellen. pgfplots selbst erklärt dazu in einer Warnung:

Package pgfplots Warning: running in backwards compatibility mode (unsuitable tick labels; missing features). Consider writing \pgfplotsset{compat=1.14} into your preamble.

Es warnt also davor, dass diverse Features nicht zur Verfügung stehen und empfiehlt Kompatibilität zur installierten Version (im Beispiel 1.14) einzustellen.

Soll ein Dokument immer mit sämtlichen Features der bei der Übersetzung installierten Version erstellt werden, so ist compat=newest anzugeben. Das ist auch hier auf TeXwelt häufig eine nützliche Einstellung, weil die pgfplots-Version des Online-Editors nicht immer ganz aktuell ist. Auf der anderen Seite besteht dann die Gefahr, dass in einer Antwort beispielsweise eine Möglichkeit aus pgfplots 1.14 verwendet wird, der Anwender aber nur das total veraltete pgfplots 1.9 besitzt und deshalb das Beispiel bei ihm nicht funktioniert. Hat der Helfer hingegen direkt \pgfplotsset{compat=1.14} angegeben, so erhält der Anwender in diesem Fall eine entsprechende Fehlermeldung:

Package pgfplots Error: Sorry, 'compat=1.14' is unknown in this context. Please use at most 'compat=1.9'.

Diese sagt aus, dass eine Kompatilität verlangt wird, die nicht vorhanden ist. Gleichzeitig wird vorgeschlagen, \pgfplotsset{compat=1.9} in die Dokumentpräambel zu schreiben. Etwas später wird auch die oben bereits erwähne Warnung ausgegeben, weil pgfplots aufgrund der unbekannten Einstellung compat=default gewählt hat.

Wer sich dafür interessiert, welche Verbesserung in welcher Version verfügbar ist, sei auf die Anleitung verwiesen. In Abschnitt 2.2.1 sind die ganzen optionalen Verbesserungen aufgeführt, die an Option compat geknüpft sind. Im darauffolgenden Abschnitt sind weitere Änderungen aufgeführt, die bei Änderung der compat-Angabe ggf. beachtet werden müssen.

Permanenter link

beantwortet 11 Dez '16, 13:28

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 12 Dez '16, 07:53

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×296
×117
×1

gestellte Frage: 10 Dez '16, 11:08

Frage wurde gesehen: 17,549 Mal

zuletzt geändert: 12 Dez '16, 17:33