# Adjust vertical and horizontal alignments in multicolumn bibliography

I want to adjust the arrangement of my bibliography entries, here is what I have so far, with the distances marked from 1-4, which I want to adjust:

The style from a journal I want to implement looks like this:

Here is my MWE, were I borrowed the code for the two column bibliography from the this answer of egreg:

\documentclass[fontsize=12pt,
BCOR=0mm,
paper=a4,
pagesize=auto,
numbers=noenddot,
DIV=12
]{scrreprt}
%
\usepackage{polyglossia}
\setdefaultlanguage[variant=us]{english}
\usepackage[final,tracking=true]{microtype}
\usepackage{fontspec}
\defaultfontfeatures{
Ligatures = TeX ,
RawFeature={+calt} ,
SmallCapsFeatures={Letters=SmallCaps}
}

\usepackage[american]{selnolig}
\usepackage[math-style=ISO,
bold-style=ISO]{unicode-math}
\usepackage{libertinus}
\usepackage[onehalfspacing]{setspace}
\KOMAoptions{DIV=last}
%
\usepackage[backend=biber, %
backref=false, %
backrefstyle=none, %
style=chem-acs, %
articletitle=true, %
subentry=true %
]{biblatex}
\usepackage[autostyle=true, %
german=quotes, %
english=american]{csquotes}
\usepackage{multicol}

%
%--bib file
%
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
%
@article{Stepto2009a,
author = {Stepto, Robert F. T.},
journal = {Pure Appl. Chem.},
month = {1},
number = {2},
pages = {351--353},
title = {{Dispersity in polymer science (IUPAC Recommendations 2009)}},
volume = {81},
year = {2009}
}
@book{Young2011,
author = {Young, Robert J. and Lovell, Peter A.},
edition = {3},
pages = {668},
publisher = {CRC Press Taylor {\&} Francis Group},
title = {{Introduction to polymers}},
year = {2011}
}
@article{Chiefari1998,
author = {Chiefari, John and Chong, Y. K. and Ercole, Frances and Krstina, Julia and Jeffery, Justine and Le, Tam P. T. and Mayadunne, Roshan T. A. and Meijs, Gordon F. and Moad, Catherine L. and Moad, Graeme and Rizzardo, Ezio and Thang, San H.},
journal = {Macromolecules},
month = {8},
number = {16},
pages = {5559--5562},
title = {{Living Free-Radical Polymerization by Reversible Addition?Fragmentation Chain Transfer: The RAFT Process}},
volume = {31},
year = {1998}
}
@article{Wu2014e,
author = {Wu, Yang and Zhou, Yanyan and Zhu, Jian and Zhang, Wei and Pan, Xiangqiang and Zhang, Zhengbiao and Zhu, Xiulin},
journal = {Polym. Chem.},
number = {19},
pages = {5546--5550},
title = {{Fast conversion of terminal thiocarbonylthio groups of RAFT polymers to “clickable” thiol groups via versatile sodium azide}},
volume = {5},
year = {2014}
}
@article{Lewis2017c,
author = {Lewis, Reece W. and Evans, Richard A. and Malic, Nino and Saito, Kei and Cameron, Neil R.},
journal = {Polym. Chem.},
number = {24},
pages = {3702--3711},
title = {{Cleavage of macromolecular RAFT chain transfer agents by sodium azide during characterization by aqueous GPC}},
volume = {8},
year = {2017}
}
@article{McCormick2004,
author = {McCormick, Charles L. and Lowe, Andrew B.},
journal = {Acc. Chem. Res.},
month = {5},
number = {5},
pages = {312--325},
title = {{Aqueous RAFT Polymerization: Recent Developments in Synthesis of Functional Water-Soluble (Co)polymers with Controlled Structures}},
volume = {37},
year = {2004}
}
@article{Plummer2006,
author = {Plummer, Ronda and Hill, David J. T. and Whittaker, Andrew K.},
journal = {Macromolecules},
month = {11},
number = {24},
pages = {8379--8388},
title = {{Solution Properties of Star and Linear Poly( N -isopropylacrylamide)}},
volume = {39},
year = {2006}
}
\end{filecontents}
%
%
%------------------------------
%
\newcommand\twocolprintbibliography[2][0pt]{     % Defines \twocolprintbibliography[#1]{#2} command for two-column bibliography with one-column heading.
% #1 defines separation of title<->citation and #2 declares title.
\begingroup %
\setlength{\multicolsep}{#1} %
\end{multicols} %
\endgroup} %
%
%
\begin{document}
%
\nocite{*}
\begin{singlespace}
{
\setlength{\bibhang}{-2\labelsep}
\setlength{\biblabelsep}{\labelsep}
\twocolprintbibliography[3pt]{Bibliography}
}
\end{singlespace}
%
%
\end{document}


I'm not an expert in LATEX, but I think I have to play with the values of:

\setlength{\multicolsep}{#1} %
\setlength{\bibhang}{-2\labelsep}
\setlength{\biblabelsep}{\labelsep}


Any suggestions are highly welcome!

Thanks to the detailed answer of moewe I'm now almost able to implement the layout I searched for. However, there are still issues when the number of biblabels is greater than 10 or 100, respectively. To clarify the behaviour I aim for I made another drawing with the implemented code of moewe:

1. Thats fixed now, thx!
2. I want to be able to specify this length, regardless of the length (3) is occupying. It should be the same for all bib-entries.
3. This length should be flexible and inserted automatically with respect to the length of the biblabel, eg. (X), (XX), or (XXX).
4. As for (2), I want this length to be the same for all bib-entries, regardless of the length (3) is occupying.

To sum it up, while (2) and (4) should stay the same for my whole bibliography, (3) will vary in length due to the different amount of numbers in the biblabel. Therefore, the length of [(2)+(3)+(4)] is not the same for all bibentries.

Any ideas how to modify the code snipped of moeve to account for this?

• Sorry, I think this also becomes clear from the packages, but I use LuaLATEX for compiling – Manuel Jun 19 at 10:46
• Welcome to TeX.SE! – Mico Jun 19 at 11:45
• for length number 1 change \setlength\bibitemsep{1.5\itemsep} – harryparp Jun 19 at 13:51

1. As already mentioned by user191173 in the comments the vertical space between entries is controlled by \bibitemsp.

\setlength{\bibitemsep}{4\itemsep}


There are also \bibnamesep and \bibinitsep that are only inserted between works of different authors (\bibnamesep) and works of authors with different initial letter (\bibinitsep), thus allowing for visual grouping.

2. The space between label and entry in a numbered-list-like bibliography is usually controlled by \biblabelsep.

\setlength{\biblabelsep}{4\labelsep}

3. The space between columns in a multicol environment is controlled by \columnsep.

\setlength{\columnsep}{.5cm}

4. Is a bit tricker and required some fiddling with \itemindent of \defbibenvironment{bibliography}. See the full example below.

\documentclass[fontsize=12pt,
BCOR=0mm,
paper=a4,
pagesize=auto,
numbers=noenddot,
DIV=12
]{scrreprt}

\usepackage[american]{babel}
\usepackage{fontspec}
\defaultfontfeatures{
Ligatures = TeX ,
RawFeature={+calt} ,
SmallCapsFeatures={Letters=SmallCaps}
}

\usepackage{libertinus}
\KOMAoptions{DIV=last}

\usepackage[autostyle=true,
german=quotes,
english=american]{csquotes}
\usepackage[backend=biber,
backref=false,
style=chem-acs,
articletitle=true,
subentry=true,
]{biblatex}

\usepackage{multicol}
\usepackage[onehalfspacing]{setspace}

\newlength{\bibbeforelabelsep}
\setlength{\bibbeforelabelsep}{\labelsep}

\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\itemindent}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\leftmargin}{0pt}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}

%%--https://tex.stackexchange.com/questions/22068/
\newcommand*{\twocolprintbibliography}[2][0pt]{
\begingroup
\setlength{\multicolsep}{#1}%
\end{multicols}
\endgroup}

\begin{document}
\nocite{sigfridsson,worman,geer,nussbaum,aksin,herrmann,kastenholz}
\begin{singlespace}
\setlength{\bibitemsep}{4\itemsep}
\setlength{\biblabelsep}{2\labelsep}
\setlength{\columnsep}{1cm}
\twocolprintbibliography[0pt]{Bibliography}
\end{singlespace}
\end{document}


Maybe the following definition

\newlength{\bibbeforelabelsep}
\setlength{\bibbeforelabelsep}{\labelsep}

\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
{\setlength{\leftmargin}{0pt}%
\setlength{\labelwidth}{0pt}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\itemindent}{\bibbeforelabelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{##1}}
{\endlist}
{\item}


is more to your liking. Again the relevant parameters are 2 and 4 are \bibbeforelabelsep and \biblabelsep.

For example

\begin{singlespace}
\setlength{\bibitemsep}{4\itemsep}
\setlength{\biblabelsep}{2\labelsep}
\setlength{\bibbeforelabelsep}{2\labelsep}
\setlength{\columnsep}{1cm}
\twocolprintbibliography[0pt]{Bibliography}
\end{singlespace}

• Simplified the code for the MWE. I also switched to babel, see tex.stackexchange.com/q/482396/35864 – moewe Jun 20 at 6:37
• Thanks a lot @moewe for this detailed answer. It's almost perfect now except the following: – Manuel Jun 24 at 8:57
• Regarding the various lengths, I'm still not completley happy with the behaviour, maybe I should have pointed this out in the beginning, sorry. I appended my open questions to my question above. – Manuel Jun 24 at 9:55
• @Manuel See the edit, please. What you seem to want would also work with a normal paragraph set-up instead of a list setting, but then other things might be a bit more tricky, so I stuck with \list... – moewe Jun 25 at 7:29
• Awesome, thanks a lot @moewe! That's exactly what I was looking for! – Manuel Jun 25 at 8:30