[Tex/LaTex] How to prevent automatic justification of references

bibliographieshorizontal alignment

I have a reference entry in the bibliography that appears as follows:

[50] AB MySQL.    MySQL:  The  world's  most  popular  open  source  database,
     http://www.mysql.com/, 2005.

How to prevent auto-justification for specific references?

Best Answer

To typeset the whole bibliography \raggedright, do one of the following:

1) If you're using a manually created thebibliography environment, add \raggedright at the beginning of the environment:

\begin{thebibliography}{9}
\raggedright

\bibitem{test} A bibitem.
\end{thebibliography}

2) If you create your bibliography with BibTeX, but without the help of the natbib or the biblatex package, enclose \bibliography{<mybib>} within a group and add \raggedright inside the group:

\begingroup
\raggedright

\bibliography{<mybib>}
\endgroup

3) If you're using either natbib or biblatex, simply redefine \bibfont:

\renewcommand*{\bibfont}{\raggedright}

If you really, really want to typeset only specific references \raggedright (which is rather inconsistent), you could trick biblatex into doing so by (ab)using the execute and addendum fields of the respective entries:

\documentclass{article}

\usepackage{biblatex}

\usepackage{lipsum}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha -- \lipsum*[1]},
}
@misc{B02,
  execute ={\raggedright},
  addendum = {\par\vspace{-\baselineskip}\nopunct},
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo -- \lipsum*[1]},
}
@misc{C03,
  author = {Cuthor, C.},
  year = {2003},
  title = {Charlie -- \lipsum*[1]},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

enter image description here

Related Question