我一直在尝试开发一种整洁的工作流程来编写 LaTeX 文档的内容,并且几乎使用该catchfilebetweentags
包实现了它(我可以在单独的最小文件中编写文本,然后在编译时将其调用到 LaTeX 文档结构中)。但是,我无法让它处理文本换行的图形。只要图形大于标签之间包含的文本部分的高度,就会出现奇怪的图形位置。
期望输出:当在文本部分中定义的图形太短而无法包含它时,应该允许它流入以下部分,并根据需要环绕文本。
通过以下任何配置我都无法实现这一点。
MWE 输入文件:document.tex
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{catchfilebetweentags}
\usepackage{wrapfig}
\usepackage{graphicx}
\CatchFileBetweenTags{\SectionA}{content.tex}{SectionA}
\CatchFileBetweenTags{\SectionB}{content.tex}{SectionB}
\begin{document}
\section*{Section A}
\SectionA
\section*{Section B}
\SectionB
\end{document}
示例 1:大文本部分中的图形content.tex
%<*SectionA>
text
%</SectionA>
%<*SectionB>
text
\begin{wrapfigure}{r}{0.25\linewidth}
\begin{center}
\includegraphics[width=\linewidth]{./graphics/example.png}
\end{center}
\caption{Caption here.}
\label{example_wrap_figure}
\end{wrapfigure}
text
text
%</SectionB>
示例 2:小文本部分中的图形content.tex
%<*SectionA>
text
\begin{wrapfigure}{r}{0.25\linewidth}
\begin{center}
\includegraphics[width=\linewidth]{./graphics/example.png}
\end{center}
\caption{Caption here.}
\label{example_wrap_figure}
\end{wrapfigure}
%</SectionA>
%<*SectionB>
text
text
text
%</SectionB>
输出:整个 B 节都折回到左侧,并且使用可选的“窄行数”wrapfig
选项无济于事(防止 wrapfigure 换行下一节)。
例 3: 中的部分之间的图形document.tex
,而不是content.tex
\section*{Section A}
\SectionA
\begin{wrapfigure}{r}{0.25\linewidth}
\begin{center}
\includegraphics[width=\linewidth]{./graphics/example.png}
\end{center}
\caption{Caption here.}
\label{example_wrap_figure}
\end{wrapfigure}
\section*{Section B}
\SectionB
输出:与示例2相同。
示例 4:在各节之间插入document.tex
其自身范围内的图形
\section*{Section A}
\SectionA
{
\begin{wrapfigure}{r}{0.25\linewidth}
\begin{center}
\includegraphics[width=\linewidth]{./graphics/example.png}
\end{center}
\caption{Caption here.}
\label{example_wrap_figure}
\end{wrapfigure}
}
\section*{Section B}
\SectionB
我怀疑,它在知道之前catchfilebetweentags
就执行了。有什么方法可以获得所需的输出吗?或者,有什么方法可以延迟图形环境的执行,直到所有文本部分都已评估之后,也许可以通过多次运行?SectionA
SectionB
latex