跳轉到內容

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
華夏公益教科書