1

In the reference list section of my paper, there is one reference alone occupying/creating one extra page, which is something i do not want.

What could be a solution for changing this without affecting the margins?

my references are created as usual by the commands,

\newpage
\section*{References}
\bibliographystyle{chicago}
\bibliography{references}

and come to the very end of my paper.

Many thanks

1

I can provide what you ask, but I don't advocate your chosen approach, since it makes one page of slightly different font size than all the rest. But here it is, BASED ON MY ANSWER AT Making the text fit in a specific space in Latex

First, this MWE sets up all the required routines in the preamble, but for the first run, I comment out the relevant invocation in the document. This is to both see what we have to work with, and to create the .bbl file, since my method will be unhappy without its existence.

\documentclass[12pt]{article}
\bibliographystyle{unsrt}
\usepackage{scalerel}
\usepackage{fp}
\usepackage{lipsum}
\usepackage{stackengine}
\newcount\boxheight
\newcount\boxwidth
\newlength\constrainedwidth
\newsavebox\testbox
\newlength\currentwidth

\newcommand\aspect[1]{%
  \boxheight=\ht#1\relax%
  \boxwidth=\wd#1\relax%
  \FPdiv\testaspect{\the\boxheight}{\the\boxwidth}%
%\testaspect\\%                  COMMENT THIS LINE TO REMOVE ASPECT-RATIO PRINTS
}
% TARGET-HEIGHT, TARGET-WIDTH, CONTENT, GUESS>NATURAL-WIDTH, dWIDTH
\newcommand\constraintext[5]{%
  \def\svfboxsep{\the\fboxsep}%
  \setlength\fboxsep{0pt}%
  \setlength\constrainedwidth{#2}%
  \sbox\testbox{\rule{#2}{#1}}%
%TARGET ASPECT RATIO\\%          COMMENT THIS LINE TO REMOVE COMMENT
%V\\%                            COMMENT THIS LINE TO REMOVE COMMENT
  \aspect{\testbox}%
  \edef\aspectratio{\testaspect}%
  \constrainsize{#1}{\aspectratio}{#3}{#4}{#5}%
  \setlength\fboxsep{\svfboxsep}%
}
\newcommand\constrainsize[5]{%
  \sbox{\testbox}{\fbox{\parbox[b]{#4}{#3}}}%
  \aspect{\testbox}%
  \FPiflt{\testaspect}{#2}%
    \setlength{\currentwidth}{#4}%
    \addtolength{\currentwidth}{-#5}%
    \constrainsize{#1}{#2}{#3}{\currentwidth}{#5}%
  \else
    \setlength\constrainedwidth{#1}%
    \FPdiv\result{1.0}{#2}%
%                               CHANGE \makebox TO \framebox TO add FRAME
    \boxtype[\result\constrainedwidth]{\hfill%
      \scaleto{\parbox[b]{\currentwidth}{#3}}{#1}%
      \hfill%
    }%
  \fi%
}

\begin{document}
\let\boxtype\framebox% CHANGE TO \let\boxtype\makebox WHEN HAPPY
\large
Citing \cite{goossens93, goossens93a, knuth79, knuth79a, lamport94,
lamport94a, goossens93b, knuth79b, lamport94b}\clearpage

%\noindent\constraintext{.97\textheight}{\textwidth}{\vspace{-\baselineskip}%
\bibliography{refs}%
%}{1.6\textwidth}{1mm}

\end{document}

I borrowed some bib entries from Multiple bibliographies and made duplicate variants for my purposes, so that my bib file (refs.bib) is as follows:

@book{goossens93,
    author = "Michel Goossens and Frank Mittlebach and Alexander Samarin",
    title = "The Latex Companion A",
    year = "1993",
    publisher = "Addison-Wesley",
    address = "Reading, Massachusetts"
}

@book{goossens93a,
    author = "Michel Goossens and Frank Mittlebach and Alexander Samarin",
    title = "The Latex Companion A",
    year = "1993",
    publisher = "Addison-Wesley",
    address = "Reading, Massachusetts"
}

@book{goossens93b,
    author = "Michel Goossens and Frank Mittlebach and Alexander Samarin",
    title = "The Latex Companion A",
    year = "1993",
    publisher = "Addison-Wesley",
    address = "Reading, Massachusetts"
}

@book{knuth79,
    author = "Donald E. Knuth",
        title = "Tex and Metafont, New Directions in Typesetting",
    year = {1979{(}1950{)}},
    publisher = "American Mathematical Society and Digital Press",
    address = "Stanford"
}

@book{knuth79a,
    author = "Donald E. Knuth",
        title = "Tex and Metafont, New Directions in Typesetting",
    year = {1979{(}1950{)}},
    publisher = "American Mathematical Society and Digital Press",
    address = "Stanford"
}

@book{knuth79b,
    author = "Donald E. Knuth",
        title = "Tex and Metafont, New Directions in Typesetting",
    year = {1979{(}1950{)}},
    publisher = "American Mathematical Society and Digital Press",
    address = "Stanford"
}

@book{lamport94,
    author = "Leslie Lamport",
    title = "Latex: A Document Preparation System",
    year = "1994",
    edition = "Second",
    publisher = "Addison-Wesley",
    address = "Reading, Massachusetts"
}

@book{lamport94a,
    author = "Leslie Lamport",
    title = "Latex: A Document Preparation System",
    year = "1994",
    edition = "Second",
    publisher = "Addison-Wesley",
    address = "Reading, Massachusetts"
}

@book{lamport94b,
    author = "Leslie Lamport",
    title = "Latex: A Document Preparation System",
    year = "1994",
    edition = "Second",
    publisher = "Addison-Wesley",
    address = "Reading, Massachusetts"
}

The result spills the reference list onto the 2nd page:

enter image description here enter image description here

So if I uncomment those two lines near the end of the document, to enable \constraintext,

\begin{document}
\let\boxtype\framebox% CHANGE TO \let\boxtype\makebox WHEN HAPPY
\large
Citing \cite{goossens93, goossens93a, knuth79, knuth79a, lamport94,
lamport94a, goossens93b, knuth79b, lamport94b}\clearpage

\noindent\constraintext{.97\textheight}{\textwidth}{\vspace{-\baselineskip}%
\bibliography{refs}%
}{1.6\textwidth}{1mm}

\end{document}

I get this result. Note I left the \boxtype as \framebox, so that I could see the boundaries of the 0.97\textheight x \textwidth box. When I'm happy with the result, I can just change the first line of the document to \let\boxtype\makebox. Also the \vspace before the bibliography call is because \bibliography inserts a blank line at the top of the box, which I had to counteract, in order to retain the top margin.

enter image description here

So why did I choose 97% of the \textheight? Because the method can end with too narrow a box in trying to satisfy both the width and height constraints. For example, choosing 0.99\textheight give the following unacceptable result.

enter image description here

So, returning to a value of 0.97\textheight, and changing the \framebox to a \makebox gives the final result:

enter image description here

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.