4

Some documents that require a considerable number of footnotes, many containing several lines. It makes sense to use the tufte-book class with large margins. I decided to reserve the right pages of a book for footnotes and the left pages for document text. I can then fold the page in the middle to form a single "page" composed of document text (left side) and footnotes (right side). The output of the provided code (see the first and second image) illustrates this. Notice that I included frames in this output. I also made the pages "short" to save space. Documents of this type normally include an index. I would like to use the full width environment to place index columns on the left and right side of pages. As you can see from the sample output the third index column falls in the portion of the page that must be blank for inner margins and binding gutters for the left and right sides. The third image shows the desired placement of the index items. The third and fourth columns need to be moved to the right. I need a way to add some space to the full width environment or to add extra space between the second and third columns of the index so that nothing is placed between the second and third vertical (show frame) lines. Of course, I am open to suggestions for using a different strategy.

 \documentclass{tufte-book}% \geometry{ showframe, paperwidth=11in, paperheight=3.75in,%8.5in, textwidth=4.125in, left=0.5in, right=0.5in, top=0.25in, headsep=.2in, bottom=0.5in, marginparsep=1.75in,%1.67in,% marginparwidth=4.125in,%3.33in, includemp, includehead }% \usepackage{makeidx}% \usepackage[columns=4]{idxlayout}% \makeindex% \let\cleardoublepage\clearpage% \begin{document} Some document text on the left side.\footnote{Sample footnote on the right side (wide margin).} % \index{item 1} % \index{item 2} % \index{item 3} % \index{item 4} % \index{item 5} % \index{item 6} % \index{item 7} % \index{item 8} % \begin{fullwidth} \printindex \end{fullwidth} \end{document} 

enter image description here

Correct setup

10
  • tex.stackexchange.com/questions/36486/… probably offers better approaches. Commented Jul 10 at 1:06
  • I used the tufte book class because it handles the placement of the notes and allows for longer notes. This approach is working for large documents with many footnotes. Formatting the index is the only problem I am having. Commented Jul 10 at 7:44
  • well, there are other issues with the tufte classes, so it depends how long you want it to work for and whether you might want to make an accessible version, for example. if this is just for a one-off you are going to print and be done with, that's different. Commented Jul 10 at 10:07
  • idxlayout just uses multicol for the index. but it includes code to make it work with various classes. there are a bunch of potential problems here: (1) it is not designed for tufte classes, (2) tufte and idxlayout are both rather old, while latex and multicol have undergone substantial changes. but, in general, setting up something to look like something rather than to be something should be a last resort. if you want footnotes on separate pages, put them on separate pages. but what should happen if the footnotes exceed the page? should you then get a blank left page? Commented Jul 10 at 10:20
  • I awarded the bounty to your answer. I have not set your method up with my files. To answer your two comments, I have not had any difficulties with the setup I posted. One reason I like the tufte class is that it places the footnotes beside the text containing the footnote. This is a big plus. The footnote location is easily adjusted. You wrote, "but what should happen if the footnotes exceed the page? should you then get a blank left page?" I have not had this problem, but I do have a "fix" in case it does. What happens with your solution? Commented Jul 16 at 8:03

2 Answers 2

3
+100

Since some pick-answer appears to have made off with all my warning signs at dead of night: It isn't my fault.


I suggest not abusing the tuftebook class for this purpose and instead writing your footnotes on a distinct page. The question I linked has a solution based on tablenotes, but I don't think that is necessary - at least with current LaTeX, you can roll your own.

This is a very crude proof-of-concept. It deals only with absolutely normal footnotes and it assumes that the height required to typeset the notes never exceeds the height of the text referring to them. It is also not at all careful about replicating footnote spacing etc.

The optional argument to \footnote is tolerated, but currently ignored. The mark is simply a superscripted arabic representation of the current footnote counter's value.

I could not get good results using idxlayout, so I removed it since the default is two columns in any case. I don't think the layout problem I experienced with the package is a result of my efforts, but I did not actually check.

footnotes on next page with 4 columns of index per double page spread

Code:

\documentclass{book} % ateb: https://tex.stackexchange.com/a/747575/ \usepackage{geometry} \geometry{ showframe, verbose, paperwidth=5.5in, paperheight=3.75in, textwidth=4.125in, left=0.5in, top=0.25in, headsep=.2in, bottom=0.5in, marginparsep=0in, marginparwidth=0in, includemp, includehead } \makeatletter \ExplSyntaxOn \tl_new:N \g_tom_footnotes_tl \cs_new:Npn \tom_footnote:n #1 { \footnotemark \tl_set:Ne \l_tmpa_tl { \int_to_arabic:n { \the\c@footnote } } \tl_gput_right:Nn \g_tom_footnotes_tl { \reset@font\footnotesize } \tl_gput_right:Ne \g_tom_footnotes_tl { \exp_not:N \textsuperscript{ \l_tmpa_tl } } \tl_gput_right:Nn \g_tom_footnotes_tl { \rule\z@\footnotesep\ignorespaces #1\@finalstrut\strutbox\par } } \hook_gput_code:nnn { shipout/after } {.} { \group_begin: \g_tom_footnotes_tl \group_end: \tl_gclear:N \g_tom_footnotes_tl \clearpage } \RenewExpandableDocumentCommand \footnote { o +m } { \tom_footnote:n { #2 } } \ExplSyntaxOff \makeatother \usepackage{makeidx} \usepackage{kantlipsum} \makeindex \begin{document} Some document text on the left side.\footnote{Sample footnote on the right side (wide margin).} % \index{item 1} % \index{item 2} % \index{item 3} % \index{item 4} % \index{item 5} % \index{item 6} % \index{item 7} % \index{item 8} % \kant[1-2] Something else goes here\footnote{Another footnote.}. And some more indexed items\index{items}\index{more items}\index{items}. \index{another item 1} % \index{another item 2} % \index{another item 3} % \index{another item 4} % \index{another item 5} % \index{another item 6} % \index{another item 7} % \index{another item 8} % \printindex \end{document} 
4
  • 2
    Sorry for using your warning signs... just thought it'd be a good way to draw attention to unstableness of stuff... but anyways, didn't know you would object to this. If you want me to cease doing that, I will do so and remove all my answers w/ such signs immediately. And apparently that line is ironic because it's fine print. Commented Jul 10 at 2:32
  • 1
    @John don't worry. it's fine. it just feels a little weird ;). Commented Jul 10 at 9:41
  • Well... sorry... but I've cited you... maybe I should indicate that it's not a quote related to this answer... it's a bit misquoting... Commented Jul 10 at 14:03
  • On the other hand, in order for you to get the first sentence out, I've encouraged you to spend time answer a highly techincal answer by stealing your warning signs and using the fact that you might say something. And... this worked! Commented Jul 10 at 16:27
1

Caveat Emptor

EVERYTHING is likely to break in here. If it breaks, you get to keep all the pieces. Index must be the last element in your document. It'll spit out an extra page because of stuff regarding the page number alignment that I do not know how to debug.

However, if you only have some text and then an index, you're likely good. Adjust the index stuff in the pgfpages thing... it's an abuse of pgfpages to basically nest multiple columns, and I used KOMA-script to be able to have different page sizes and I don't know if very well so I hacked my way around \setlengths.

Do not try this at home! Not intended for individual, collective, aggregative, national, international, supranational, global, solar, intersystem, intergalactic or universal use for commercial, non-commercial, public, private, semi-private or third sector purposes.

Void where prohibited by your local TeX Guru. Void where prohibited by TeX Gurus International. Not suitable for persons under the age of 1096. Extraterrestrial supervision advised. Do not use if seal is broken. Discard after expiry date. Best consumed in the light of a supernova.

--- @cfr (her disclaimer on other answers)

 \documentclass[oneside]{tufte-book}% \usepackage{typearea} \usepackage{pgfpages} \usepackage{lipsum} \usepackage{makeidx}% \KOMAoptions{paper=11in:3.5in,paper=landscape,DIV=calc, BCOR=0mm} \usepackage{calc} % For calculations, if needed \usepackage{etoolbox} \setlength{\textwidth}{4.125in} \setlength{\oddsidemargin}{0.5in - 1in} % Because LaTeX adds 1in offset \setlength{\evensidemargin}{\oddsidemargin} \setlength{\topmargin}{0.25in - 1in} % LaTeX adds 1in offset \setlength{\headsep}{0.2in} \setlength{\textheight}{\paperheight - 0.25in - 0.5in - \headheight - \headsep} \setlength{\marginparsep}{1.75in} \setlength{\marginparwidth}{4.125in} \pgfpagesdeclarelayout{2 on 1 landscape side by side} { \edef\pgfpageoptionborder{0pt} } { \pgfpagesphysicalpageoptions {% logical pages=2, physical height=3.5in, physical width=11in, } \pgfpageslogicalpageoptions{1} {% resized width=4.125in, center=\pgfpoint{2.75in}{1.75in} } \pgfpageslogicalpageoptions{2} {% resized width=4.125in, center=\pgfpoint{8.25in}{1.75in} } } \pgfpagesdeclarelayout{1 on 1} { \edef\pgfpageoptionborder{0pt} } { \pgfpagesphysicalpageoptions {% logical pages=1, physical height=3.5in, physical width=11in, } } \newcounter{physicalpage} \newcounter{prevpage} \makeatletter \patchcmd{\pgfpages@buildshipoutbox}{% \pgfsys@endpicture }{% \stepcounter{physicalpage}% \setbox0\vbox{\makebox[0pt][c]{\the\numexpr\value{physicalpage}+\value{prevpage}-1\relax}}% \pgfsys@beginscope \pgflowlevel{\pgftransformshift{\pgfpoint{.5\pgfphysicalwidth}{5mm}}}% \wd0=0pt% \dp0=-\ht0% \pgfsys@hbox0% \pgfsys@endscope \pgfsys@endpicture }{}{} \makeatother \KOMAoptions{headinclude=true, mpinclude=true} \usepackage[columns=2]{idxlayout}% \makeatletter % Syntax: \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>} \patchcmd{\ila@prologue} {\chapter*} % <- code you want to find {\section*} % <- replacement code {\typeout{Patch successful}} % <- on success {\typeout{Patch failed}} % <- on failure \makeatother \makeindex% \let\cleardoublepage\clearpage% \begin{document} Some document text on the left side.\footnote{Sample footnote on the right side (wide margin).} % \index{item 1} % \index{item 2} % \index{item 3} % \index{item 4} % \index{item 5} % \index{item 6} % \index{item 7} % \index{item 8} % \index{item 0} % \index{iitem 2} % \index{iitem 3} % \index{iitem 4} % \index{iitem 5} % \index{iitem 6} % \index{iitem 7} % \index{iitem 8} % \index{major-general} \clearpage Random text\footnote{Footnote} \index{integral calculus} More text! \footnote{\lipsum[1]} \index{Differential Calculus} \index{Calculus} \index{Alpha} \index{Beta} \index{Test}\index{Overflow}\index{Stack}\index{\LaTeX}\index{\TeX}\index{jellyfish} \index{tangle}\index{weave} \clearpage \setcounter{prevpage}{\value{page}} \pagestyle{empty} \KOMAoptions{paper=4.125in:2.6333in,paper=landscape} \areaset{4.125in}{2.6333in} \pgfpagesuselayout{2 on 1 landscape side by side}[a4paper, border shrink=5mm, landscape] \setlength{\marginparsep}{0in} \setlength{\marginparwidth}{0in} \recalctypearea {\let\clearpage\relax\printindex} \clearpage\null\clearpage\null \end{document} 
0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.