我想将大多数图表和表格放在一起(在同一页中)并放在最后,同时将其中一个留在文中引用的地方。
现在,我使用
\usepackage[nolists,noheads,nomarkers]{endfloat}
\renewcommand{\efloatseparator}{\mbox{}}
第二种是在每个数字后面挡住分隔符。
效果很好,只是会把图表放在单独的页面中。要求最多两页附图和表格。
我仍然有一个问题:如何在文本中保留其中一个图形。
答案1
这一切都很容易使用caption
包裹. 以通常的方式将您所引用的图形插入到您的文档中,并将所有剩余的图形/表格添加到一个浮点数(或两个,如果需要)内。
\documentclass{article}
\usepackage{caption,lipsum}% http://ctan.org/pkg/{caption,lipsum}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\section{A section}
\lipsum[1]
\begin{figure}[ht]
\caption{This is a figure referenced in the document}
\end{figure}
\lipsum[2-50]
\clearpage
\begin{figure}[ht]
\centering
\rule{100pt}{20pt}
\captionof{table}{This is a table}
\rule{100pt}{20pt}
\captionof{table}{This is a table}
\rule{100pt}{20pt}
\captionof{figure}{This is a figure}
\rule{100pt}{20pt}
\captionof{figure}{This is a figure}
\rule{100pt}{20pt}
\captionof{table}{This is a table}
\end{figure}
\end{document}
caption
's\captionof{<float>}{<caption>}
允许您指定 的标题,<float>
即使您处于不同的浮动环境中。在我的 MWE 中,我将figure
和的标题混合table
在单个figure
浮动环境中。
答案2
您可以执行以下操作:
继续加载
endfloat
包,但将其参数\efloatseparator
从\clearpage
(默认值)更改为\bigskip
:\renewcommand{\efloatseparator}{\bigskip}
如果这会产生太多垂直空白,不符合您的口味,请尝试
\medskip
或\smallskip
。(我不会完全抑制浮点数之间的空白。)为了抑制
\clearpage
插入在尾图和尾表之间的内容,请尝试以下操作(插入到序言中,后包endfloat
已加载):\usepackage{etoolbox} \makeatletter \patchcmd{\efloat@process}{{\normalsize\efloat@listof{#2}}\clearpage}% {{\normalsize\efloat@listof{#2}}}{}{}{} \makeatother
唯一
figure
值得的是不是应该放在文档后面,不要使用显式figure
环境。相反,一定要加载包caption
,将图表放在文本中应该放的位置,然后发出命令\captionof{figure}{<Caption of figure here>}
在加载图形的代码之前或之后。
如果需要将单独的文内图片自动放置在页面顶部,可以加载
afterpage
包并执行以下操作\afterpage{ <code that loads the figure> <\captionof code>}
默认情况下,LaTeX 不允许在一页上放置大量浮动元素。要覆盖默认设置,可能需要发出以下命令
\setcounter{topnumber}{10} \setcounter{bottomnumber}{10} \setcounter{totalnumber}{10}
当然,如果每页有超过 10 个浮点数,请调整上述代码以满足您的需要。