跳转到内容

LaTeX/PSTricks

来自维基教科书,开放的世界,开放的书籍

LaTeX

入门
  1. 介绍
  2. 安装
  3. 安装额外包
  4. 基础
  5. 如何获取帮助

常用元素

  1. 文档结构
  2. 文本格式
  3. 段落格式
  4. 颜色
  5. 字体
  6. 列表结构
  7. 特殊字符
  8. 国际化
  9. 旋转
  10. 表格
  11. 标题创建
  12. 页面布局
  13. 自定义页面页眉和页脚‎
  14. 导入图形
  15. 浮动,图形和标题
  16. 脚注和边注
  17. 超链接
  18. 标签和交叉引用
  19. 首字母

机制

  1. 错误和警告
  2. 长度
  3. 计数器
  4. 规则和撑杆

技术文本

  1. 数学
  2. 高级数学
  3. 定理
  4. 化学图形
  5. 算法
  6. 源代码清单
  7. 语言学

特殊页面

  1. 索引
  2. 词汇表
  3. 参考文献管理
  4. 更多参考文献

特殊文档

  1. 科学报告(学士报告,硕士论文,博士论文)
  2. 信函
  3. 演示文稿
  4. 教师专区
  5. 简历
  6. 学术期刊(MLA,APA 等)

创建图形

  1. 介绍程序图形
  2. MetaPost
  3. 图片
  4. PGF/TikZ
  5. PSTricks
  6. Xy-pic
  7. 创建 3D 图形

编程

  1. 纯 TeX
  2. 创建包
  3. 创建包文档
  4. 主题

杂项

  1. 模块化文档
  2. LaTeX 文档的协作写作
  3. 导出到其他格式

帮助和建议

  1. 常见问题解答
  2. 技巧和窍门

附录

  1. 作者
  2. 链接
  3. 包参考
  4. 示例 LaTeX 文档
  5. 索引
  6. 命令词汇表

编辑此框编辑目录

PSTricks 是一组扩展。基本包是pstricks,其他包可能在需要时加载。

xcolor扩展与 PSTricks 一起加载,因此无需手动加载它。

PSTricks 有一项技术规范:它在内部使用 PostScript,因此得名。因此,您不能使用pdftexpdflatex编译器,您需要使用dvips来获取您的正确文档。由于ps2pdf,仍然可以从 PS 文件中获取 PDF。还可以使用 PDFTricks 扩展,这使得它可以使用pdflatex与 PSTricks 命令一起使用。

但是,如果您安装了xetex-pstricks包,您可以使用pstricksxetexxelatex一起使用,无需修改源文件。

pspicture环境

[编辑 | 编辑源代码]

PSTricks 命令通常放在 pspicture 环境中。

\begin{pspicture}(x1,y1)
% ...
\end{pspicture}

括号之间的第一个参数指定图片右上角的坐标。左下角位于 (0,0),并放置在 LaTeX 文档中下一个字符的参考点处。

也可以指定左下角的坐标 (x0,y0)

\begin{pspicture}(x0,y0)(x1,y1)
% ...
\end{pspicture}

因此图片的大小为 (x1–x0) × (y1–y0)。坐标的默认单位是厘米 (cm);这可以通过 \psset 更改,如 \psset{unit=1bp} 中所示。允许使用任何 TeX 尺寸。

基本对象

[编辑 | 编辑源代码]

线和折线

[编辑 | 编辑源代码]

用以下命令打印一条简单的线

\psline(x0,y0)(x1,y1)

要获取向量,请添加箭头作为参数

\psline{->}(x0,y0)(x1,y1)

您可以添加任意多个点来获取折线

\psline(x0,y0)(x1,y1)(x2,y3)…(xn,yn)

要获取圆角,请添加以下选项

\psline[linearc=0.2]{->}(0,0)(2,1)(1,1)

\psline[linearc=0.2,arrows=->](0,0)(2,1)(1,1)
\psframe(x0,y0)(x1,y1)
\psframe*(x0,y0)(x1,y1)

带星号的版本打印一个填充的矩形。使用以下参数获取圆角

\psframe[framearc=0.2](x0,y0)(x1,y1)

多边形

[编辑 | 编辑源代码]

多边形始终是闭合的。语法与 \psline 相同

\pspolygon(x0,y0)(x1,y1)(x2,y2)...(xn,yn)

与矩形一样,带星号的版本打印一个填充的多边形。并且 linearc=0.2 选项将打印圆角。

圆形,弧形和椭圆形

[编辑 | 编辑源代码]

带星号的版本填充形状。

对于圆形,您需要提供中心坐标和半径

\pscircle(x,y){r}

要将绘制限制为弧形,请在三角函数符号中附加开始角和结束角

\psarc(x,y){r}{angle1}{angle2}

最后,椭圆形

\psellipse(x,y)(horizontal_axis,vertical_axis)


\psparabola(x0,y0)(x1,y1)

将打印一个以 (x1,y1) 为顶点,在 (x0,y0) 处结束,且具有垂直渐近线的对称抛物线。

使用 \psbezier 打印具有任意数量控制点的贝塞尔曲线。弧形最多有 4 个控制点。使用 showpoints=true 选项打印控制点和切线。

使用 \pscurve 打印给定点的插值。 \psecurve 命令省略第一个和最后一个弧。

使用

\rput(x,y){text}

打印文本。提供一个角度来旋转文本。

\rput{angle}(x,y){text}

您可以提供文本的锚点,该锚点将位于指定的坐标处。

\rput[t]{45}(5,5){text}

可用锚点

  • B, Bl, Br:基线中心,左和右。
  • t, tl, tr:顶部中心,左和右。
  • b, bl, br:底部中心,左和右。

还有 \uput 命令,它具有更多选项

\uput{distance}[angle](x,y){text}

distance 参数是从坐标的距离。

PSTricks 为文本提供了几种框架样式。

  • \psframebox{text}:矩形。
  • \psdblframebox{text}:双矩形。
  • \psshadowbox{text}:阴影矩形。
  • \pscirclebox{text}:圆形。
  • \psovalbox{text}:椭圆形。
  • \psdiabox{text}:菱形。
  • \pstribox{text}:三角形。

示例

\rput(5,5){\psdiabox*[fillcolor=green]{text}}


使用 pst-text 扩展,可以绘制文本路径。

\pstextpath{shape}{text}

要沿着路径打印文本而不打印路径,您需要使用 \psset{linestyle=none}

示例

\usepackage{pst-text}

% ...
\begin{pspicture}(5,5)
\psset{linestyle=none}
\pstextpath{\psline(0,0)(1,1)(2,0)}{triangle text}
\end{pspicture}

没有参数,\psgrid 命令将在整个 pspicture 中打印一个网格,间距为 0.2(即 2mm)。您可以指定参数

  • \psgrid(xmax,ymax):从 (0,0)(xmax,ymax) 打印一个网格。
  • \psgrid(xmin,ymin)(xmax,ymax):从 (xmin,ymin)(xmax,ymax) 打印一个网格。
  • \psgrid(x0,y0)(xmin,ymin)(xmax,ymax): 从(xmin,ymin)(xmax,ymax)绘制网格,其中一个节点位于(x0,y0)
  • griddots=value: 将主刻度的实线替换为虚线。value表示每个刻度的点数量。
  • subgriddots=value: 与griddots相同,但适用于副刻度。
  • gridcolor=color,subgridcolor=color: 刻度线和副刻度线的颜色。
  • gridwidth=value,subgridwidth=value: 线的宽度。
  • subgriddiv=value: 两个主刻度之间副刻度的数量。
  • gridlabels=value: 标签数字的大小。
  • ticksize=value: 不言自明。
  • ticksize=valueneg valuepos: 与上面相同,但valueneg指定负坐标的大小,valuepos指定正坐标的大小。
  • ticklinestyle=value: 不言自明。value可以是solid, dashed, dotted之一。这对于大型刻度(例如ticksize很大)很有用。
示例
\psgrid[griddots=5, subgriddiv=0, gridlabels=0pt](-1,-1)(5,5)

如果要添加轴,请使用pstricks-add扩展,使用以下命令

\psaxes(xmin,ymin)(xmax,ymax)
\psaxes(x0,y0)(xmin,ymin)(xmax,ymax)

(xmin,ymin)(xmax,ymax)是极值,(x0,y0)是交点。

选项
  • Dx=valueDy=value定义刻度之间的间距。
  • comma允许您使用逗号作为小数点分隔符。
  • 与线一样,{->}在轴上添加箭头。
示例
\usepackage{pstricks-add}
% ...
\begin{pspicture}(-1,-1)(5,5)
\psaxes[comma,Dx=0.5,Dy=0.5]{->}(0,0)(3,3)
\end{pspicture}

通用参数

[edit | edit source]

所有形状

[edit | edit source]

这些应该添加到方括号之间。

  • linewidth=value: 如果value没有单位,则使用默认单位。
  • linecolor=color: colorxcolor包定义。
  • linestyle=value: valuedashed,dotted之一。
  • doubleline=true.
  • showpoints=true: 高亮显示点。
    • dotscale=value指定点的尺寸。
    • dotstyle=value其中value属于
      • *: 圆盘
      • o: 圆形
      • +,x: 十字形
      • square, squarre*: 星号版本已填充。
      • diamond, diamond*
      • triangle, triangle*
      • 等等。

例如

\pscircle[linewidth=0.2,linestyle=dashed,linecolor=blue](0,0){1}

要全局应用参数

\psset{linewidth=0.2,linestyle=dashed,linecolor=blue}
\pscircle(0,0){1}

此命令还允许您更改长度的默认单位。

  • unit=value
  • xunit=valueyunit=value

value是一个带或不带单位的数字。这会更改绘图的比例,但不会更改线的宽度。

开放形状

[edit | edit source]

您可以使用可选参数{symbol1-symbol2}定义开放形状(线、折线、弧线等)的极值。有一个相当完整的可用符号列表。

  • <或>: 箭头。
  • <<或>>: 双箭头。
  • |: 条形。
  • |*: 居中条形。
  • oo: 圆形。
  • o: 居中圆形。
  • **: 圆盘。
  • *: 居中圆盘。
  • |<或>|: 箭头加条形。
  • cc: 圆角极值。
  • c: 居中圆角极值。

示例

\psline{|->>}(x0,y0)(x1,y1)

封闭形状

[edit | edit source]

对于封闭形状,您可以定义填充样式。

  • fillstyle=value: 模式。可能的取值:crosshatch, crosshatch*, vlines, vlines*, hlines, hlines*, solid
  • fillcolor=color.
  • hatchcolor=color.
  • hatchwidth=value.
  • hatchsep=value.
  • hatchangle=value.

示例

\pscircle[hatchcolor=blue,fillstyle=vlines](0,0){1}

对象位置

[edit | edit source]

\rput\uput命令可用于移动任何对象。

示例
\begin{pspicture}(5,5)
\psline{->}(0,0)(1,1)
\rput(1,1){\psline{->}(0,0)(1,1)}
\end{pspicture}

\begin{pspicture}(5,5)
\psline{->}(0,0)(1,1)
\psline{->}(1,1)(2,2)
\end{pspicture}

您可以使用\multirput重复操作

\multirput(x0,y0)(xoffset, yoffset){times}{object}

您可以使用与\rput相同的选项

\multirput[reference]{angle}(x0,y0)(xoffset, yoffset){times}{object}

如果只有图形,没有文本,可以使用\multips命令

\multips(x0,y0)(xoffset, yoffset){times}{object}
\multips{angle}(x0,y0)(xoffset,yoffset){times}{object}

PDFTricks扩展

[edit | edit source]

原始的PSTricks包不能与pdflatex一起使用,但幸运的是PDFTricks允许我们绕过此限制。

用法
  • 在前言中声明PDFTricks包。
  • 将所有PSTricks扩展放在psinputs环境中;将所有PSTricks命令放在pdfpic环境中。
  • 使用以下命令编译pdflatex -shell-escape <file>.

-shell-escape参数启用shell命令调用。它是必需的,以便PDFTricks运行。

示例
\documentclass{article}
 
\usepackage{pdftricks}
\begin{psinputs}
   \usepackage{pstricks}
   \usepackage{multido}
\end{psinputs}
 
% ...
 
\begin{document}
 
% ...
 
\begin{pdfpic}
   \psset{unit=\linewidth}
   \begin{pspicture}(0,0)(10,10)
      [...]
   \end{pspicture}
\end{pdfpic}
 
% ...
 
\end{document}

使用PSTrickspdflatex的另一种方法是pst-pdf包定义。


上一个:PGF/TikZ 索引 下一个:Xy-pic
华夏公益教科书