有没有LaTeX结合gnuplot的流程图?

有没有LaTeX结合gnuplot的流程图?

我知道这并不总是一个好主意,但我认为在某些情况下这可能是一个好主意。

有没有改进的 LaTeX 版本或者类似的东西,可以将gnuplot脚本放在 LaTeX 文件中,这样在编译过程中,它gnuplot也可以编译脚本。现在我们必须先生成 EPS 文件,或者.tex先生成文件。

同样适用于流程图,我真的希望有一个解决方案可以在 LaTeX 文件中动态编译和构建流程图脚本。

我是否遗漏了什么东西?

答案1

有一个包gnuplottex可以满足您的需求。下面是一个示例文档,例如test.tex

\documentclass[a4paper]{article}
\usepackage{graphicx,amssymb,ifthen,moreverb,gnuplottex}

\pagestyle{empty}

\begin{document}

\begin{gnuplot}[terminal=pdf]
      set   autoscale                        # scale axes automatically
      unset log                              # remove any log-scaling
      unset label                            # remove any previous labels
      set xtic auto                          # set xtics automatically
      set ytic auto                          # set ytics automatically
      set title "Force Deflection Data for a Beam and a Column"
      set xlabel "Deflection (meters)"
      set ylabel "Force (kN)"
      set key 0.01,100
      set label "Yield Point" at 0.003,260
      set arrow from 0.0028,250 to 0.003,280
      set xr [0.0:0.022]
      set yr [0:325]
      plot    "force.dat" using 1:2 title 'Column' with linespoints ,                 "force.dat" using 1:3 title 'Beam' with points
\end{gnuplot}

\begin{gnuplot}[terminal=pdf]
plot sin(x)
\end{gnuplot}

\end{document}

以及标准force.dat文件

# This file is called   force.dat
# Force-Deflection data for a beam and a bar
# Deflection    Col-Force       Beam-Force 
0.000              0              0    
0.001            104             51
0.002            202            101
0.003            298            148
0.0031           290            149
0.004            289            201
0.0041           291            209
0.005            310            250
0.010            311            260
0.020            280            240

如果使用编译

pdflatex --shell-escape test

结果是

在此处输入图片描述

您可以gnuplot像任何其他 LaTeX 环境一样使用该环境。

答案2

您可以通过命令执行此\write18操作

\documentclass{article}

\begin{document}
 \immediate\write18{dir > test}
\end{document}

您只需将 替换dir > test为所需的 gnuplot 调用即可。\immediate前缀将确保命令立即执行。write18 命令的内容将在 shell 上展开并执行。

为了\write18工作,您必须启用它(出于安全原因,禁用它,以便任意软件包无法格式化您的硬盘)。\write18使用--enable-write18命令行开关启用。例如

pdflatex --enable-write18 myfile.tex

我无法提供确切的 gnuplot 示例,因为我使用的是 Windows 并且没有安装 gnuplot,但您应该明白我的意思。

相关内容