将图片或图形转换为 EPS 或 PDF 文件

将图片或图形转换为 EPS 或 PDF 文件

在我的文档中我使用以下代码嵌入图形:

\begin{figure}[!t]
  \centering
  \def\svgwidth{1.2\columnwidth}
  \resizebox{\columnwidth}{!}{
    \endlinechar=255\relax
    \begin{picture}(1,0.63636365)
      \put(0,0){\includegraphics[width=\unitlength]{figure.eps}}
      \put(0.50454546,0.58636365){\color[rgb]{0,0,0}\makebox(0,0)[b]{\smash{some text $ax^2+bx+c=0$.}}}
    \end{picture}
  }
  \caption{Caption.}
  \label{fig:figure}
\end{figure}

其中图像(figure.eps)不包含文本,所有注释都使用命令添加到图像顶部\put

只要我坚持使用 TeX,这种方法就非常有效(注释可以包含任何 LaTeX 宏,这非常有用)。不过现在,我想采用导致图形(最好是矢量格式)并将它们放入其他工具中。

问题:

  1. 有没有办法将这些输出float为没有边距、标题且页面尺寸等于指定float大小的 PDF 文件?我想我必须以某种方式将每个文件包装float在一个.tex带有自定义前言的文件中。
  2. 是否可以自动化这个过程,以便如果我想转储所有图形到 PDF 我不必重复步骤 (1)次。

答案1

一般来说,我建议你把所有复杂的图形放在单独的文件中,并使用例如standalone 班级能够单独编译它们,然后\input轻松地在主文档中使用standalone 包裹

对于您现有的文档,您可以使用preview包(由 内部使用standalone)。它只编译包装在preview环境中的内容,并将每个此类环境编译为页面。使用此tightpage选项,您可以获得我要求的紧凑页面。

我将使用类似以下的代码来重新定义figure使用preview环境并禁用(或包含)\caption。生成的 PDF 应该每页有一张图片。然后,您可以使用选项page=<number>\includegraphics其包含或使用pdftk allfigures.pdf burst output figure%02d.pdf或 Ghostscript 等工具将其拆分为多个 PDF。

\documentclass{article}

\usepackage[active,tightpage]{preview}

\makeatletter
\renewenvironment{figure}[1][]{%
    \begin{preview}%
        \renewcommand\caption[2][]{}% or
        %\def\@captype{figure}% If you want to include the caption
}{%
    \end{preview}%
}
\makeatother

\begin{document}

text text text text 

\begin{figure}[!t]
    \rule{5cm}{8cm}% dummy replacement
    \caption{some caption}
\end{figure}

text text text text 

\begin{figure}[!t]
    \rule{8cm}{5cm}% dummy replacement
    \caption{some caption}
\end{figure}

text text text text 


\end{document}

答案2

如果你对目前的程序没问题,我想你可以\pagestyle{empty}在序言中设置,通过\clearpage在每个浮点数后插入一条指令,每页只有一个浮点数,最后分解结果n页 pdf 文件转为n单独的 pdf 文件。(将页面样式设置为空将简化裁剪每个页面的操作。)

相关内容