65

How can I place a one-column-abstract and after that two-column-section in a LaTeX template?

44

This should make the trick. Important Note: This is a copy-paste from: I've just tested it

\documentclass[twocolumn]{article}
...
\begin{document}
... % \author, etc
\twocolumn[
  \begin{@twocolumnfalse}
    \maketitle
    \begin{abstract}
      ...
    \end{abstract}
  \end{@twocolumnfalse}
]
| improve this answer | |
  • 3
    Note that \maketitle must be included if you want to avoid a page break before the abstract environment. – Ger Aug 31 '12 at 11:51
  • Users are advised to see some of the other solutions at the linked page, which is an answer on the TeX FAQ. In particular, to get \thanks to work in the author list (instead of just gobbling the footnotes), use of the abstract package (and the \saythanks command it provides) is advisable. See also tex.stackexchange.com/q/80210/17427 – cyberSingularity Nov 4 '12 at 11:41
  • Well this technically works, but it removes all space after the abstract. So some commands to put a sensible amount of space back in are needed. – Ben Farmer May 31 '19 at 11:17
  • Used @twocolumnfalse as well as the linked onecolabstract (with package \usepackage{abstract}) in a \documentclass{IEEEtran} but neither worked. – BadAtLaTeXProgramming Jun 22 '19 at 15:03
  • ... found it here. – BadAtLaTeXProgramming Jun 22 '19 at 15:12
20

If you use the multicol package then you can easily mix different column format

\documentclass{article}
\usepackage{multicol}
\usepackage{lipsum}% for dummy text

\begin{document}
\begin{abstract}
\lipsum[1]
\end{abstract}
\begin{multicols}{2}
\lipsum[2]
\end{multicols}
\end{document}
| improve this answer | |
11

The \twocolumn-command takes an optional argument, which will be printed in one-column-mode.

| improve this answer | |
  • 2
    Well, that's exactly what the accepted answer by GuillemB is about, isn't it? – lockstep Sep 11 '11 at 17:23
  • 1
    @lockstep: No, he added an environment (probably he forgot \makeatother) using @twocolumnfalse, but the simple optional argument does the trick. – Keks Dose Sep 11 '11 at 19:54
  • 3
    I stand corrected -- +1. – lockstep Sep 11 '11 at 19:55
  • His added environment seems to be necessary if you want both the title and the abstract in there. – mk12 Apr 4 '13 at 0:29
3

If you use the titling package, which I do anyway, you can use the final hook it provides for \maketitle to hold the abstract.

For example, the following code defines a new command, \myabstract[]{}. The optional argument can be used to specify a different proportion of the \textwidth be used for the abstract. The default is width=.8. To specify something else, just use \myabstract[width=<value between 0 and 1>]{}. The mandatory argument just holds the abstract content.

\documentclass[twocolumn]{article}
\usepackage{expl3,xparse,xcoffins,titling,kantlipsum}
\ExplSyntaxOn
\coffin_new:N \l_my_abstract_coffin
\dim_zero_new:N \l_my_width_dim
\keys_define:nn { my / abstract }
  {
    width .code:n = {
      \dim_set:Nn \l_my_width_dim {#1\textwidth}
    }
  }
\NewDocumentCommand \myabstract { O {width=.8} m }{%
  \keys_set:nn { my / abstract } { #1 }
  \SetVerticalCoffin \l_my_abstract_coffin {\l_my_width_dim} {#2}
  \renewcommand\maketitlehookd{%
    \mbox{}\medskip\par
    \centering
    \TypesetCoffin \l_my_abstract_coffin
  }
}
\ExplSyntaxOff
\begin{document}
\author{A. N. Author\thanks{To somebody.}}
\title{A Gripping Tale}
\myabstract{\kant[1]}
\maketitle
\kant[2-3]
\title{Another Gripping Yarn}
\author{A. Nother Author}
\myabstract[width=.7]{\kant[4]}
\maketitle
\kant[5]
\end{document}

two abstracts for two tales

Although I've used xcoffins and expl3 stuff (which I'm not sure I should be mixing at all), you can do this without the alien syntax, still using xcoffins:

\documentclass[twocolumn]{article}
\usepackage{xcoffins,titling,kantlipsum}
\NewCoffin \myabstractcoffin
\newcommand \myabstract[2][.8]{%
  \SetVerticalCoffin \myabstractcoffin {#1\textwidth} {#2}%
  \renewcommand\maketitlehookd{%
    \mbox{}\medskip\par
    \centering
    \TypesetCoffin \myabstractcoffin}}    
\begin{document}
\author{A. N. Author\thanks{To somebody.}}
\title{A Gripping Tale}
\myabstract{\kant[1]}
\maketitle
\kant[2-3]
\title{Another Gripping Yarn}
\author{A. Nother Author}
\myabstract[.7]{\kant[4]}
\maketitle
\kant[5]
\end{document}

Note that the optional argument now just takes the number e.g. .7 rather than width=.7.

Or, most easily of all, just using a minipage environment:

\documentclass[twocolumn]{article}
\usepackage{titling,kantlipsum}
\newcommand \myabstract[2][.8]{%
  \renewcommand\maketitlehookd{%
    \mbox{}\medskip\par
    \centering
    \begin{minipage}{#1\textwidth}
      #2
    \end{minipage}}}  
\begin{document}
\author{A. N. Author\thanks{To somebody.}}
\title{A Gripping Tale}
\myabstract{\kant[1]}
\maketitle
\kant[2-3]
\title{Another Gripping Yarn}
\author{A. Nother Author}
\myabstract[.7]{\kant[4]}
\maketitle
\kant[5]
\end{document}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy