摘自“PSTikZ 的答案”PSTricks 图形太大;正常缩放似乎不起作用“(并在\fbox
其周围加上一个来说明问题),我得到以下内容:
\documentclass{article}
\usepackage{pstricks}
\begin{document}
\begin{figure}
\psset{
unit=0.2,
linewidth=1pt
}
\def\radius{19.2}
\def\lige{33.3}
\newlength\R \R=\radius\psunit
\newlength\hW \hW=\lige\psunit
\hW=0.5\hW
\centering
\fbox{%
\begin{pspicture}(-\dimexpr\hW+\R,-\radius)(\dimexpr\hW+\R,\radius)
\psset{
linecolor=red
}
\psarc( \hW,0){\R}{270}{90}
\psarc(-\hW,0){\R}{90}{270}
\psline(-\hW, \R)(\hW, \R)
\psline(-\hW,-\R)(\hW,-\R)
\psset{
linecolor=black,
linestyle=dotted
}
\psline(-\hW,-\R)(-\hW,\R)
\psline( \hW,-\R)( \hW,\R)
\psline(\dimexpr-\hW-\R,0)(\dimexpr\hW+\R,0)
\rput*(0,0){\lige\,cm}
\rput*(\dimexpr-\hW-0.5\R,0){\radius\,cm}
\rput*(\dimexpr \hW+0.5\R,0){\radius\,cm}
\rput(-\hW,0){\textbf{+}}
\rput( \hW,0){\textbf{+}}
\end{pspicture}
}
\end{figure}
\end{document}
为什么图右侧的空间比左侧的空间大?
PS 这是PSTricks 图片的普遍问题/“特征”。
答案1
;之后有一个虚假的空格\end{pspicture}
,请将其删除(例如,通过将其注释掉):
\documentclass{article}
\usepackage{pstricks}
\begin{document}
\begin{figure}
\psset{
unit=0.2,
linewidth=1pt
}
\def\radius{19.2}
\def\lige{33.3}
\newlength\R \R=\radius\psunit
\newlength\hW \hW=\lige\psunit
\hW=0.5\hW
\centering
\fbox{%
\begin{pspicture}(-\dimexpr\hW+\R,-\radius)(\dimexpr\hW+\R,\radius)
\psset{
linecolor=red
}
\psarc( \hW,0){\R}{270}{90}
\psarc(-\hW,0){\R}{90}{270}
\psline(-\hW, \R)(\hW, \R)
\psline(-\hW,-\R)(\hW,-\R)
\psset{
linecolor=black,
linestyle=dotted
}
\psline(-\hW,-\R)(-\hW,\R)
\psline( \hW,-\R)( \hW,\R)
\psline(\dimexpr-\hW-\R,0)(\dimexpr\hW+\R,0)
\rput*(0,0){\lige\,cm}
\rput*(\dimexpr-\hW-0.5\R,0){\radius\,cm}
\rput*(\dimexpr \hW+0.5\R,0){\radius\,cm}
\rput(-\hW,0){\textbf{+}}
\rput( \hW,0){\textbf{+}}
\end{pspicture}%
}
\end{figure}
\end{document}
答案2
首先,我没有注意到下面您重写的代码有任何差距。
为了轻松找到特殊之处,最好将每个图表放在一个可编译的输入中,如下所示。
% your-diagram.tex
\documentclass[pstricks,border=0.5pt]{standalone}
\def\radius{19.2}
\def\lige{33.3}
\psset
{
unit=0.2,
linewidth=1pt,
}
\newlength\R
\newlength\hW
\R=\radius\psunit
\hW=\lige\psunit
\hW=0.5\hW
\begin{document}
\begin{pspicture}[showgrid=false](-\dimexpr\hW+\R,-\radius)(\dimexpr\hW+\R,\radius)
\psset
{
linecolor=red,
}
\psarc(\hW,0){\R}{270}{90}
\psarc(-\hW,0){\R}{90}{270}
\psline(-\hW,\R)(\hW,\R)
\psline(-\hW,-\R)(\hW,-\R)
\psset
{
linecolor=black,
linestyle=dotted,
}
\psline(-\hW,-\R)(-\hW,\R)
\psline(\hW,-\R)(\hW,\R)
\psline(\dimexpr-\hW-\R,0)(\dimexpr\hW+\R,0)
\rput*(0,0){\lige\,cm}
\rput*(\dimexpr-\hW-\R/2,0){\radius\,cm}
\rput*(\dimexpr\hW+\R/2,0){\radius\,cm}
\rput(-\hW,0){\textbf{+}}
\rput(\hW,0){\textbf{+}}
\end{pspicture}
\end{document}
按序列编译它latex->dvips-ps2pdf
以获得 PDF 输出。
\includegraphics
从主输入文件中,您可以使用包导入PDF 图像graphicx
。
% main-input-file.tex
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\includegraphics{your-diagram}
\caption{Your diagram in action}
\label{fig:your-diagram}
\end{figure}
\end{document}
关注点分离方法的优点:
- 您可以轻松地注意到、发现并解决任何异常、错误等。
- 您可以将您的图表重复用于其他项目。
- 您的主要输入文件变得更干净、更整洁。
- 由于您不必重新编译未改变的图表,因此编译时间可以显著减少。