Seite 1 von 1

Arial/Pgfplot: Text hat andere Dicke als Zahlen an der Achse

Verfasst: Fr 8. Dez 2017, 10:11
von Luke
Hallo,

ich erstelle eine Dokumentation, bei der die Schriftart Arial sein soll. Dazu habe ich im Internet folgende 2 Zeilen gefunden:
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
Das klappt soweit. Nun möchte ich aber ein pgfplot machen. Das Problem hierbei ist, dass der Text der Achsenbeschriftung dicker ist als die Zahlen an der Achse selbst, wie das folgende Minimalbeispiel zeigt:
\documentclass[a4paper]{article}
\usepackage[german]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

%Schiftart Arial
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
	\begin{axis}[
	xlabel={Achsenbeschriftung -- 0.8}]
	\addplot [] table[x=t,y=s] {
		t s
		0 1
      1 2
    };
    \end{axis}
\end{tikzpicture}
\end{document}
Ich möchte aber, dass die Achsbeschriftung die selbe Schriftdicke hat wie die Zahlen an der Achse.
Wie kann ich dieses Problem beheben?

Vielen Dank,
Gruß Luke

Verfasst: Fr 8. Dez 2017, 11:17
von markusv
Hallo Luke,

der Titel hat die gleiche Schrift wie im Text. Die Zahlen haben dagegen die Schrift im Mathematik-Modus. Damit ergeben sich 2 Möglichkeiten: die Zahlen im Diagramm an die Schrift anpassen oder den Titel an die Zahlen anpassen:

Variante 1 mit sansmath und nach https://tex.stackexchange.com/questions ... plots?lq=1
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel} %ngerman für Neue dt. Rechtschreibung
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

%Schiftart Arial
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{pgfplots}
\usepackage{sansmath}
\pgfplotsset{
compat=newest,
tick label style = {font=\sansmath\sffamily},
}
\begin{document}
Zahlen im Textmodus: 1.8 2 1 

Zahlen im Mathematikmodus: \(1.8~2~1\)

\bigskip
\begin{tikzpicture}
   \begin{axis}[
   xlabel={Achsenbeschriftung -- 0.8}]
   \addplot [] table[x=t,y=s] {
      t s
      0 1
      1 2
    };
    \end{axis}
\end{tikzpicture}
\end{document}
Variante 2
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel} %ngerman für Neue dt. Rechtschreibung
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

%Schiftart Arial
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{pgfplots}
\usepackage{sansmath}
\pgfplotsset{
compat=newest,
every axis label/.append style={font={\rmfamily}},
}
\begin{document}
Zahlen im Textmodus: 1.8 2 1 

Zahlen im Mathematikmodus: \(1.8~2~1\)

\bigskip
\begin{tikzpicture}
   \begin{axis}[
   xlabel={Achsenbeschriftung -- 0.8}]
   \addplot [] table[x=t,y=s] {
      t s
      0 1
      1 2
    };
    \end{axis}
\end{tikzpicture}
\end{document}
PS: Super Minimalbeispiel!

Verfasst: Fr 8. Dez 2017, 11:24
von Luke
Hallo Markus,

vielen Dank für deine Antwort. Es ist genau das was ich wollte. Ich habe mich für Variante 1 entschieden.

Danke,
Gruß Luke

Verfasst: Fr 8. Dez 2017, 12:37
von u_fischer
helvet (das benützt einen Helvetica-clon) is übrigens nicht Arial

https://tex.stackexchange.com/a/309120/2388

https://www.webdesignerdepot.com/2013/0 ... ifference/

Verfasst: Mo 11. Dez 2017, 07:59
von Luke
Hallo Ulrike,

danke für deine Antwort. Es sieht tatsächlich anderes aus als das richtige Arial. Aber gibt es eine anderen Möglichkeit als
\usepackage{fontspec}
\setmainfont{Arial}
?
Ich kann diese zwar mit XeLaTeX verwenden und das klappt auch, aber dann habe ich wieder das ursprüngliche Problem, dass die Zahlen an den Achsen nicht Arial sind.
Gibts dafür auch eine Lösung?
\documentclass[a4paper]{article}
\usepackage[german]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

%Schiftart Arial
\usepackage{fontspec}
\setmainfont{Arial}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
   \begin{axis}[
   xlabel={Achsenbeschriftung -- 0.8}]
   \addplot [] table[x=t,y=s] {
      t s
      0 1
      1 2
    };
    \end{axis}
\end{tikzpicture}
\end{document}
Danke,
Gruß Luke

Verfasst: Di 12. Dez 2017, 15:15
von Bartman
Wie steige ich auf Xe/LuaLaTeX um?

Beachte bitte die Änderung von markusv beim Laden von babel.
\documentclass[border=5pt, preview]{standalone}
\usepackage{unicode-math}% lädt fontspec
\setmainfont{Arial}

\usepackage[ngerman]{babel}
\usepackage{icomma}
\usepackage{pgfplots}

\pgfplotsset{
	compat=newest,
	tick label style={
		/pgf/number format/assume math mode,
		/pgf/number format/use comma
	}
}
\begin{document}
Zahlen im Textmodus: 1,8 2 1 

Zahlen im Mathematikmodus: $1,8$ $2$ $1$

\bigskip
\begin{tikzpicture}
	\begin{axis}[
	xlabel={Achsenbeschriftung -- 0,8}]
	\addplot [
		mark=none
	] table [x=t, y=s] {
		t s
		0 1
		1 2
	};
	\end{axis}
\end{tikzpicture}
\end{document}
Quelle: Antwort von Paul Gessler