独立包:重建命令行

独立包:重建命令行

对于当前版本的 ImageMagick,ImageMagick 7.0.7-21 Q16 x64 2018-01-06应用程序文件名已经是很久以前的了magick,因此standalone应该通过如下方式调用包:

\documentclass[convert={convertexe=magick,density=200,outext=.png}]{standalone} 

发送命令

magick -density 200 filename.pdf filename.png

到提示符。现在此过程会产生具有透明背景的 PNG。为了避免透明,提示符命令应更改为

magick -density 200 filename.pdf -alpha remove filename.png

也就是说,-alpha remove应该放在两个文件名之间。这意味着-alpha remove不能简单地将 攻击为density=200,如其他地方所建议的那样:使用独立程序将表格转换为 png

我检查了standalone包裹,第 17 页手动的建议使用子选项重建命令提示符command。所以我实际上尝试这样做:

\documentclass[tikz,convert={convertexe=magick,density=200,outext=.png,command={\convertexe\space -density \density\space \infile\space -alpha remove\space \outfile}}]{standalone}

但是,命令重建似乎不起作用,因为PdfLatex编译器在调用时Miktex返回。! Undefined control sequence.\convertexe

手册中的例子如下:

command={\convertexe\space -density \density\space \infile\space \ifx\size\empty\else -resize \size\fi\space -quality 90 \outfile}

怎么了?我误读了说明吗?

答案1

如果我有以下test.tex文件

\documentclass[tikz,convert]{standalone}

\begin{document} 

\begin{tikzpicture}
\draw (0,0) rectangle (2,1) node [midway] {Example};
\end{tikzpicture}

\end{document}

以及standalone.cfg同一目录中的以下文件

\standaloneconfig{
  multi=false,
  crop,
  convert={
    convertexe=magick,
    density=200,
    outext=.png,
    command={%
      \convertexe\space
      -density \density\space
      \infile\space
      -alpha remove\space
      \outfile
    }
  }
}

然后运行

pdflatex -shell-escape test

导致调用外部程序

magick -density 200 test.pdf -alpha remove test.png

test.log通过查找 ,可以在文件中看到runsys。事实上,如果我询问有关该文件的信息,我会得到

> file test.png
test.png: PNG image data, 1700 x 2200, 4-bit grayscale, non-interlaced

更新

您也可以在选项中指定命令,但需要进行一些小的调整:

\documentclass[
  tikz,
  multi=false,
  crop,
  convert={
    convertexe=magick,
    density=200,
    outext=.png,
    command=\unexpanded{%
      \convertexe\space
      -density \density\space
      \infile\space
      -alpha remove\space
      \outfile
    },
  },
]{standalone}

\begin{document} 

\begin{tikzpicture}
\draw (0,0) rectangle (2,1) node [midway] {Example};
\end{tikzpicture}

\end{document}

在日志文件中我发现

runsystem(magick -density 200 conv.pdf -alpha remove conv.png)...executed.

以及生成的文件报告

> identify test.png
test.png PNG 159x80 159x80+0+0 8-bit Gray 16c 900B 0.000u 0:00.000

相关内容