我正在尝试在一个原本为纵向的文档中插入一个横向的浮动图形。该图形插入正常,但不知何故它遮住了插入位置的一页文本。
以下是一些背景信息:我正在使用 LyX (v2.03) 和自定义模板来满足我校的论文格式要求(可从http://cpbl.wordpress.com/2010/01/24/ubc-thesis-under-lyx-manuscript-based-thesis-under-latex/)。我在之前的章节中在同一文档中有两个这样的横向环境(一个表格,一个图形),但它们都没有出现相同的问题。这三个环境都使用了相同的代码来插入横向页面。当我将“问题图形”放在表现良好的横向图形的位置时,它似乎没问题,但将早期的图形复制到与“问题图形”相同的位置确实给出了所需的结果,没有缺少文本。逐渐重新引入“问题图形”中的元素表明,在文本中引用此图形会产生问题,但我不知道如何解决这个问题(“表现良好”的图形也在文本中被引用,以相同的方式和相对于图形的相同位置,没有问题)。将图形的代码放在前面小节的末尾会导致所有文本正确显示,但这意味着我的图形出现在对它的任何引用之前,这是我被告知要为早期图形修复的问题。类似地,将图形的代码放在下一小节的开头会显示我的所有文本,并在图形之前提供引用,但这意味着我的图形在文本中出现的时间比对该图形的讨论要晚得多(不一定是该解决方案的致命问题,但肯定也不是理想的选择)。再次将其与“表现良好”的图形进行比较,该图形的代码也插入到引用它之前的小节的末尾,但在这种情况下,浮动恰好在最终文档中给出了适当的引用和图形顺序。
我的问题是;为什么我会丢失这些文字,而且为什么只在这种情况下?
我尝试过制作 MWE,但无法让问题重现。以下内容至少可以让您了解正在使用哪些软件包以及我正在尝试做什么:
\documentclass[british,english]{ubcthesis}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{graphicx}
\makeatletter
\usepackage{lipsum}
\usepackage{ifthen}
\usepackage{afterpage}
\usepackage{pdflscape}
\usepackage{float}
\usepackage[unicode=true,
linktocpage,
linkbordercolor={0.5 0.5 1},
citebordercolor={0.5 1 0.5},
linkcolor=blue,breaklinks]{hyperref}
\makeatother
\usepackage{babel}
\begin{document}
\setboolean{@twoside}{false}
\chapter{Chapter 1}
\lipsum
\afterpage{\begin{landscape}
\begin{figure}
\includegraphics{fig.eps}
\caption{a landscape figure\label{fig:a-landscape-figure}}
\end{figure}
\end{landscape}
}
\lipsum
\ref{fig:a-landscape-figure}
\lipsum
\chapter{Chapter 2}
\lipsum
\afterpage{\begin{landscape}
\begin{figure}
\includegraphics{fig.eps}
\caption{another landscape figure\label{fig:another-landscape-figure}}
\end{figure}
\end{landscape}
}
\lipsum
\ref{fig:another-landscape-figure}
\lipsum
\end{document}
答案1
\afterpage{\begin{landscape} \begin{figure}
是一种相对脆弱和可怕的操作(好吧,无论如何它都让我害怕:-) 并且它没有给图形定位提供太多的灵活性。
使用rotating
包和
\begin{sidewaysfigure}
没有afterpage
和lscape
代码。