2

I was wondering if there was a way to put margin notes (and possible footnotes) on the adjacent page. I want to put together a document that incorporates a large amount of references and "margin definitions". Saving paper is not a concern for this particular document, and thought that it would be nice to do a one sided document for the body of the text, and have margin notes, footnotes and condensed citations on the opposite page.

Any help greatly appreciated...

2
  • It would be better if you give more infos. Why distinguish footnote and marginpar, isn't really that you want a comments page?
    – touhami
    Sep 11 '15 at 8:03
  • I want something similar to a comments page. The reason I don't consider it a comments page is that I generally consider a comments page as a construct used in the process of creating a document in a collaborative environment. You are correct that I did not have to distinguish between footnote and margin par. The reason I did however is that I generally think of a marginpar as little block of text that provides a definition or description that is used in the related text. whereas I generally think of a footnote as being something that points out some omitted detail, assumption, reference.
    – Quantifeye
    Sep 11 '15 at 9:14
3

Let start with this

Update: No need to patch \@outputbox

\documentclass{article}
\usepackage{lipsum}

\makeatletter
\newbox\mtbox
\def \@opcol {%
  \if@twocolumn
    \@outputdblcol
  \else
    \@outputpage
    \ifvoid\mtbox\else
      \let\@outputbox\mtbox
      \@outputpage
    \fi
  \fi
  \global \@mparbottom \z@ \global \@textfloatsheight \z@
  \@floatplacement
}
\gdef \@makecol {%
   \ifvoid\footins
     \setbox\@outputbox \box\@cclv
   \else
     \setbox\@outputbox \vbox {%
       \boxmaxdepth \@maxdepth
       \unvbox \@cclv
       }%
   \setbox\mtbox \vbox to\@colht {%
       \color@begingroup
         \normalcolor
         \unvbox \footins
       \color@endgroup
   }%
   \fi
   \let\@elt\relax
   \xdef\@freelist{\@freelist\@midlist}%
   \global \let \@midlist \@empty
   \@combinefloats
   \ifvbox\@kludgeins
     \@makespecialcolbox
   \else
     \setbox\@outputbox \vbox to\@colht {%
       \@texttop
       \dimen@ \dp\@outputbox
       \unvbox \@outputbox
       \vskip -\dimen@
       \@textbottom
       }%
   \fi
   \global \maxdepth \@maxdepth
}
\makeatother

\begin{document}
bla\footnote{\lipsum[1-2]}\lipsum[1-2]
bla\footnote{\lipsum[1]}\lipsum[1]
bla\footnote{\lipsum[1]}\lipsum[1-3] 
bla\footnote{\lipsum[1-2]}\lipsum[1]
bla\footnote{\lipsum[1]}\lipsum[1] 
bla\footnote{\lipsum[1]}\lipsum[1]
\end{document}

Explanation Normal latex output routine calls commands \@makecol and \@opcol

command \@makecol normally saves the content of page (body text + footnotes) into vbox \@outputbox so we change it, now the body text is saved into \@outputbox and footnotes text into new box \mtbox.

command \@opcol call \@outputpage that shipout pages. We change it, now we call \@outputpage twice, first for the body text and then for the footnotes.

2
  • The space for the footnotes is empty on the pages with text. Is it possible to change that?
    – C.-P.
    Oct 24 '19 at 6:30
  • I will try to see. Sorry but i don't have time.
    – touhami
    Oct 28 '19 at 20:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.