Fehler:[per-mode=fraction] für Achsenbeschriftung bei pgfplots

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Fehler:[per-mode=fraction] für Achsenbeschriftung bei pgfplots

Re: Fehler:[per-mode=fraction] für Achsenbeschriftung bei pgfplots

von Bartman » Do 6. Aug 2020, 17:32

Du darfst die eckigen Klammern nicht verschachteln. Die Klammern des optionalen Arguments des Befehls \SI müssen mit geschweiften Klammern umgeben werden, damit sie mit den Klammern des optionalen Arguments der axis-Umgebung nicht in einen Konflikt geraten.

Aufgrund Deines Beispiels möchte ich Dir empfehlen, Dich noch etwas tiefer in die Dokumentation von siunitx einzulesen.

Meine Änderungsvorschläge ergeben das folgende Beispiel:

\documentclass{scrreprt}
\usepackage{fontspec}% Schriftart
\setmainfont{Arial}
\usepackage{pgfplots}% lädt tikz
\usepackage[locale=DE,range-units=single]{siunitx}

\pgfplotsset{compat=newest}

\begin{document}
\si[per-mode=fraction]{\gram\per\meter\squared}

\si{\gram\per\meter\squared}

\begin{center}
    \sisetup{per-mode=fraction}
    \begin{tikzpicture}
    \begin{axis}[
        ybar stacked,
        nodes near coords,
        bar width=0.4,
        xlabel={Klebstoffmenge $\left[\si{\gram\per\meter\squared}\right]$},
        ylabel={Klebstoffmenge $\left[\si{\gram\per\meter\squared}\right]$}
    ]
    \addplot coordinates {(0,1) (1,1) (2,3) (3,2) (4,1.5)};
    \addplot coordinates {(0,1) (1,1) (2,3) (3,2) (4,1.5)};
    \addplot coordinates {(0,1) (1,1) (2,3) (3,2) (4,1.5)};
    \end{axis}
    \end{tikzpicture}
\end{center}
\end{document}

Fehler:[per-mode=fraction] für Achsenbeschriftung bei pgfplots

von Zoid » Do 6. Aug 2020, 16:55

Moin moin, ich wollte Achsenbeschrfitung bei einem Diagramm vornehmen und eine Einheit als Bruch in diese aufnehmen. Leider bekomme ich bei der Verwendung von [per-mode=fraction] unter siunitx einen Fehler und weiß nicht, wie ich diesen beheben kann. Anbei ein Beispiel mit dem Fehler auf der y-Achse. Die x-Achse trägt eine alternative Beschriftung, welche ich aber wegen der einheitlichen Form im Dokument ungerne benutzen würde. Im Verlauf eines Textes tritt dieses Problem nicht auf (Beispiel habe ich ebenfalls im Quelltext eingebaut).

Ich verwende TeXworks mit LuaLaTeX.

\documentclass[ngerman,12pt,a4paper,toc=listof,parskip=full]{scrreprt}
\usepackage{pgfplots} % Säulendiagramm
\pgfplotsset{compat=newest} % =
\usepackage{fontspec}	% Schriftart
	\setmainfont{Arial}	% =
\usepackage[locale=DE,range-units = single]{siunitx}
\usepackage{tikz}
	


\begin{document}

\SI[per-mode=fraction]{}{\gram\per\meter\squared}

\SI{}{\frac{\gram}{\meter\squared}}

\begin{tikzpicture}
\begin{axis}[
ybar stacked,nodes near coords,
bar width=0.4,
xlabel=Klebstoffmenge $\lbrack$ \SI{}{\frac{\gram}{\meter\squared}} $\rbrack$,
ylabel=Klebstoffmenge $\lbrack$ \SI[per-mode=fraction]{}{\gram\per\meter\squared} $\rbrack$
]
\addplot coordinates
{(0,1) (1,1) (2,3) (3,2) (4,1.5)};
\addplot coordinates
{(0,1) (1,1) (2,3) (3,2) (4,1.5)};
\addplot coordinates
{(0,1) (1,1) (2,3) (3,2) (4,1.5)};
\end{axis}
\end{tikzpicture}

\end{document}

Die Fehlermeldung enthält Folgendes:

Undefined control sequence.
\gram ->\ERROR


l.21 ...nge $\lbrack$ \SI[per-mode=fraction]{}{\gram

Hat jemand einen Rat, wie ich das Problem beheben könnte?

Vielen Dank und viele Grüße :D


Nach oben