场景 1:(结果不好)

场景 1:(结果不好)

嵌套的输入文件用于创建名为 的 EPS 文件input.eps。它是通过 动态生成的\immediate\write18。它只是渲染一些以 6 厘米边长的正方形为界的蓝色同心圆。

然后将其导入外部pspicture,并用边长为 6 厘米的红色正方形包围。

% main.tex
\documentclass[pstricks,border=1cm]{standalone}
\usepackage{filecontents}
\usepackage{graphicx}

\begin{filecontents*}{input.tex}
\documentclass[pstricks,border=1cm]{standalone}
\begin{document}
\begin{pspicture}[showgrid](6,6)
    \foreach\i in {0.0,0.2,...,3.0}{\pscircle[linecolor=blue](3,3){\i}}
\end{pspicture}
\end{document}
\end{filecontents*}

\immediate\write18{latex input}
\immediate\write18{dvips -E -t unknown -o input.eps input}
\newsavebox\myBox
\savebox\myBox{\includegraphics{input}}

\begin{document}
\begin{pspicture}(6,6)
    \rput(3,3){\usebox\myBox}
    \psframe[linecolor=red](6,6)
\end{pspicture}
\end{document}

如果我使用以下场景编译上述 MWE:

场景 1:(结果不好)

latex -shell-escape main
dvisvgm -n --bbox=papersize main

在此处输入图片描述

场景 2:(糟糕的结果)

latex -shell-escape main
dvips -t unknown main.dvi
gswin64c -dCompatibilityLevel=1.5 -dAutoRotatePages#/None -sDEVICE=pdfwrite -o main.pdf main.ps

或者

latex -shell-escape main
dvips -E -t unknown -o main.eps main.dvi
dvisvgm -E -n  main

在此处输入图片描述

场景三:(几乎好的结果)

xelatex -shell-escape main

在此处输入图片描述

问题

正如你在场景 1 和 2 中看到的那样,进口 input.eps被缩小、平移和旋转。如何避免这种不必要的变换?

补充:根据第三种情况的结果,似乎 1cm 的边框(在嵌套文档类中定义)被忽略了。如何保留此边框?

答案1

latex <file>
dvisvgm <file>

\documentclass[pstricks,border=1cm]{standalone}
\usepackage{graphicx}
\usepackage{pst-eps}
\newsavebox\myBox

\begin{document}

\PSTtoEPS[bbllx=0,bblly=0,bburx=6,bbury=6,
  checkfile=false,headers=all,makeeps=all*]{input.eps}{%    
  \psgrid[gridlabels=0pt](6,6)%
  \pgfforeach\i in {0.0,0.2,...,3.0}{\pscircle[linecolor=blue](3,3){\i}}
}

\savebox\myBox{\includegraphics{input}}

\begin{pspicture}[showgrid](6,6)
    \rput[lb](0,0){\usebox\myBox}
    \psframe[linecolor=red](6,6)
\end{pspicture}
\end{document}

在此处输入图片描述

相关内容