ShareLaTeX 和 auto-pst-pdf

ShareLaTeX 和 auto-pst-pdf

在我的代码中,我使用chemnumShareLaTeX 上的化学化合物编号。由于现在我正在编译设置latex为编译器,但出于一系列原因,我想切换到pdflatex。所以我添加了行

\usepackage[run=2, crop=off]{auto-pst-pdf}

并将编译器切换到pdflatex,但编译失败,因为auto-pst-pdf无法创建output-pics.pdf。完整日志为这里

如果我在我的计算机上本地编译相同的代码pdflatex,则编译将以没有任何错误的方式结束。这里你可以找到我本地编译成功的日志。

考虑到 ShareLaTeX 编译器的一个问题,我写信给 ShareLaTeX 支持团队,但他们回复说他们“无法帮助解决深入的 LaTeX 问题”,并建议“在 tex.stackexchange.com 上提问”。所以我来了!:D

这是我的 MWE:你可以找到文件ammide.eps 这里

\documentclass[a4paper, 11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{newfloat}
\usepackage[run=2, crop=off]{auto-pst-pdf} 
\usepackage{chemnum}

\DeclareFloatingEnvironment[
listname={Elenco degli Schemi},
name=Schema,
placement=htbp,
]{scheme}

\begin{document}
    \begin{scheme}[htbp]
        \replacecmpd{tiofencarbossilato}
        \replacecmpd{cloruroacido}
        \replacecmpd{ammide}
        \includegraphics{ammide.eps}
        \caption{Sintesi N,N-dietiltiofen-3-carbossiammide}
    \end{scheme}
\end{document}

一个更简单的工作示例如下

\documentclass[a4paper, 11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[run=2, crop=off]{auto-pst-pdf}

\begin{document}
    Some text
\end{document}

在 ShareLaTeX 上使用pdflatex,可以正确生成输出文件,但仍然有警告Package auto-pst-pdf Warning: Could not create output-pics.pdf. Auxiliary files not deleted. This warning occured on input line 124.,这最终是我所解决的主要问题。

答案1

您的日志文件中令人惊讶的是,您的 sharelatex 似乎使用 texlive 2015(我仍然看到 TL2014),并且它似乎激活了 --shell-escape。

问题的根源在于 sharelatex 设置\jobname为“输出”,这会使 auto-pst-pdf 混乱。例如,它尝试运行latex output.tex。您可以通过运行 在本地重现该问题pdflatex --jobname=output --shell-escape yourfile

您可以尝试\jobname在文档中重新定义。但这可能会使其他软件包产生混淆,因此我建议在小文档中使用它来创建图片,然后正常地将其包含在主文档中。

\documentclass[a4paper, 11pt]{book}
\def\jobname{test-utf8} %<-- your file name
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{newfloat}
\usepackage[run=2, crop=off]{auto-pst-pdf}
\usepackage{chemnum}

\DeclareFloatingEnvironment[
listname={Elenco degli Schemi},
name=Schema,
placement=htbp,
]{scheme}

\begin{document}
    \begin{scheme}[htbp]
        \replacecmpd{tiofencarbossilato}
        \replacecmpd{cloruroacido}
        \replacecmpd{ammide}
        \includegraphics{ammide.eps}
        \caption{Sintesi N,N-dietiltiofen-3-carbossiammide}
    \end{scheme}
\end{document}

相关内容