使用 CatchFileBetweenTags 进行文本包装的图形

使用 CatchFileBetweenTags 进行文本包装的图形

我一直在尝试开发一种整洁的工作流程来编写 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就执行了。有什么方法可以获得所需的输出吗?或者,有什么方法可以延迟图形环境的执行,直到所有文本部分都已评估之后,也许可以通过多次运行?SectionASectionBlatex

相关内容