> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/zh-cn/wen-da/06-can-i-use-the-pstricks-package-on-overleaf.md).

# 我可以在 Overleaf 上使用 pstricks 宏包吗？

## 引言

从历史上看，在 Overleaf 上使用 PSTricks 最简单的方法之一是通过 XeLaTeX 编译器——即， [将项目的编译器设置为 XeLaTeX](/latex/zh-cn/zhi-shi-ku/026-changing-compiler.md)。2021 年 9 月，PSTricks 的开发者 [宣布](https://tug.org/pipermail/pstricks/2021/011321.html) 现在可以使用 LuaLaTeX 来编译包含 PSTricks 代码的文档——为用户提供了另一种便捷的解决方案。

正如在 [PSTricks 网页](https://tug.org/PSTricks/main.cgi?file=pdf/pdfoutput#lualatex)中所讨论的那样，LuaLaTeX 编译极其复杂的 PSTricks 示例可能需要很长时间，尤其是那些需要大量计算的示例。LuaLaTeX 延长的编译时间有时会触发 [Overleaf 编译超时](/latex/zh-cn/zhi-shi-ku/038-fixing-and-preventing-compile-timeouts.md#what-is-a-e2809ccompile-timeoute2809d3f).

## 示例

以下示例都可以直接在 Overleaf 中打开，并使用 XeLaTeX 编译器；当代码在 Overleaf 中打开后，你可以切换为使用 LuaLaTeX。所有示例最初仅发布在 [Overleaf Gallery](#overleaf-gallery-links) 但现在在此处重新呈现，以便在本文文字中展示 PSTricks 代码。它们来源于网站 `http://www.thelazymathematician.com/p/pstricks-examples.html` 该网站在撰写本文时似乎已无法访问。

* **提示**：访问 [PSTricks 图库](https://tug.org/PSTricks/main.cgi?file=examples-list) 查看更多可在 Overleaf 上试用的示例。

### 示例 1：绘制点

```latex
% 原始来源: http://www.thelazymathematician.com/p/pstricks-examples.html
\documentclass[11pt]{article}
\usepackage{pst-all}	%调用 pstricks 宏包
\begin{document}
\begin{pspicture}(-1,-1)(5,5)
\psaxes{->}(0,0)(-0.5,-0.5)(4.5,4.5)[$x$,0][$y$, 90]	%创建坐标轴
\psdot(2,1)	%绘制点 (2,1)
\uput[0](2,1){$A$}	%将点 (2,1) 标记为 A
\end{pspicture}
\end{document}
```

&#x20;[在 Overleaf 中打开此示例](https://www.overleaf.com/docs?engine=xelatex\&snip_name=PSTricks+LaTeX+Example+1%3A+Plotting+points\&snip=%25+Original+source%3A+http%3A%2F%2Fwww.thelazymathematician.com%2Fp%2Fpstricks-examples.html%0A%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%5Cusepackage%7Bpst-all%7D%09%25call+the+pstricks+package%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bpspicture%7D%28-1%2C-1%29%285%2C5%29%09%0A%5Cpsaxes%7B-%3E%7D%280%2C0%29%28-0.5%2C-0.5%29%284.5%2C4.5%29%5B%24x%24%2C0%5D%5B%24y%24%2C+90%5D%09%25creates+axes%0A%5Cpsdot%282%2C1%29%09%25plots+the+point+%282%2C1%29%0A%5Cuput%5B0%5D%282%2C1%29%7B%24A%24%7D%09%25labels+the+point+%282%2C1%29+as+A%0A%5Cend%7Bpspicture%7D%0A%5Cend%7Bdocument%7D)

此示例生成以下输出：

![Overleaf 上用 LaTeX 绘制点的 PStricks](/files/991c8a4b6d674291985d7d974d80d67a2b56de0c)

### 示例 2：绘制区间图

```latex
% 原始来源: http://www.thelazymathematician.com/p/pstricks-examples.html
\documentclass[11pt]{article}
\usepackage{pst-all}	%调用 pstricks 宏包
\begin{document}
\psset{xunit=0.5cm, yunit=0.5cm, yAxis=false}	%缩放图形，移除 y 轴
\begin{pspicture}(-11,0)(11,0)
\psaxes[Dx=5, subticks=5]{<->}(0,0)(-11,0)(11,0)	%创建坐标轴
\psline[linewidth=3pt, linecolor=cyan]{o->}(-2,0)(11,0)	%从 -2（开端）到无穷大创建一条粗蓝线
\end{pspicture}
\end{document}
```

&#x20;[在 Overleaf 中打开此示例](https://www.overleaf.com/docs?engine=xelatex\&snip_name=PSTricks+LaTeX+Example+2%3A+Graphing+an+interval\&snip=%25+Original+source%3A+http%3A%2F%2Fwww.thelazymathematician.com%2Fp%2Fpstricks-examples.html%0A%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%5Cusepackage%7Bpst-all%7D%09%25call+the+pstricks+package%0A%5Cbegin%7Bdocument%7D%09%0A%5Cpsset%7Bxunit%3D0.5cm%2C+yunit%3D0.5cm%2C+yAxis%3Dfalse%7D%09%25scales+the+picture%2C+removes+the+y-axis%0A%5Cbegin%7Bpspicture%7D%28-11%2C0%29%2811%2C0%29%09%0A%5Cpsaxes%5BDx%3D5%2C+subticks%3D5%5D%7B%3C-%3E%7D%280%2C0%29%28-11%2C0%29%2811%2C0%29%09%25creates+axes%0A%5Cpsline%5Blinewidth%3D3pt%2C+linecolor%3Dcyan%5D%7Bo-%3E%7D%28-2%2C0%29%2811%2C0%29%09%25creates+a+thick%2C+blue+line+from+-2+%28open%29+to+infinity%0A%5Cend%7Bpspicture%7D%0A%5Cend%7Bdocument%7D)

此示例生成以下输出：

![在 Overleaf 上用 LaTeX 绘制区间的 PStricks](/files/283f488cb27777ac450ae64a064347ef9f510deb)

### 示例 3：通过特定点绘制曲线

```latex
% 原始来源: http://www.thelazymathematician.com/p/pstricks-examples.html
\documentclass[11pt]{article}
\usepackage{pst-all}
\begin{document}
\psset{xunit=.5cm,yunit=0.5cm,}
\begin{pspicture}(-11,-11)(11,11)
\psgrid[subgriddiv=1, gridcolor=gray,griddots=10,gridlabels=0pt](0,0)(-10,-10)(10,10)
\psaxes[labelFontSize=\scriptscriptstyle]{<->}(0,0)(-10.5,-10.5)(10.5,10.5)
\pscurve[linewidth=1.5pt, showpoints=true, dotstyle=o, fillcolor=cyan]{<->}(-9,4)(-8,1)(-4,-5)(0,-4)(5,-3)(9,1)
\end{pspicture}
\end{document}
```

&#x20;[在 Overleaf 中打开此示例](https://www.overleaf.com/docs?engine=xelatex\&snip_name=PSTricks+LaTeX+Example+3%3A+Graphing+a+curve+through+specific+points\&snip=%25+Original+source%3A+http%3A%2F%2Fwww.thelazymathematician.com%2Fp%2Fpstricks-examples.html%0A%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%5Cusepackage%7Bpst-all%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cpsset%7Bxunit%3D.5cm%2Cyunit%3D0.5cm%2C%7D%0A%5Cbegin%7Bpspicture%7D%28-11%2C-11%29%2811%2C11%29%0A%5Cpsgrid%5Bsubgriddiv%3D1%2C+gridcolor%3Dgray%2Cgriddots%3D10%2Cgridlabels%3D0pt%5D%280%2C0%29%28-10%2C-10%29%2810%2C10%29%0A%5Cpsaxes%5BlabelFontSize%3D%5Cscriptscriptstyle%5D%7B%3C-%3E%7D%280%2C0%29%28-10.5%2C-10.5%29%2810.5%2C10.5%29%0A%5Cpscurve%5Blinewidth%3D1.5pt%2C+showpoints%3Dtrue%2C+dotstyle%3Do%2C+fillcolor%3Dcyan%5D%7B%3C-%3E%7D%28-9%2C4%29%28-8%2C1%29%28-4%2C-5%29%280%2C-4%29%285%2C-3%29%289%2C1%29%0A%5Cend%7Bpspicture%7D%0A%5Cend%7Bdocument%7D)

此示例生成以下输出：

![在 Overleaf 上用 LaTeX 通过特定点绘制曲线的 PStricks](/files/f6729e86dbb66840ca578fa1947f8a59dd58f1e0)

### 示例 4：绘制函数图像

```latex
% 原始来源: http://www.thelazymathematician.com/p/pstricks-examples.html
\documentclass[11pt]{article}
\usepackage{pst-all}
\begin{document}
\psset{xunit=.5cm,yunit=0.5cm,algebraic=true}
\begin{pspicture}(-11,-11)(11,11)
\psaxes[Dx=2, Dy=2, subticks=2, labelFontSize=\scriptscriptstyle]{<->}(0,0)(-10.5,-10.5)(10.5,10.5)[$x$,0][$y$,90]
\psplot[linestyle=dotted, linewidth=2pt, linecolor=red, yMaxValue=10, yMinValue=-10]{0.1}{10} {ln(x)}
\end{pspicture}
\end{document}
```

&#x20;[在 Overleaf 中打开此示例](https://www.overleaf.com/docs?engine=xelatex\&snip_name=PSTricks+LaTeX+Example+4%3A+Graphing+a+function\&snip=%25+Original+source%3A+http%3A%2F%2Fwww.thelazymathematician.com%2Fp%2Fpstricks-examples.html%0A%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%5Cusepackage%7Bpst-all%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cpsset%7Bxunit%3D.5cm%2Cyunit%3D0.5cm%2Calgebraic%3Dtrue%7D%0A%5Cbegin%7Bpspicture%7D%28-11%2C-11%29%2811%2C11%29%0A%5Cpsaxes%5BDx%3D2%2C+Dy%3D2%2C+subticks%3D2%2C+labelFontSize%3D%5Cscriptscriptstyle%5D%7B%3C-%3E%7D%280%2C0%29%28-10.5%2C-10.5%29%2810.5%2C10.5%29%5B%24x%24%2C0%5D%5B%24y%24%2C90%5D%0A%5Cpsplot%5Blinestyle%3Ddotted%2C+linewidth%3D2pt%2C+linecolor%3Dred%2C+yMaxValue%3D10%2C+yMinValue%3D-10%5D%7B0.1%7D%7B10%7D+%7Bln%28x%29%7D%0A%5Cend%7Bpspicture%7D%0A%5Cend%7Bdocument%7D)

此示例生成以下输出：

![在 Overleaf 上用 LaTeX 绘制函数的 PStricks](/files/af76510727b42f8ec11d295bacb8191bff8bb9e1)

### 示例 5：绘制三角函数图像

```latex
% 原始来源: http://www.thelazymathematician.com/p/pstricks-examples.html
\documentclass[11pt]{amsart}
\usepackage{pst-all}
\begin{document}
\begin{pspicture}(-6.5,-2.5)(6.5,5.5)
\psaxes[trigLabelBase=2,dx=\pstPI2, xunit=\psPi,trigLabels, xsubticks=2]{<->}(0,0)(-1.2,-2.4)(1.2,5.4)[$x$,0][$y$,90]
\psplot[algebraic,linewidth=1.6pt,plotpoints=10000, linecolor=red]{-\psPi}{\psPi}{cos(2*x)+ 3}
\end{pspicture}
\end{document}
```

&#x20;[在 Overleaf 中打开此示例](https://www.overleaf.com/docs?engine=xelatex\&snip_name=PSTricks+LaTeX+Example+5%3A+Graphing+a+trig+function\&snip=%25+Original+source%3A+http%3A%2F%2Fwww.thelazymathematician.com%2Fp%2Fpstricks-examples.html%0A%5Cdocumentclass%5B11pt%5D%7Bamsart%7D%0A%5Cusepackage%7Bpst-all%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bpspicture%7D%28-6.5%2C-2.5%29%286.5%2C5.5%29%0A%5Cpsaxes%5BtrigLabelBase%3D2%2Cdx%3D%5CpstPI2%2C+xunit%3D%5CpsPi%2CtrigLabels%2C+xsubticks%3D2%5D%7B%3C-%3E%7D%280%2C0%29%28-1.2%2C-2.4%29%281.2%2C5.4%29%5B%24x%24%2C0%5D%5B%24y%24%2C90%5D%0A%5Cpsplot%5Balgebraic%2Clinewidth%3D1.6pt%2Cplotpoints%3D10000%2C+linecolor%3Dred%5D%7B-%5CpsPi%7D%7B%5CpsPi%7D%7Bcos%282%2Ax%29%2B+3%7D%0A%5Cend%7Bpspicture%7D%0A%5Cend%7Bdocument%7D)

此示例生成以下输出：

![在 Overleaf 上用 LaTeX 绘制三角函数图像的 PStricks](/files/f8ba1a6095403fdfa455c8a2ca97216674394946)

### 示例 6：绘制多边形

```latex
% 原始来源: http://www.thelazymathematician.com/p/pstricks-examples.html
\documentclass[11pt]{article}
\usepackage{pst-all}
\begin{document}
\psset{xunit=1cm,yunit=1cm,algebraic=true}
\begin{pspicture}(0,0)(3,3)
\pspolygon[linecolor=orange,fillcolor=blue!20, fillstyle=vlines*, hatchcolor=purple, showpoints=false, linearc=0.2](1,1)(2,1)(2.31,1.95)(1.5,2.54)(0.69,1.95)
\end{pspicture}
\end{document}
```

&#x20;[在 Overleaf 中打开此示例](https://www.overleaf.com/docs?engine=xelatex\&snip_name=PSTricks+LaTeX+Example+6%3A+Drawing+a+polygon\&snip=%25+Original+source%3A+http%3A%2F%2Fwww.thelazymathematician.com%2Fp%2Fpstricks-examples.html%0A%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%5Cusepackage%7Bpst-all%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cpsset%7Bxunit%3D1cm%2Cyunit%3D1cm%2Calgebraic%3Dtrue%7D%0A%5Cbegin%7Bpspicture%7D%280%2C0%29%283%2C3%29%0A%5Cpspolygon%5Blinecolor%3Dorange%2Cfillcolor%3Dblue%2120%2C+fillstyle%3Dvlines%2A%2C+hatchcolor%3Dpurple%2C+showpoints%3Dfalse%2C+linearc%3D0.2%5D%281%2C1%29%282%2C1%29%282.31%2C1.95%29%281.5%2C2.54%29%280.69%2C1.95%29%0A%5Cend%7Bpspicture%7D%0A%5Cend%7Bdocument%7D)

此示例生成以下输出：

![在 Overleaf 上用 LaTeX 绘制多边形的 PStricks](/files/25596835c097d0227a05be2873a63ec04862a30c)

### 示例 7：绘制圆

```latex
% 原始来源: http://www.thelazymathematician.com/p/pstricks-examples.html
\documentclass{article}
\usepackage{pst-all}
\begin{document}
\psset{xunit=0.15in, yunit=0.15in}
\begin{pspicture}(0,0)(11,11)
\psaxes[Dx=4,Dy=4, subticks=4]{->}(0,0)(0,0)(10,10)[$x$,0][$y$,0]
\pscircle[runit=0.15in, fillcolor=orange!50, fillstyle=solid,shadow=true](5,5){3}
\end{pspicture}
\end{document}
```

&#x20;[在 Overleaf 中打开此示例](https://www.overleaf.com/docs?engine=xelatex\&snip_name=PSTricks+LaTeX+Example+7%3A+Drawing+a+circle\&snip=%25+Original+source%3A+http%3A%2F%2Fwww.thelazymathematician.com%2Fp%2Fpstricks-examples.html%0A%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bpst-all%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cpsset%7Bxunit%3D0.15in%2C+yunit%3D0.15in%7D%0A%5Cbegin%7Bpspicture%7D%280%2C0%29%2811%2C11%29%0A%5Cpsaxes%5BDx%3D4%2CDy%3D4%2C+subticks%3D4%5D%7B-%3E%7D%280%2C0%29%280%2C0%29%2810%2C10%29%5B%24x%24%2C0%5D%5B%24y%24%2C0%5D%0A%5Cpscircle%5Brunit%3D0.15in%2C+fillcolor%3Dorange%2150%2C+fillstyle%3Dsolid%2Cshadow%3Dtrue%5D%285%2C5%29%7B3%7D%0A%5Cend%7Bpspicture%7D%0A%5Cend%7Bdocument%7D)

此示例生成以下输出：

![在 Overleaf 上用 LaTeX 绘制圆的 PStricks](/files/392ad3bd14fe87f76a4304f7fc08249b3df771d4)

## Overleaf Gallery 链接

* [示例 1：绘制点](https://www.overleaf.com/latex/examples/pstricks-latex-example-1-plotting-points/hrdgjvwpkwxc)
* [示例 2：绘制区间图](https://www.overleaf.com/latex/examples/pstricks-latex-example-2-graphing-an-interval/pprsbgcxsqhh)
* [示例 3：通过特定点绘制曲线](https://www.overleaf.com/latex/examples/pstricks-latex-example-3-graphing-a-curve-through-specific-points/pptpxsjmdgym)
* [示例 4：绘制函数图像](https://www.overleaf.com/latex/examples/pstricks-latex-example-4-graphing-a-function/dqcnbzcqzstp)
* [示例 5：绘制三角函数图像](https://www.overleaf.com/latex/examples/pstricks-latex-example-5-graphing-a-trig-function/pdbcbffynvgr)
* [示例 6：绘制多边形](https://www.overleaf.com/latex/examples/pstricks-latex-example-6-drawing-a-polygon/zxydfzwzfvrc)
* [示例 7：绘制圆](https://www.overleaf.com/latex/examples/pstricks-latex-example-7-drawing-a-circle/qkvqwzcxmwrn)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/zh-cn/wen-da/06-can-i-use-the-pstricks-package-on-overleaf.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
