我希望有一个包含文本、图形和表格的 TeX 示例,其中生成的 DVI 中的元素顺序与 TeX 文件中的顺序不同。
我正在寻找这个,以便看看不同的解决方案如何很好地解决这个问题。
答案1
以下示例是否产生了您想要的结果?
使用和浮动[p]
上的选项意味着它们被推到它们自己的‘浮动’页面,因此“table
figure
生成的 DVI 中的元素序列与 TeX 文件中的元素序列不同。“
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum
\begin{table}[p]
\centering
\begin{tabular}{cc}
1 & 2
\end{tabular}
\caption{Table}
\end{table}
\lipsum
\lipsum[1]
\begin{figure}[p]
\centering
\rule{20pt}{10pt}
\caption{Figure}
\end{figure}
\lipsum[2]
\end{document}
答案2
你说:我希望有一个包含文本的 TeX 示例,...,其中生成的 DVI 中的元素序列与 TeX 文件中的元素序列不同。
尝试使用:
\def\swap#1#2{#2 #1}
\swap {sequence of elements} {in resulting DVI} is NOT as in the TeX file.
\bye
答案3
figure
根据此处的评论以及 TeX FAQ 条目,以下最小示例会产生无序放置:两列浮点数无序
\documentclass[twocolumn]{article}
\usepackage[demo]{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\lipsum[1-3]
\begin{figure*}
\centering\includegraphics{figure1}% This figure is on page 2
\caption{First figure} \label{figure1}
\end{figure*}
Here is a reference to Figure~\ref{figure1}.
\lipsum[4-6]
\begin{figure}
\centering\includegraphics{figure2}% This figure is on page 1
\caption{Second figure} \label{figure2}
\end{figure}
Here is a reference to Figure~\ref{figure2}.
\lipsum[7-9]
\end{document}
lipsum
提供虚拟文本,而demo
包选项graphicx
150pt
允许用x黑色矩形替换所有图像(现有或不存在)100pt
。
图形(一般为浮动图形)不按顺序排列的原因是 TeX 为单列和双列浮动图形保留了单独的 FIFO 列表。由于第一个图形figure
放在单列浮动图形列表中(使用带星号的版本*
),而第二个图形放在双列浮动图形列表中但仍可容纳在页面上,因此会先排版。延迟的第一个图形figure
会排版在第 2 页上,因为这是双列模式下跨多列浮动图形的默认行为。
解决方案是使用fixltx2e
包裹它使用单个 FIFO 列表来处理延迟浮点数。