[pstricks] Problems with Macros in SpecialCoor

Herbert Voss Herbert.Voss at FU-Berlin.DE
Fri Nov 8 22:45:58 CET 2013


Am 08.11.2013 00:44, schrieb Juergen Rose:

>    \uput[u]{0}(!\yA \yCfour \yA sub 2 div add \zA){$t_1$}
>    \rput(!\yA \yCfour \yA sub 2 div add \zA){$t_2$}

when this expression is passed to PostScript the spaces after
the macros gets lost. TeX "eats" sich spaces when parsing the
tokens for the macro name. Use

   \rput(!\yA\space \yCfour\space \yA\space sub 2 div add \zA){$t_2$}


\documentclass[]{article}
\usepackage[]{fp}         % for arithmetic fixed point operation
\usepackage{pstricks,pst-plot,pst-grad,pst-eucl}

\begin{document}
\FPset\radius{2.0}%
\FPupn\hTrig{2 3 root \radius{} mul}%
\FPupn\hTetraeder{2 6 root 3 div \radius{} mul 2 mul}
%
\FPadd\yCthree\radius{\hTrig}%
\FPset\zCthree{\radius}%
%
\FPupn\yCfour{\radius{} \hTrig{} 3 div add}%
\FPupn\zCfour{\radius{} \hTetraeder{} add}%
%
\FPset\yCfourProj{\yCfour}%
\FPset\zCfourProj{\radius}%
%
\FPset\yA{\radius}%
\FPset\zA{\radius}%
%
\FPupn\xsLone{\yCfour{} \yCthree{} \yCfour{} sub 2 div add}%
\FPset\ysLone{\zA}%
%
\FPmul\xmax\radius{2.5}%
\FPmul\zmax\radius{2}%
\FPmul\ymax\radius{2}%
\FPmul\ymin\radius{-0.7}%
%
\FPmul\xpsmin\radius{0.7}%
\FPmul\xpsmax\radius{3.1}%
\FPmul\ypsmin\radius{0.6}%
\FPupn\ypsmax{\ypsmin{} \hTrig{} 1.2 mul add }%
%
\begin{pspicture}[showgrid=true](\xpsmin,\ypsmin)(\xpsmax,\ypsmax)
   \psaxes[]{->}(0,0)(-0.3,-0.3)(\xmax,\ymax)
   \pstGeonode(\yCthree,\zCthree){C_3}(\yCfour,\zCfour){C_4}
   \pstGeonode[PointName={}](\yCfourProj,\zCfourProj){C4P}
   \pstGeonode[PosAngle=180](\yA,\zA){A}
   \ncline{C_4}{A}
   \ncline{A}{C_3}
   \ncline{C_3}{C_4}
   \ncline{C_4}{C4P}
   \uput[u]{0}(!\yA\space \yCfour\space \yA\space sub 2 div add \zA){$t_1$}
   \rput(!\yA\space \yCfour\space \yA\space sub 2 div add \zA){$t_2$}
   % \rput(!2 3.2 2 sub 2 div add 2){$t_2$}
   \uput{0.1}[u]{0}(!2 3.2 2 sub 2 div add 2){$t_3$}
   \uput{0.1}[u]{0}(\xsLone,\ysLone){$s_2$}
   \uput{0.1}[u]{0}(!\xsLone\space \ysLone){$s_3$}
   % \rput(!{\yCfour \yCthree \yCfour sub 2 div add} {\zA}){$s_4$}
   \uput[u]{0}(!\yCfour\space \yCthree\space \yCfour\space sub 2 div add 
\zA){$s_5$}

   \FPupn\yhTet{\zA\space \hTrig{} 0.25 mul add}
   \uput{0.05}[r]{0}(\yCfour,\yhTet){$h_{tetraeder_3}$}
   \uput{0.05}[r]{0}(!\yCfour\space \yhTet){$h_{tetraeder_2}$}
   \uput{0.05}[r]{0}(!\yCfour\space \zA\space \hTrig\space 0.25 mul 
add){$h_{tetraeder_1}$}
\end{pspicture}

\end{document}

Herbert


More information about the PSTricks mailing list