为什么 PStricks 没有将节点放置在我想要的位置?

为什么 PStricks 没有将节点放置在我想要的位置?

当我看到这个结果的时候我很惊讶!

我想从左下角开始放置一个粉色、一个红色和一个蓝色节点,

当我看到三个节点都是从右上角开始的时候我感到很惊讶!

我通过将 -0.25 改为 0 解决了这个问题

但是,PStricks 为什么这样做呢?

\documentclass[12pt,a4paper]{standalone}
\usepackage{setspace} % para que no afecte el interlineado a las notas de pié de página
\setstretch{1.5}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage{amsmath,amsfonts,amssymb,latexsym}
\usepackage{eurosym}
\usepackage{graphicx}
\usepackage{verbatim}
\usepackage{hyperref}
\hypersetup{colorlinks=true, urlcolor=blue}
\usepackage{xcolor}
\usepackage{mathpazo}       % Fuente MathPazo
\usepackage{datetime}       % paquete para configurar formato de fecha y hora
\settimeformat{ampmtime}
\renewcommand*{\noon}{\pmname}

\spanishdecimal{.}
% ----------------------  PSTRICKS ---------------
\usepackage{pstricks}
\usepackage{pst-plot,pst-3dplot,pst-node,pst-tree,pst-grad,pst-coil,pst-text,pst-3d,pst-eps,pst-fill,pstricks-add,multido}
% -------- Paquetes de pst-all \usepackage{pst-all}   paquete pstricks para las figuras en postcript
\usepackage{pst-node}
\usepackage{pst-eps}
\usepackage{pstricks-add}
% ---- Fin Paquetes de pst-all
\begin{document}
\begin{pspicture}(-0.25,-0.25)(14.50,10.20) %\malla
\psset{xunit=1cm,yunit=1cm}
\psframe[fillcolor=lightgray,fillstyle=solid,linestyle=none](-0.25,-0.25)(14.50,10.20)

\cnode[fillstyle=solid,fillcolor=pink](1,1){0.15}{Current}
\cnode[fillstyle=solid,fillcolor=red](4,1){0.15}{Current}
\cnode[fillstyle=solid,fillcolor=blue](8,1){0.15}{Current}

 \end{pspicture}

\end{document} 

pspicture尝试在和 中用0 代替 -0.25 psframe。问题解决了!

答案1

请提供最小例子!Ghostscript 在这里太聪明了。它认为你的页面应该旋转。使用xelatexps2pdf -dAutoRotatePages=/None <file>.ps或显示网格,然后你就会把它竖直起来:

\documentclass[12pt,a4paper]{standalone}

\usepackage{pst-node}
\begin{document}
\begin{pspicture}[showgrid=top](-0.5,-0.5)(14.50,10.20) %\malla
\psframe[fillcolor=lightgray,fillstyle=solid,linestyle=none,opacity=0.4](-0.25,-0.25)(14.50,10.20)
\cnode[fillstyle=solid,fillcolor=pink](1,1){0.15}{Current}
\cnode[fillstyle=solid,fillcolor=red](4,1){0.15}{Current}
\cnode[fillstyle=solid,fillcolor=blue](8,1){0.15}{Current}
\end{pspicture}

\end{document}

在此处输入图片描述

答案2

重现您的问题的最小工作示例如下。

\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}(4,3)
    \psframe(4,3)
    \rput{90}(2,1.5){A}
\end{pspicture}
\end{document}

注意showgrid必须是false(默认)。

先用 进行编译latex,然后是dvips,接着是ps2pdf将产生自动旋转的输出,如下所示。

在此处输入图片描述

为了避免这个问题,请传递-dAutoRotatePages=/Noneps2pdf。这样做,您将获得您想要的结果,如下所示。

在此处输入图片描述

模拟

下面用一个自包含的代码模拟了该场景。请确保使用 进行编译pdflatex -shell-escape simulation.tex

% simulation.tex

\documentclass[preview,border=12pt]{standalone}

\usepackage{filecontents}
\begin{filecontents*}{diagram.tex}
\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}(4,3)
    \psframe(4,3)
    \rput{90}(2,1.5){A}
\end{pspicture}
\end{document}
\end{filecontents*}

\usepackage{graphicx,pgffor}
\def\PreventAutoRotate{\foreach \compiler/\ext in {latex/tex,dvips/dvi,{ps2pdf -dAutoRotatePages=/None}/ps}{\immediate\write18{\compiler\space diagram.\ext}}}
\def\LetAutoRotate{\foreach \compiler/\ext in {latex/tex,dvips/dvi,ps2pdf/ps}{\immediate\write18{\compiler\space diagram.\ext}}}

\begin{document}
\PreventAutoRotate
%\LetAutoRotate
\noindent\includegraphics{diagram}
\end{document}

相关内容