这不是可行的解决方案,只有一些可以帮助解决这个问题的想法

这不是可行的解决方案,只有一些可以帮助解决这个问题的想法

是否有可能在章节中定义图形,然后使用参数/标签告诉 TeX,该图片将打印在额外的附录中。我想用这种方式来显示大图片,例如屏幕截图;因为在章节中显示这么大的图片并不是很好。

答案1

这不是可行的解决方案,只有一些可以帮助解决这个问题的想法


首先,我不太喜欢重新定义 LaTeX 环境,所以我认为我们必须定义一个新的环境,我现在称之为appendixfig。目前,我还忽略了定义是否应该在定义位置打印图像的选项。

在两个不同的地方打印数据让我想起了collect允许你在一个“数组”中收集数据的包。稍后,你可以打印这个数组。这几乎就是我们所需要的。

以下是其中的 MWE:

\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[demo]{graphicx}
\usepackage{collect}
\usepackage{lscape}

\definecollection{appendixfig}

\newenvironment{appendixfig}{}{}

\makeatletter
    \newenvironment{appendixfig}[1]{%
            \appendixfig
            \@nameuse{collect*}{appendixfig}{\begin{figure}[#1]}{\end{figure}}{\begin{landscape}}{\end{landscape}}%
        }{%
            \@nameuse{endcollect*} %
            \endappendixfig
        }
\makeatother

\begin{document}
    \section{Section 1}
    \begin{appendixfig}{!htb}
        \centering
        \includegraphics[height=5cm]{images/02-merge-image}
        \caption{The picture}
    \end{appendixfig}
    
    \newpage
    \appendix
    \section{Figures}
    \includecollection{appendixfig}
\end{document}

我想说这很简单。问题是,你将在新环境中写入所有内容,即在默认图形环境中写入的内容。事实上,这并不是什么问题,问题在于,附录中的输出将是精确性与文档里面的一样...我没有找到一个很好的解决方案来传递方向angle=90, origin=cheight=0.9\textheight或其他什么。

部分解决方案可能是使用lscape包。这允许您将一些代码包装在landscape环境中,因此至少附录图像将以横向显示,但仍然与原始图像具有相同的高度/宽度。

我看到的第二个问题是标题。如果附录图标题中的编号与原始图上的编号相同,那就太好了。也许你甚至可以让 LaTeX 自动打印,在标题文本后面添加一个指向原始图像所在页面的提示。

所有这些问题通常都没有什么大不了的,但在collect环境中,我不知道如何做到这一点。


如上所述,将此答案作为起点。如果运气好的话,就会有一位更有经验的 LaTeX 开发人员或黑客出现并提供可行的解决方案。

相关内容