我想在乳胶中画一条曲线,但是当我输入此代码时
\psset{algebraic=true}
\pspicture(-2,-0.5)(2,2)
\psline{<->}(-2,0)(2,0)
\psline{->}(0,-0.5)(0,2)
\psplot{-1.5}{1}{x*x+x}
\endpspicture
出现这些错误
! Undefined control sequence.<recently read> \c@lor@to@ps \psline(
! Undefined control sequence.\XC@usec@lor ...string \color@ #1#2\endcsname \@@\fi \space \psline(
! Undefined control sequence.<recently read> \c@lor@to@ps \psline
请有人帮助我,因为我不明白为什么会出现这个错误。
\documentclass{article}
\usepackage[french]{babel}
\usepackage{color}
\usepackage{xcolor} %les couleurs
\definecolor{myblue}{rgb}{0.2,0.4,1}
\usepackage{layout}
\usepackage[top=2 cm, bottom=2 cm, left=2 cm, right=2 cm]{geometry}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{array}
\usepackage{pstricks-add}
\usepackage{pst-eucl}
\begin{document}
\psset{algebraic=true}
\pspicture(-2,-0.5)(2,2)
\psline{<->}(-2,0)(2,0)
\psline{->}(0,-0.5)(0,2)
\psplot{-1.5}{1}{x*x+x}
\endpspicture
\end{document}
答案1
你的 MWE 的主要问题是
\usepackage[pdftex]{graphicx}
使用时PSTricks
会引起一些问题(除非你使用如何在 pdfLaTeX 中使用 PSTricks?)
还要注意,不需要加载color
ANDxcolor
包 - 仅需加载xcolor
将来的包。
我已将您的代码精简为以下内容,它可以与例程xelatex
一起使用latex->dvips->ps2pdf
。
\documentclass{article}
\usepackage[french]{babel}
\usepackage{pstricks-add}
\begin{document}
\psset{algebraic=true}
\pspicture(-2,-0.5)(2,2)
\psline{<->}(-2,0)(2,0)
\psline{->}(0,-0.5)(0,2)
\psplot{-1.5}{1}{x*x+x}
\endpspicture
\end{document}
答案2
当使用 PStricks 进行 PDF 输出时,您需要
- 使用 进行编译
latex
然后运行dvi2pdf
。 - 用 编译
xelatex
。 pdflatex
使用进行编译\usepackage{auto-pst-pdf}
。
前两种情况需要pdftex
从 中删除该选项\usepackage{graphicx}
,而第三种情况仍然建议省略该选项。
或者,你可以
- 使用
pgfplots
,它与 本身兼容pdflatex
。例如
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis lines=middle, enlargelimits=true, xtick=\empty, ytick=\empty]
\addplot [domain=-1.5:1, thick] {x^2+x};
\end{axis}
\end{tikzpicture}
\end{document}
会给你
答案3
使用以下方式绘制曲线,并提供自己的数据点pstricks
可以使用pst-plot
。您可以直接在文件中输入数据.tex
,也可以从外部文件中读取数据。以下是取自pst-plot
文档(参见章节2 绘制数据记录,第5-6页):
\documentclass{article}
\usepackage{pst-plot}% http://ctan.org/pkg/pst-plot
\usepackage{filecontents}% http://ctan.org/pkg/filecontents
\begin{document}
\begin{pspicture}(4,3)
\psset{xunit=.2cm,yunit=1.5cm}
\savedata{\mydata}[
{{0, 0}, {1., 0.946083}, {2., 1.60541}, {3., 1.84865}, {4., 1.7582},
{5., 1.54993}, {6., 1.42469}, {7., 1.4546}, {8., 1.57419},
{9., 1.66504}, {10., 1.65835}, {11., 1.57831}, {12., 1.50497},
{13., 1.49936}, {14., 1.55621}, {15., 1.61819}, {16., 1.6313},
{17., 1.59014}, {18., 1.53661}, {19., 1.51863}, {20., 1.54824}}]
\dataplot[plotstyle=curve,showpoints,dotstyle=triangle]{\mydata}
\psline{<->}(0,2)(0,0)(22,0)
\end{pspicture}
\bigskip
\begin{filecontents*}{foo.data}
[{0, 0}, {1., 0.946083}, {2., 1.60541}, {3., 1.84865}, {4., 1.7582},
{5., 1.54993}, {6., 1.42469}, {7., 1.4546}, {8., 1.57419},
{9., 1.66504}, {10., 1.65835}, {11., 1.57831}, {12., 1.50497},
{13., 1.49936}, {14., 1.55621}, {15., 1.61819}, {16., 1.6313},
{17., 1.59014}, {18., 1.53661}, {19., 1.51863}, {20., 1.54824}]
\end{filecontents*}
\begin{pspicture}(4,3)
\psset{xunit=.2cm,yunit=1.5cm}
\readdata{\foo}{foo.data}
\dataplot[plotstyle=curve,showpoints,dotstyle=diamond]{\foo}
\psline{<->}(0,2)(0,0)(22,0)
\end{pspicture}
\end{document}
答案4
使用pdflatex --shell-escape filename.tex
或进行编译xelatex --shell-escape filename.tex
。
%filename.tex
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{xxx.tex}
\documentclass[pstricks,border=0pt]{standalone}
\usepackage{pstricks-add}
\begin{document}
\pspicture*[showgrid](-2,-1)(2,2)
\psaxes{->}(0,0)(-1.75,-0.75)(1.5,1.5)[$x$,0][$y$,90]
\psplot[algebraic,linecolor=red]{-1.5}{1}{x^2+x}
\endpspicture*
\end{document}
\end{filecontents*}
\usepackage{graphicx}
\def\fig#1#2{
\immediate\write18{xelatex #1}%
\begin{figure}
\centering
\includegraphics[width=0.5\linewidth]{#1}
\caption{#2}
\label{fig:#1}
\end{figure}%
}
\begin{document}
\fig{xxx}{This is the graph of $y=f(x)=x^2+x$}
\end{document}