Wie verhindere ich, dass meine Knotenbeschriftung nach links verschoben wird?

Wie verhindere ich, dass meine Knotenbeschriftung nach links verschoben wird?
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-eucl}

\begin{document}
\begin{pspicture}(3,4)
    \pstGeonode(1,1){A_i}
    \pstGeonode[PointName=A_j](1,2){Aj}
    \pstGeonode[PointName=R_{i,j,k,l}](1,3){Rijkl}
\end{pspicture}
\end{document}

Bildbeschreibung hier eingeben

Wie verhindere ich, dass meine Knotenbezeichnung R_{i,j,k,l}nach links verschoben wird, ohne zu verwenden PointNameSep?

Antwort1

Natürlich handelt es sich hierbei nicht um einen Fehler, sondern um ein nicht identifiziertes Feature ;)

Sie können beispielsweise einen neuen Schlüssel definieren PointNameAlignund neu definieren, \Pst@PutPointLabelum diesen Schlüssel als Ausrichtungsparameter für Folgendes zu verwenden \rput:

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-eucl}
\makeatletter
\define@key[psset]{pst-eucl}{PointNameAlign}{\edef\psk@PointNameAlign{#1}}%
\psset[pst-eucl]{PointNameAlign=c}
\def\Pst@PutPointLabel#1{%DR 041104
  \ifx\psk@PointName\@none\else
    \rput[\psk@PointNameAlign]{*0}([nodesep=\ifx\psk@PointNameSep\@default{1em}\else\psk@PointNameSep\fi,
               angle=\ifx\psk@PosAngle\@undef{0}\else\psk@PosAngle\fi]#1)%
      {\ifPst@PtNameMath$\Pst@WhichLabel{#1}$\else\Pst@WhichLabel{#1}\fi}
  \fi}%
\makeatother
\begin{document}
\begin{pspicture}(3,4)
  \psset[pst-eucl]{PointNameAlign=l}
  \pstGeonode(1,1){A_i}
  \pstGeonode[PointName=A_j](1,2){Aj}
  \pstGeonode[PointName=R_{i,j,k,l}](1,3){Rijkl}
\end{pspicture}
\end{document}

Der einzige Unterschied zur ursprünglichen Definition ist das [\psk@PointNameAlign].

Bildbeschreibung hier eingeben

Antwort2

Der Grund dafür ist, dass, so wie ich es verstehe, die Platzierung der Beschriftungen von abhängt \rput. Der Standardwert von PointNameSepist 1em, und dann wird die Beschriftung selbst an leftder so definierten Position platziert. Sie sollte rechts für Beschriftungen rechts vom Punkt sein und links für Beschriftungen links. Eine Lösung besteht darin, den Wert von PointNameSep durch Ausprobieren zu erhöhen; eine andere besteht darin, festzulegen PointName=noneund zu verwenden \uput. Beide Lösungen werden mit diesem Code veranschaulicht:

    \documentclass{article}

    \usepackage[utf8]{inputenc}
    \usepackage{mathtools}
    \usepackage{pstricks}
    \usepackage{pst-eucl}
    \usepackage{auto-pst-pdf}

    \begin{document}

    \begin{pspicture}(0,0)(3,5)%
     \pstGeonode(1,1){A_i}
        \pstGeonode[PointName=A_j](1,2){Aj}
        \pstGeonode[PointName=R_{i,j,k,l},PointNameSep =1.85em](1,3){Rijkl}
        \pstGeonode[PointName=none](1,4){Sijkl}\uput{1pt}[r](Sijkl){$ S_{i,j,k,l} $}
    \end{pspicture}

    \end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen