[pstricks] pst-eucl MarkHash

Germain BOYER germain.boyer at ac-toulouse.fr
Sat Apr 5 10:53:26 CEST 2014


Bonjour,


In pst-eucl.tex i read this


\def\MarkHash{%
  \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}
    {\psline(-10\pslinewidth,0)(10\pslinewidth,0)}}
\def\MarkHashh{%
  \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(-3\pslinewidth,0)
    {\psline(-10\pslinewidth,0)(10\pslinewidth,0)}
  \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(3\pslinewidth,0)
    {\psline(-10\pslinewidth,0)(10\pslinewidth,0)}}
\def\MarkHashhh{%
  \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(-6\pslinewidth,0)
    {\psline(-10\pslinewidth,0)(10\pslinewidth,0)}
  \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}
    {\psline(-10\pslinewidth,0)(10\pslinewidth,0)}
  \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(6\pslinewidth,0)
    {\psline(-10\pslinewidth,0)(10\pslinewidth,0)}}


I write this


\MarkHashWidth or \MarkHashLength what's the better name ? I think it's \MarkHashLength
\newlength{\MarkHashWidth}
\setlength{\MarkHashWidth}{1.25mm}     % semble une bonne valeur par défaut
\newlength{\MarkHashSep}
\setlength{\MarkHashSep}{0.625mm}   % semble une bonne valeur par défaut
\makeatletter
\def\MarkHash{%
     \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
}%
\makeatother
\makeatletter
\def\MarkHashh%
{%
      \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(-0.5\MarkHashSep,0)
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
%
      \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(0.5\MarkHashSep,0)
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
}%
\makeatother
\makeatletter
\def\MarkHashhh%
{%
     \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(-\MarkHashSep,0)
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
      \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}
%
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
%
      \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(\MarkHashSep,0)
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
}%
\makeatother


it seems to work. Look at this picture.


\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{pstricks-add}
\usepackage{pst-eucl}
%----------------------------------------------------------------------------------------------------------------------------
% \MarkHashWidth or \MarkHashLength what's the better name ? I think it's \MarkHashLength

\newlength{\MarkHashWidth}
\setlength{\MarkHashWidth}{1.25mm}     % semble une bonne valeur par défaut 
\newlength{\MarkHashSep}
\setlength{\MarkHashSep}{0.625mm}   % semble une bonne valeur par défaut

\makeatletter
\def\MarkHash{%
     \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
}%
\makeatother
\makeatletter
\def\MarkHashh%
{%
      \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(-0.5\MarkHashSep,0)
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
%
      \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(0.5\MarkHashSep,0)
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
}%
\makeatother
\makeatletter
\def\MarkHashhh%
{%
     \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(-\MarkHashSep,0)
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
      \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}
%
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
%
      \rput{\ifx\psk at MarkAngle\@undef45\else\psk at MarkAngle\fi}(\MarkHashSep,0)
     {\psline(-\MarkHashWidth,0)(\MarkHashWidth,0)}
}%
\makeatother
%----------------------------------------------------------------------------------------------------------------------------
\usepackage{fourier}
\usepackage[french]{babel}

\begin{document}
\psset{unit=1.5cm}
%
\begin{pspicture}(-1.5,-1.5)(10,1.5)
%
\psset{linewidth=0.25mm , arrowinset=0 , arrowscale=1.5}
\psset{PointSymbol=none}
%
\SpecialCoor
%
\pstGeonode[PosAngle=225](0,0){O}
\pstGeonode[PosAngle=45](1,0){I}
\pstGeonode[PosAngle=135](0,1){J}
\pstGeonode[PosAngle=180](-1,0){J'}
%
\pstGeonode[PointName=none](1;30){M}
\uput{0mm}[0](! 3 sqrt 2 div 0.1 add \space 0.6){$M\left(\dfrac{\pi}{6}\right)$}
%
\psaxes[labels=none,ticks=none](0,0)(-1.5,-1.5)(1.5,1.5)
%
\pscircle(O){1}
\uput{0mm}[135](1.15;135){$\mathcal{C}$}
%
\psline(O)(M)(J)
\pstMarkAngle[MarkAngleRadius=0.3,LabelSep=0.55,Mark=MarkHash,MarkAngle=90]{I}{O}{M}{\footnotesize 30$^{\circ}$}
%
\pstMarkAngle[MarkAngleRadius=0.2,LabelSep=0.425,Mark=MarkHashh,MarkAngle=90]{M}{O}{J}{\footnotesize 60$^{\circ}$}
%
\pstMarkAngle[MarkAngleRadius=0.2,LabelSep=0.425,Mark=MarkHashhh,MarkAngle=90]{J}{O}{J'}{\footnotesize 90$^{\circ}$}
%
\end{pspicture}
\end{document}


Is it possible to write keys MarkHashLength and MarkHashSep to have

\pstMarkAngle[MarkAngleRadius=0.3,LabelSep=0.55,Mark=MarkHash,MarkAngle=90,MarkHashLength=1.25mm,MarkHashSep=0.625mm]{I}{O}{M}{\footnotesize 30$^{\circ}$}

Thinks for the answer.

Germain.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/pstricks/attachments/20140405/6fafe3ca/attachment.html>


More information about the PSTricks mailing list