我正在编写一份包含许多源代码清单的技术文档。有人要求我将较长的清单放在附录中,而不是内联。有没有办法自动执行此操作?附录中对图表的引用指示在哪里可以找到它们也很重要。
答案1
我的一些读者对打断文本的浮动感到困惑。因此,将所有图形放在文档(或章节)的末尾并不是一个坏主意。强制浮动或图形的精确位置并不总是可行的,也不建议这样做,比较如何影响 LaTeX 中图形和表格等浮动环境的位置?。
但我喜欢将图形、表格等的代码保存在.tex
文件中的逻辑位置旁边。
下列平均能量损失允许两者。奇迹发生在https://ctan.org/pkg/endfloat。
\documentclass[paper=a4,twoside]{book}
\usepackage{fontspec,polyglossia}
\setdefaultlanguage[variant=usmax]{english}
\usepackage{hyperref,cleveref}
\usepackage[nomarkers, nolists]{endfloat}
\newcommand{\apref}[1]{\cref{#1} on \cpageref{#1}}
\begin{document}
\chapter{Lorem foo}
Lorem ipsum, compare \apref{fig:1}. Lorem ipsum dolor sit, see \apref{fig:1,fig:2}.
\begin{figure}
\centering
\Huge FIGURE
\caption{figure1}
\label{fig:1}
\par
\end{figure}
\begin{figure}
\centering
\Huge FIGURE
\caption{figure2}
\label{fig:2}
\par
\end{figure}
\chapter{Lorem bar}
Some text \cref{fig:3,fig:4} on \cpageref{fig:3,fig:4}.
\begin{figure}
\centering
\Huge FIGURE
\caption{figure3}
\label{fig:3}
\par
\end{figure}
\begin{figure}
\centering
\Huge FIGURE
\caption{figure4}
\label{fig:4}
\par
\end{figure}
\appendix
\end{document}