如何在 .Tex 文件中实现任何运行系统命令?

如何在 .Tex 文件中实现任何运行系统命令?

我有以下 tex 文件:

\providecommand{\pgfsyspdfmark}[3]{}

\documentclass[convert]{standalone}

\usepackage{pgfplots}
\usepackage{tikz}
\usepackage{array}
\usepackage{textgreek}
\usepackage{xcolor}
\usepackage{fixltx2e}
\usepackage{booktabs}
\usepackage{xfrac}

\usetikzlibrary{shapes,arrows,chains}
\usepgfplotslibrary{external}
\usetikzlibrary{pgfplots.external}

\pgfplotsset{compat=newest}

\begin{document}
\begin{tabular}{>{\small}l >{\small}r >{\small}r >{\small}r >{\small}r} 
    \toprule
    Gas & $\sigma / \text{\AA}$ & $\sfrac{\varepsilon}{\kappa} /  \text{K} $ & $\sfrac{\kappa T}{\varepsilon}$ / \text{-} & $\Omega_ \mu / \text{-} $ \\
    \midrule
    H\textsubscript{2} & $2.915$ & $ 38$ & $7.77$ & $0.86$ \\
    N\textsubscript{2} & $3.667$ & $100$ & $2.96$ & $1.04$ \\
    O\textsubscript{2} & $3.433$ & $113$ & $2.61$ & $1.08$ \\
    \bottomrule
\end{tabular}
\end{document}

每当我运行它时,我都会在日志文件中读取以下内容:

runsystem(imgconvert -density 300 Table_1.pdf -quality 90 Table_1.png)...已执行。

我猜测编译过程中发生的情况是,在 Windows 上运行命令“imgconvert etc etc”将 pdf 转换为 png。

我现在想要做的是在我的 tex 文件中添加一个输出命令:

runsystem(pdftops -eps Table_1.pdf Table_1.eps)...已执行。

独立版实现方式如下:

\sa@convertoption{imagemagick}[]{%
\def\sa@convert@command{\convertexe\space -density \density\space \infile\space \ifx\size\empty\else -resize \size\fi\space -quality 90 \outfile}%
\let\sa@convert@pageoffset\m@ne
}

有任何想法吗?

答案1

到目前为止,我已经在standalone包中找到了可以通过以下两种方式之一实现的解决方法:

  • 修改standalone.cls第 394 行和 395 行之间的文件以包含以下内容:

    \sa@convertoption{eps}[]{%
        \def\sa@convert@command{pdftops\space -eps\space \infile\space\outfile}%
        \sa@convertvar{outext}{.eps}
    }
    

然后使文档类看起来像\documentclass[convert=eps]{standalone}

  • 修改文档类行如下

    \documentclass[convert={command=\unexpanded{pdftops\space -eps\space \jobname.pdf\space \jobname.eps},imagemagick}]{standalone}
    

我现在的问题是我想standalone将 PDF 文件转换为 PNG 和 EPS,但我认为这standalone只能进行一次转换。唯一的解决方案是运行文件两次,一次使用convert=eps,一次使用convert=imagemagick

答案2

你可以适应https://tex.stackexchange.com/a/413764/4427

\documentclass[
  convert={
    convertexe=pdftops -eps,
    outext=.eps,
    command=\unexpanded{%
      \convertexe\space
      \infile\space
      \outfile
    },
  }
]{standalone}

\usepackage{pgfplots}
\usepackage{tikz}
\usepackage{array}
\usepackage{textgreek}
\usepackage{xcolor}
\usepackage{fixltx2e}
\usepackage{booktabs}
\usepackage{xfrac}

\usetikzlibrary{shapes,arrows,chains}
\usepgfplotslibrary{external}
\usetikzlibrary{pgfplots.external}

\pgfplotsset{compat=newest}

\begin{document}
\small
\begin{tabular}{ lrrrr }
    \toprule
    Gas & $\sigma / \text{\AA}$ & $\sfrac{\varepsilon}{\kappa} /  \text{K} $ & $\sfrac{\kappa T}{\varepsilon}$ / \text{-} & $\Omega_ \mu / \text{-} $ \\
    \midrule
    H\textsubscript{2} & $2.915$ & $ 38$ & $7.77$ & $0.86$ \\
    N\textsubscript{2} & $3.667$ & $100$ & $2.96$ & $1.04$ \\
    O\textsubscript{2} & $3.433$ & $113$ & $2.61$ & $1.08$ \\
    \bottomrule
\end{tabular}
\end{document}

相关内容