使用 paracol 包解决脚注问题

使用 paracol 包解决脚注问题

看看这个简单的代码:

\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{paracol}

\begin{document}

Hello world!\footnote{A simple footnote.}

\columnratio{0.1}
\begin{paracol}{2}
D1.1
\switchcolumn
This is a simple definition.
\end{paracol}

This is a simple sentence.\footnote{Another simple footnote!}

\end{document}

它产生了完全奇怪的输出。(抱歉,我不允许上传图片。)

为什么第一个脚注出现在 paracol 环境的正上方?我做错了什么?

答案1

在此处输入图片描述

paracols结束当前页面,因此在开始多列布局之前放置脚注。

如果您不想这样,您可以重新定义事物,这样它只会存储脚注,然后您可以在环境之后或任何合适的地方检索它。

\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{paracol}

\setlength\textheight{.3\textheight}

\makeatletter
\newbox\mybox
\def\pcol@makenormalcol{%
  \ifvoid\footins 
  \else
\global\setbox\mybox\box\footins
   \fi
\setbox\@outputbox\box\@holdpg
  \let\@elt\relax
  \xdef\@freelist{\@freelist\@midlist}%
  \global\let\@midlist\@empty
  \@combinefloats}

\makeatother

\begin{document}

Hello world!\footnote{A simple footnote.}

%\columnratio{0.1}% this generates an error
\begin{paracol}{2}
D1.1
\switchcolumn
This is a simple definition.
\end{paracol}
\ifvoid\mybox\else\insert\footins{\unvbox\mybox}\fi

This is a simple sentence.\footnote{Another simple footnote!}

\end{document}

相关内容