Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

How can I place the main text of a document on only verso (left) pages and the footnotes on recto (right) pages (or vice versa)?

Update:

The expected appearance is not unlike moving the whole footnote area to the next page. A simple solution like this should work, but does not:

\renewcommand\footnoterule{\newpage}

Update:

I have made some small progress on this on my own. The footnote package, as part of mdwtools has a command called \savenotes, savenotes environment, and spewnotes command.

  • savenotes - This tells it to save notes.
  • savenotes environment - Text places between here are saved.
  • spewnotes - This tells it to print the notes.

This code will display some text, but put the footnotes on the next page:

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

Unfortunately, this appears to be incompatible with footmisc.

Update:

I have discovered this page which explains how to put text on recto and figures on verso pages:

Figures on left pages, text on right ones with class book, numbering only on right pages

With some modification, footnotes can be placed on the left-hand pages:

\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}

The placement of everything seems fine, but the footnotes are not truly functioning as they should.

share|improve this question
1  
This is such an uncommon layout in the history of books that I dare to ask: what do you attempt to do? –  Keks Dose Nov 29 '11 at 9:24
2  
@KeksDose: Right? I do hope that we get a chance to see the end result. It's either going to be the most beautiful document crafted by human hands, or something unspeakable! Edit; Village just passed 1000 rep, with only 45 of that coming from answers! –  qubyte Nov 29 '11 at 12:19
    
@MarkS.Everitt Good observation! In case he likes to play around a bit in opposite to e.g. prepare a critical edition to a given text (text: left side, numbered annotations on the right side), I do not expect this to lead to anything usefull. –  Keks Dose Nov 29 '11 at 12:43
4  
@KeksDose: Village likes to ask some awkward questions. This is good, and a non-trivial amount of my rep has come from trying to answer them! Sadly I have no ideas for this one so I should probably stop adding comments... –  qubyte Nov 29 '11 at 12:58
    
With the savenotes environment, you would have to take care of all page breaks by yourself. That means either a lot of work or braking e.g. microtype goodness and such. –  Andy Nov 30 '11 at 6:04
add comment

3 Answers 3

up vote 1 down vote accepted
+100

This is more of a possible roadmap to a possible solution: You could split the footnote, i.e. use \footnotemark and \footnotetext. Then you "gather" all \footnotetext of one verso page, and issue the gathered contents after a page break. The tablefootnote package does something similar for tables: gathering all footnotes occurring in a table, and at the end of (i.e. after) the table-environment the gathered \footnotetexts are issued.

EDIT

Taking your code, hyperref, and abusing tablefootnote I got this:

\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}

But that would mean that you get the footnote-text at the backside of the page where the footnote mark was placed. Do you want this?

share|improve this answer
    
The main text of the document is continuous. I have updated my question to include a solution for how to have the text continue automatically from one verso page to the next verso page, but it is still not complete. I tried combining the everyshi package with that, but I could not get it to display more than 1 footnote per page. It seems that each time \AtNextShipout is used to store more code (footnotetext) for later use, all previous code is overwritten, so I can only use \AtNextShipout once per page and only one footnote will appear at a time. –  Village Nov 30 '11 at 14:01
    
@Village: Please see the edited answer. As hyperref complains about pages with the same identifier (if you use hyperref at all), you might want to save the page number, change to another page numbering scheme for the blank/footnote page, change the page numbering scheme back and reset the page number to continue from the old value. –  Stephen Nov 30 '11 at 18:37
    
Your solution works quite well. I will try to determine how to shift everything such that the text is on the verso and footnotes on the recto. I do not use hyperref, but I have found that the lines \thispagestyle{empty} and \addtocounter{page}{-1} are not so important to the solution (they were just part of the code which I found). –  Village Dec 1 '11 at 12:48
    
@Village: Many thanks for offering the bounty even after you received the answer! (And for granting it, of course.) –  Stephen Dec 3 '11 at 19:09
add comment

Since you are not describing what this is good for, it is difficult to guess what exactly you need. Here is a first, working version:

I defined a page twice as big as the one you need. I assumed A4, so I made a A3 page. Now you want the text on the left side and the footnotes on the right side. So I defined the 'body' section to be for your text and the 'margin notes' section to be for your footnotes. After providing the macros for the sidenotes to work, you are ready to go, the marginfix package takes care of the alignment.

\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}

example image

Page numbering etc will need some more work.

share|improve this answer
    
Hmm... If the solution involves making a very large page, wouldn't it be a lot easier to use the Marginnote package to create the footnotes in the right margin? –  Peter W Gallagher Nov 29 '11 at 22:09
    
The problem with this solution (and with solutions using marginnote), is that if a few more notes are used, it quickly reports "too many unprocessed floats". –  Village Nov 30 '11 at 5:07
    
@PeterWGallagher: marginpars are advantagous here, because the marginfix package takes care of proper alignment, i.e. no overlaps and respects the lower edge of the text height. –  Andy Nov 30 '11 at 6:06
1  
@Village: I never had a problem, if you get the error just add \usepackage{morefloats}. –  Andy Nov 30 '11 at 6:08
add comment

the problem with footnote vs. footmisc packages is a licensing issue; i wanted to merge them, but the author of footnote insisted that the result should be gpl -- i wanted to honour the original licence of footmisc. (i'm now out of touch with the author of footnotes; i think i might decide otherwise nowadays...)

however, i'm not sure footnote is the obvious way to do the job. i would rather think about hacking endnote, whose aim in life is, after all, putting "notes" on pages other than where they're called. getting the order of notes right, however, is more than i can work out without a wet-towel session...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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