Update
I rewrote the post providing a MWE according to the suggestions by the comments below.
Problem
When generating the list of references at the end of my paper, the PDF output has two issues which I can't solve.
1) Links overflow page border but should get a page break at the dash.
2) Bibliography items are split across pages but should stay as one block.
My Document
I'm using RMarkdown with Pandoc to generate a PDF based on http://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#citations
According to the documentation, the list of references is placed at the end of the document. So, I don't have anything like \printbibliography
or so.
Using 'knit pdf' in RStudio seems to execute:
/Applications/RStudio.app/Contents/MacOS/pandoc/pandoc +RTS -K512m -RTS MWE.utf8.md
--to latex
--from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash
--output MWE.tex
--template /usr/local/lib/R/3.3/site-library/rmarkdown/rmd/latex/default-1.15.2.tex
--highlight-style tango
--latex-engine /Library/TeX/texbin/xelatex
--variable graphics=yes
--bibliography library.bib
--filter /Applications/RStudio.app/Contents/MacOS/pandoc/pandoc-citeproc
MWE.Rmd
---
output:
pdf_document:
latex_engine: xelatex
keep_tex: true
bibliography: library.bib
fontsize: 12pt
geometry:
margin = 1.2in,
paper = a4paper,
inner = 1.5cm,
bindingoffset = 2cm,
outer = 2cm,
top = 2.5cm,
bottom = 2.5cm
header-includes:
- \usepackage{setspace}
- \usepackage{lipsum}
- \onehalfspacing
---
# Content
@Boner2015 states that...
I need another line...
And another...
\lipsum[1-3]
# References
\setlength{\parindent}{-0.2in}
\setlength{\leftskip}{0.2in}
\setlength{\parskip}{8pt}
\noindent
library.bib
@misc{Boner2015,
author = {Bon{\'{e}}r, Jonas},
title = {{Interview with Tony Rae Moore: Typesafe AMA Podcast Ep. 03 feat. How Akka Actors Help Build Microservices with Jonas Bon{\'{e}}r}},
url = {https://www.lightbend.com/blog/typesafe-ama-podcast-ep-03-feat-akka-actors-microservices-jonas-boner},
urldate = {2016-11-22},
year = {2015}
}
Generated MWE.tex
\documentclass[12pt,]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\else % if luatex or xelatex
\ifxetex
\usepackage{mathspec}
\else
\usepackage{fontspec}
\fi
\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
\newcommand{\euro}{â¬}
\fi
% use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
% use microtype if available
\IfFileExists{microtype.sty}{%
\usepackage{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\usepackage[margin = 1.2in, paper = a4paper, inner = 1.5cm, bindingoffset = 2cm,
outer = 2cm, top = 2.5cm, bottom = 2.5cm]{geometry}
\usepackage{hyperref}
\PassOptionsToPackage{usenames,dvipsnames}{color} % color is loaded by hyperref
\hypersetup{unicode=true,
pdfborder={0 0 0},
breaklinks=true}
\urlstyle{same} % don't use monospace font for urls
\usepackage{graphicx,grffile}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
\makeatother
% Scale images if necessary, so that they will not overflow the page
% margins by default, and it is still possible to overwrite the defaults
% using explicit options in \includegraphics[width, height, ...]{}
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{0}
%%% Use protect on footnotes to avoid problems with footnotes in titles
\let\rmarkdownfootnote\footnote%
\def\footnote{\protect\rmarkdownfootnote}
%%% Change title format to be more compact
\usepackage{titling}
% Create subtitle command for use in maketitle
\newcommand{\subtitle}[1]{
\posttitle{
\begin{center}\large#1\end{center}
}
}
\setlength{\droptitle}{-2em}
\title{}
\pretitle{\vspace{\droptitle}}
\posttitle{}
\author{}
\preauthor{}\postauthor{}
\date{}
\predate{}\postdate{}
\usepackage{setspace}
\usepackage{lipsum}
\onehalfspacing
% Redefines (sub)paragraphs to behave more like sections
\ifx\paragraph\undefined\else
\let\oldparagraph\paragraph
\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
\fi
\ifx\subparagraph\undefined\else
\let\oldsubparagraph\subparagraph
\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
\fi
\begin{document}
\section{Content}\label{content}
Bonér (2015) states that\ldots{}
I need another line\ldots{}
And another\ldots{}
\lipsum[1-3]
\section{References}\label{references}
\setlength{\parindent}{-0.2in} \setlength{\leftskip}{0.2in}
\setlength{\parskip}{8pt} \noindent
\hypertarget{refs}{}
\hypertarget{ref-Boner2015}{}
Bonér, Jonas. 2015. ``Interview with Tony Rae Moore: Typesafe AMA
Podcast Ep. 03 Feat. How Akka Actors Help Build Microservices with Jonas
Bonér.''
\url{https://www.lightbend.com/blog/typesafe-ama-podcast-ep-03-feat-akka-actors-microservices-jonas-boner}.
\end{document}
Best Answer
For issue 1, I added the following under
header-includes:
\def\UrlBreaks{\do\/\do-\do?}
It adds additional characters on which the url can break, which can be done while hypperref is already loaded, apparently.
The solution for issue 2 is not doing it for me.