Tikz 在另一个文档内裁剪

Tikz 在另一个文档内裁剪

我已经发现并阅读了一些与裁剪 tikz 图片问题相关的问题。

这里的问题是我有一个来自 R 的 tikz 代码,然后将其导入到新文档中。

例子

\documentclass[12pt, a4]{article}

\usepackage{tikz}

\begin{document}

\section{The First Section}
\label{S:1}

Maecenas fermentum urna ac sapien tincidunt lobortis. Nunc feugiat
faucibus varius. Ut sed purus nunc. Ut eget eros quis lectus mollis
pharetra ut in tellus. Pellentesque ultricies velit sed orci pharetra
et fermentum lacus imperdiet. Class aptent taciti sociosqu ad litora
torquent per conubia nostra, per inceptos himenaeos. Suspendisse
commodo ultrices mauris, condimentum hendrerit lorem condimentum et.
Pellentesque urna augue, semper et rutrum ac, consequat id quam. Proin
lacinia aliquet justo, ut suscipit massa commodo sit amet. Proin
vehicula nibh nec mauris tempor interdum. Donec orci ante, tempor a
viverra vel, volutpat sed orci.

\begin{figure}[!h]
\centering
\include{Figure1}
\setlength{\abovecaptionskip}{0cm}
\caption{Integer risus dui, condimentum et gravida vitae, adipiscing et 
enim. Aliquam erat volutpat. Pellentesque diam sapien, egestas eget 
gravida  ut, tempor eu nulla.\label{fig:1}}
\end{figure}

\end{document}

有没有办法简单地裁剪这个图表?在我的论文中,会有很多,所以使用网格解决方案可能会很长。

删除周围的空白后,是否还有办法将图形宽度设置为等于文本宽度?

您可以通过此链接下载图1:goo.gl/aauPoE

答案1

我不了解 R,所以我不知道是否可以更改图形周围的白色边距。但我认为最好的解决方案是尝试一下。

另一种更昂贵的解决方案是:

  1. 处理standalone文档中的每个图形
  2. 使用 pdfcrop 裁剪结果
  3. 将结果插入主文档中\includegraphics[width=\linewidth]{...}

作为示例,我们将此过程应用到您的图形:

standalone文件如下所示:

\documentclass[tikz]{standalone} 

\begin{document}
\input{Figure1.tex}
\end{document}

并生成一个周围带有一些空白的图形(此结果表明空白已在TiKZ代码中定义):

在此处输入图片描述

如果结果是figure1.pdf,可以用 进行裁剪pdfcrop。命令是:

pdfcrop figure1.pdf

结果将会figure1-crop.pdf像这样:

在此处输入图片描述

最后,主文档文件将以TikZ图像形式包含该图形includegraphics

\documentclass[12pt, a4]{article}

\usepackage{graphicx}

\begin{document}

\section{The First Section}
\label{S:1}

Maecenas fermentum urna ac sapien tincidunt lobortis. Nunc feugiat
faucibus varius. Ut sed purus nunc. Ut eget eros quis lectus mollis
pharetra ut in tellus. Pellentesque ultricies velit sed orci pharetra
et fermentum lacus imperdiet. Class aptent taciti sociosqu ad litora
torquent per conubia nostra, per inceptos himenaeos. Suspendisse
commodo ultrices mauris, condimentum hendrerit lorem condimentum et.
Pellentesque urna augue, semper et rutrum ac, consequat id quam. Proin
lacinia aliquet justo, ut suscipit massa commodo sit amet. Proin
vehicula nibh nec mauris tempor interdum. Donec orci ante, tempor a
viverra vel, volutpat sed orci.

\begin{figure}[!h]
\centering
\includegraphics[width=\linewidth]{Figure1-crop}
\setlength{\abovecaptionskip}{0cm}
\caption{Integer risus dui, condimentum et gravida vitae, adipiscing et 
enim. Aliquam erat volutpat. Pellentesque diam sapien, egestas eget 
gravida  ut, tempor eu nulla.\label{fig:1}}
\end{figure}

\end{document}

在此处输入图片描述

步骤 1 和 2 可以包含在可处理所有图形的脚本中。

可以裁剪该文件的 Windows 批处理文件Figure1.tex可能是:

rem CropRFig <R-Figure-name-without-tex-extension>
@echo \documentclass[tikz]{standalone}      >  temptex.tex
@echo \begin{document}                  >> temptex.tex
@echo \input{%1.tex}                    >> temptex.tex
@echo \end{document}                    >> temptex.tex
pdflatex temptex.tex
pdfcrop temptex.pdf 
copy temptex-crop.pdf %1.pdf /Y 

命令CropRFile Figure1将在文件中生成一个裁剪的图形Figure1.pdf

相关内容