Zitat von
jbecker
Wie kann man die Minuszeichen in den Labels (s. Minimalbeispiel) vor den Bruchstrich setzen?
so niemand eine bessere Idee hat, müsstest Du dazu \setFractionhLabels und \setFractionvLabels anpassen (und damit auch \pshlabel/\psvlabel).
Hier exemplarisch der Versuch, \setFractionvLabels (\psvlabel) anzupassen:
Code:
\documentclass{scrartcl}
\usepackage{pst-plot}
\newcounter{tmpX}
\makeatletter
\renewcommand*\setFractionvLabels{%
\def\pst@@@vlabel##1{\psvlabel{##1}}
\def\psvlabel##1{%
\ifnum\psk@yfractionLabelBase<2 \def\de@nominator{\@ne}\else\def\de@nominator{\psk@yfractionLabelBase}\fi
\def\pst@tempA{##1}%
\pst@abs{\pst@tempA}\pst@cntm
\setcounter{tmpX}{\numexpr-\pst@tempA\relax}% + 2016-08-29
\pst@mod{\pst@cntm}{\de@nominator}\pst@cntp % cntb=##1 modulo trigLabelBase
\ifnum\@ne>\pst@cntp % 1 > modulo -> then we have pi/x
\pst@cnto=\pst@cntm \divide\pst@cnto by \de@nominator
\ifPst@ymathLabel$\psk@ylabelFontSize\ifnum\pst@tempA<0 -\fi\the\pst@cnto\psk@ylabelFactor$%
\else \psk@ylabelFontSize\ifnum\pst@tempA<0 -\fi\the\pst@cnto\psk@ylabelFactor
\fi
\else
\ifPst@ymathLabel
$\psk@ylabelFontSize
\ifnum\pst@cntp=\@ne % < 1? $
\if\pst@cntm=\@ne
\frac{1}{\de@nominator}\psk@ylabelFactor% % 1/x
\else\ifnum\pst@tempA=-1 -\frac{1}{\de@nominator}\psk@ylabelFactor% mod 2016-08-29: \frac{-1} --> -\frac{1}
\else \ifnum\pst@tempA=1 \frac{1}{\de@nominator}\psk@ylabelFactor%
\else
\ifnum\pst@tempA<0 %+ 2016-08-29
-\frac{\the\value{tmpX}}{\de@nominator}\psk@ylabelFactor% + 2016-08-29
\else %+ 2016-08-29
\frac{\pst@tempA}{\de@nominator}\psk@ylabelFactor% x/y
\fi %+ 2016-08-29
\fi\fi\fi
\else
\ifnum\pst@tempA=1 \frac{1}{\de@nominator}\psk@ylabelFactor%
\else\ifnum\pst@tempA=\de@nominator 1\psk@xlabelFactor \else
\ifnum\pst@tempA<0 %+ 2016-08-29
-\frac{\the\value{tmpX}}{\de@nominator}\psk@ylabelFactor% + 2016-08-29
\else %+ 2016-08-29
\frac{\pst@tempA}{\de@nominator}\psk@ylabelFactor%
\fi %+ 2016-08-29
\fi\fi\fi$
\else
\psk@ylabelFontSize
\ifnum\pst@cntp=\@ne% % < 1?
\if\pst@cntm=\@ne
$\frac{1}{\de@nominator}\psk@ylabelFactor$% % 1/x
\else\ifnum\pst@tempA=-1 $\frac{-1}{\de@nominator}\psk@ylabelFactor$%
\else \ifnum\pst@tempA=1 $\frac{1}{\de@nominator}\psk@ylabelFactor$%
\else$\frac{\pst@tempA}{\de@nominator}\psk@ylabelFactor$% x/y
\fi\fi\fi%
\else%
\ifnum\pst@tempA=1 $\frac{1}{\de@nominator}\psk@ylabelFactor$%
\else\ifnum\pst@tempA=\de@nominator 1\psk@ylabelFactor
\else$\frac{\pst@tempA}{\de@nominator}\psk@ylabelFactor$% %$
\fi\fi\fi
\fi
\fi
}%
}%$
\makeatother
\begin{document}
\begin{pspicture}(-4,-4)(4,4)
\psset{fractionLabels,fractionLabelBase=3,unit=1cm}
\psaxes{->}(0,0)(-4,-4)(4,4)
\end{pspicture}
\end{document}
VG
Lesezeichen