在模块化文档中包含图形

在模块化文档中包含图形

创建模块化文档时包含图形的正确方法是什么?

我的目录结构如下:

/root
--report.tex
--mystyle.sty
--/tex
----/literature
------literature.tex
--/img
----biological_neuron.eps

我的主文件是report.tex,其内容如下:

\documentclass[11pt, a4paper, twoside, openright]{book}

\usepackage{graphicx}
\usepackage{my_style}

\begin{document}

\mainmatter
\include{tex/literature/literature}

\bibliographystyle{plain}
\bibliography{../../../Bibliography/Bibtex/SNN}
\end{document} 

文件literature.tex的内容如下:

\chapter{A review}

\begin{figure}[h]
\includegraphics{../../img/biological_neuron}
\caption{A biological neuron}
\label{Fig:BN}
\end{figure}

每次我尝试生成 pdf 时都会收到错误:文件“../../img/biological_neuron”未找到。我尝试使用“/img/biological_neuron”而不是“../../img/biological_neuron”,但这也不起作用。有一件事确实有效,那就是添加\graphicspath{img/}到 report.tex。但我不知道这是否是正确的方法。因为即使我这样做,\graphicspath{img/}我也必须将包含文件中任何图形的路径指定为“../../img/biological_neuron”,并且我认为在添加 \graphicspath{img/}` 后,我们应该只写“/biological_neuron”。我不知道这是错误还是我做错了什么。请指教。谢谢。

答案1

一种方法是将图像放在同一个文件夹中,然后给出位置命令\graphicspath{{folder},{folder},...}

使用模块化文档时,尤其是当各个部分由不同的用户独立编辑时,我更喜欢使用不同的方法。我通常为每个部分创建一个__before.tex和一个__after.tex文件。在从文件夹中包含任何 tex 文件之前,我总是先创建\input文件__before.tex,然后__after.tex再创建文件。

所以我有这样的结构:

/root
--main.tex
--*.tex
--/1_<part1name>
----__before.tex
----__after.tex
----*.tex
--/2_<part2name>
----__before.tex
----__after.tex
----*.tex
--/img
----*.*
----/<part1name> % without numbering
------*.*
----/<part2name>
------*.*
----/misc
------/gen_ba
--------gen_ba.sh
--------gen_ba.cmd
--/* % other folders

我使用脚本生成这些文件__before.tex__after.tex文件夹中的文件。在本例中,我将在其中输入以下命令:

  • \def\imgfolder{img/partxname}__before.tex
  • \def\imgfolder\relax__after.tex

我使用包含位置信息的\includegraphics内容\imgfolder

相关内容