
\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}
を使用せずにノード ラベルがR_{i,j,k,l}
左にずれるのを防ぐにはどうすればよいですかPointNameSep
?
答え1
もちろんこれはバグではなく、未確認の機能です ;)
たとえば、新しいキーを定義しPointNameAlign
、\Pst@PutPointLabel
このキーを の配置パラメータとして使用するように再定義することができます\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}
元の定義との唯一の違いは です[\psk@PointNameAlign]
。
答え2
その理由は、私が理解している限り、ラベルの配置は に依存しているからです\rput
。 のデフォルト値はPointNameSep
1em で、ラベル自体はleft
定義された位置の に配置されます。ポイントの右側にあるラベルの場合は右側に、左側にあるラベルの場合は左側に配置する必要があります。1 つの解決策は、試行錯誤で PointNameSep の値を増やすことです。もう 1 つは を設定しPointName=none
て使用することです\uput
。両方の解決策を次のコードで示します。
\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}