文本块环境 (textpos) 出现不必要的垂直偏移

文本块环境 (textpos) 出现不必要的垂直偏移

以下是 MWE 显示我的问题:

\documentclass[11pt]{article}
\usepackage[absolute,overlay]{textpos}
\TPGrid{1}{1}

\begin{document}
  Line 1
  \begin{textblock}{1}(0,0)
    My overlay
  \end{textblock}
  Line 2
\end{document}

构建该文档后,您可以看到“第 2 行”部分打印在“第 1 行”上。

我的问题是:如何避免这种垂直转变?

请不要提出添加\vspace{...},因为对于我的目的来说,我需要精确定位(动画beamer)。

答案1

文本块实际上应该在垂直模式下使用,如果文本块以水平模式开始,它将强制生成一个新段落,因此这在某种程度上是不受支持的领域。TeXnical 的原因(简要考虑一下)是,这会导致textblock段落中的“第 2 行”与其上方的“第 1 行”分离,因此 TeX 会“忘记”它位于段落中间,因此必须添加段落间间距(即,这里没有向上的垂直移动,而是缺少 TeX 本来会添加的向下的段落间空间)。

但是在这种情况下,textpos 改为调整间距和惩罚,使水平模式下的文本块最终表现得更像\par(那就是我在编辑它),这并非不合理,也不一定特别困难。不过,这不会立即发生。

但是,在这种情况下,以及使用当前版本的 textpos,最可靠的解决方案是将文本块以某种方式/某处移动,以便它最终位于段落之间。这样会更快乐!在 beamer 环境中(虽然我对 beamer 不太有经验),将文本块(或文本块?)全部放在框架的开头可能值得一看。

我已经添加仓库中的一个问题。感谢您报告此事。

编辑:澄清‘不会不合理’的言论。

答案2

把 放在一边textblock

\documentclass[11pt]{article}
\usepackage[absolute,overlay]{textpos}
\TPGrid{1}{1}

\begin{document}
  Line 1

  Line 2
  \begin{textblock}{1}(0,0)
    My overlay
  \end{textblock}
\end{document}

相关内容