13

I am using the multicol package. I was wondering if anyone knew how to correct the ugly looking spacing of words. It tries to align them so that each line takes up a column but that means some text will be spaced very widely apart and looks dumb. Is there a way to make it so that the text is not justified, and rather aligned to the left of the column?

As you can see some of the items in here are terribly spaced. Please help. Here is my code for reference.

\section{APPLICABLE \\ SKILLS}{\sl Educational and Practical Experience}
    \begin{multicols}{3}
    \begin{itemize} \itemsep -2pt
    \item SDS-PAGE
    \item Western Blot
    \item Antibody affinity chromatography
    \item Differential and Density gradient centrifugation
    \item Immunoprecipitation
    \item Genome sequencing
    \item Genomic analysis (copy number, SNP-detection, IGV, samtools, picard, etc.)
    \item Mass spec
    \item Bioinformatics
    \item Numerical analysis
    \item Software design
    \item High, medium, and low level programming design
    \item Linear algebra
    \item Graph theory
    \item Regression analysis
    \end{itemize}
    \end{multicols}
1

2 Answers 2

14

You may use the \raggedright command (or the \RaggedRight variant of the ragged2e package which allows hyphenation) at the begin of a single multicols environment. You may also "patch" the multicols environment using \AtBeginEnvironment which is provided by the etoolbox package.

\documentclass{article}

\usepackage{multicol}

\usepackage{ragged2e}

\usepackage{etoolbox}
\AtBeginEnvironment{multicols}{\RaggedRight}

\begin{document}

\section{APPLICABLE \\ SKILLS}

{\slshape Educational and Practical Experience}

\begin{multicols}{3}
\begin{itemize} \itemsep -2pt
\item SDS-PAGE
\item Western Blot
\item Antibody affinity chromatography
\item Differential and Density gradient centrifugation
\item Immunoprecipi\-tation
\item Genome sequencing
\item Genomic analysis (copy number, SNP-detection, IGV, samtools, picard, etc.)
\item Mass spec
\item Bioinformatics
\item Numerical analysis
\item Software design
\item High, medium, and low level programming design
\item Linear algebra
\item Graph theory
\item Regression analysis
\end{itemize}
\end{multicols}

\end{document}

enter image description here

EDIT: As pointed out by egreg, another possibility is to define a new raggedmulticols environment (use it like multicols in the document body):

\newenvironment{raggedmulticols}[1]{%
  \RaggedRight
  \begin{multicols}{#1}%
}{%
  \end{multicols}%
}
3
  • 5
    I would define a raggedmulticols environment, rather than acting globally on multicols.
    – egreg
    Mar 16, 2012 at 17:11
  • How would you do that?
    – Dan
    Mar 16, 2012 at 17:14
  • Cool the raggedright thing works! The solution with etoolbox is beautiful. Although I am not quite sure how it works, thank you!
    – Dan
    Mar 16, 2012 at 17:18
6

If this is specifically for lists, you could also use enumitem with multicol to have the list in columns. The example below is taken from the manual of enumitem (Chapter 9, Generic keys and values).

\documentclass{article}   
\usepackage{enumitem}
\usepackage{multicol}
\usepackage{ragged2e}

\SetEnumitemKey{threecol}{
itemsep=1\itemsep,
parsep=1\parsep,
before=\raggedcolumns\begin{multicols}{3}\RaggedRight,
after=\end{multicols}}

\begin{document}
\section{APPLICABLE \\ SKILLS}{\sl Educational and Practical Experience}
    \begin{itemize}[threecol] \itemsep -2pt
    \item SDS-PAGE
    \item Western Blot
    \item Antibody affinity chromatography
    \item Differential and Density gradient centrifugation
    \item Immunoprecipi\-tation
    \item Genome sequencing
    \item Genomic analysis (copy number, SNP-detection, IGV, samtools, picard, etc.)
    \item Mass spec
    \item Bioinformatics
    \item Numerical analysis
    \item Software design
    \item High, medium, and low level programming design
    \item Linear algebra
    \item Graph theory
    \item Regression analysis
    \end{itemize}
\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .