将文本和脚注放在不同的页面上

将文本和脚注放在不同的页面上

我怎样才能将文档的正文仅放在左页,而将脚注放在右页(或反之亦然)?

更新:

预期的外观与将整个脚注区域移动到下一页没有什么不同。像这样的简单解决方案应该可行,但实际上却不行:

\renewcommand\footnoterule{\newpage}

更新:

我自己在这方面取得了一些小进展。footnote作为的一部分,该包mdwtools有一个名为的命令\savenotessavenotes环境和spewnotes命令。

  • savenotes- 这告诉它保存笔记。
  • savenotes环境- 此处之间的文本位置已保存。
  • spewnotes- 这告诉它打印笔记。

此代码将显示一些文本,但将脚注放在下一页:

\documentclass{article}
\usepackage{footnote}
\begin{document}
    \savenotes
    This is some text.\footnote{This is a footnote.}
    \newpage
    \spewnotes
\end{document}

不幸的是,这似乎与不兼容footmisc

更新:

我发现这个页面解释了如何将文本放在正面,将图形放在反面:

左页有图片,右页有正文,课本上有页码

经过一些修改,脚注可以放在左侧页面上:

\documentclass{book}
\usepackage{afterpage}
\usepackage{blindtext}
\makeatletter
\newcommand\@addfig{\relax}
\newcommand\addfig[1]{\global\long\def\@addfig{#1}}
\newcommand\@putfig{\@addfig\addfig{\relax}}
\newcommand\blankpage{%
    \null
    \@putfig%
    \thispagestyle{empty}%
    \addtocounter{page}{-1}%
    \clearpage
\afterpage{\blankpage}}
\makeatother
\begin{document}
    \afterpage{\footnote{This is in the right place.}\blankpage}
    \blindtext
    \Blindtext
    \Blindtext
    \Blindtext
    \Blindtext
    \Blindtext
\end{document}

所有内容的放置似乎都很好,但脚注并没有真正发挥应有的作用。

答案1

这更像是一个可能的解决方案的路线图:你可以拆分footnote,即使用\footnotemark\footnotetext。然后你“收集”\footnotetext一个反面页面的所有内容,并在分页符后发布收集的内容。表脚注软件包对表格做了类似的事情:收集表格中出现的所有脚注,并在环境结束时(即之后)发出table收集到的脚注。\footnotetext

编辑

获取您的代码hyperref并滥用tablefootnote我得到了这个:

\documentclass{book}
\usepackage{hyperref}
\usepackage{tablefootnote}
\usepackage{afterpage}
\usepackage{blindtext}
\makeatletter
\newcommand\@addfig{\relax}
\newcommand\addfig[1]{\global\long\def\@addfig{#1}}
\newcommand\@putfig{\@addfig\addfig{\relax}}
\newcommand\blankpage{%
    \null
    \@putfig%
    \thispagestyle{empty}%
    \addtocounter{page}{-1}%
    \clearpage
    \afterpage{\spewtfn \blankpage}}
\def\spewtfn{%
\tfn@tablefootnoteprintout%
\gdef\tfn@fnt{0}%
}
\makeatother
\begin{document}
    \afterpage{\spewtfn \blankpage}
    \blindtext\tablefootnote{This is in the right place.}\tablefootnote{Another one.}
    \Blindtext
    \Blindtext\tablefootnote{A third one.}
    \Blindtext
    \Blindtext
    \Blindtext
\end{document}

但这意味着您将在放置脚注标记的页面背面获得脚注文本。您想要这个吗?

答案2

由于你没有描述它有什么用处,所以很难猜测确切地你需要。这是第一个可运行的版本:

我定义了一个比您需要的页面大两倍的页面。我假设是 A4,所以我做了一个 A3 页面。现在您希望左侧显示文本,右侧显示脚注。因此,我将“正文”部分定义为文本,将“边注”部分定义为脚注。在提供宏以使边注正常工作后,您就可以开始了,软件包marginfix会负责对齐。

\documentclass{article}

\usepackage[paperwidth=420mm, paperheight=297mm, left=15mm, top=15mm, textwidth=180mm, marginparsep=30mm, marginparwidth=180mm, textheight=257mm, footskip=15mm]{geometry}

\usepackage{lipsum}
\usepackage{marginfix}
\usepackage{xifthen}
\makeatletter
\newcommand*{\sidestyle}{\footnotesize}
\newcounter{sidenote} % make counter
\newcounter{@sidenotes@buffer}
\setcounter{sidenote}{1} % init counter

\newcommand{\sidenote}[2][]{%
\ifthenelse{\isempty{#1}}%
{\sidenotemark%
\sidenotetext{#2}}%
{\sidenotemark[#1]%
\sidenotetext[#1]{#2}}%
}
\newcommand{\sidenotemark}[1][]{%
\nobreak\hspace{0.1pt}\nobreak%
\ifthenelse{\isempty{#1}}%
{\textsuperscript{\thesidenote}%
\refstepcounter{sidenote}}% if no argument is given use sidenote counter%
{\setcounter{@sidenotes@buffer}{\value{sidenote}}%
\setcounter{sidenote}{#1}%
\textsuperscript{\thesidenote}% print out the argument otherwise
\setcounter{sidenote}{\value{@sidenotes@buffer}}}%
\@ifnextchar\sidenote{\textsuperscript{,}}{}%
\ignorespaces%
}%
\newcommand{\sidenotetext}[2][]{%
\ifthenelse{\isempty{#1}}{% sitenotemark given?
\addtocounter{sidenote}{-1}%
\marginpar{\textsuperscript{\thesidenote}{} \sidestyle#2}%
\addtocounter{sidenote}{1}}%
{\marginpar{\textsuperscript{#1} \sidestyle#2}%
}% fi
}%
\makeatother

\pagestyle{empty}

\begin{document}
\lipsum*[1]\sidenote{\lipsum[2]}

\lipsum*[3-4]\sidenote{\lipsum[4]}

\lipsum*[5]\sidenote{\lipsum[6]}

\lipsum*[7-9]\sidenote{\lipsum[8]}

\lipsum*[9]\sidenote{\lipsum[10]}

\lipsum*[11]\sidenote{\lipsum[12]}

\lipsum*[13]\sidenote{\lipsum[14]}

\lipsum*[1]\sidenote{\lipsum[2]}

\lipsum*[3-4]\sidenote{\lipsum[4]}

\lipsum*[5]\sidenote{\lipsum[6]}

\lipsum*[7-9]\sidenote{\lipsum[8]}

\lipsum*[9]\sidenote{\lipsum[10]}

\lipsum*[11]\sidenote{\lipsum[12]}

\lipsum*[13]\sidenote{\lipsum[14]}
\end{document}

示例图片

页码编号等还需要做更多工作。

答案3

footnote 与 footmisc 软件包之间的问题在于许可问题;我想将它们合并,但 footnote 的作者坚持结果应为 gpl——我想尊重 footmisc 的原始许可证。(我现在与 footnotes 的作者失去了联系;我想我现在可能会做出其他决定……)

但是,我不确定脚注是否是完成这项工作的明显方法。我宁愿考虑破解 Endnote,毕竟,它的人生目标是将“注释”放在它们被命名的页面之外。但是,要让注释的顺序正确,如果我不做些小努力的话,就无法做到......

相关内容