4

I'm using longtable to store a glossary-like list of abbreviations used in my document, and as it only has two columns, but is two pages long, I was wondering if there was a way to make it wrap into columns, or an alternative package that would make the creation of a glossary simpler.

I've read over the documentation of nomencl, but it doesn't look to be quite what I'm after, as I don't want an index, but a list of abbreviations and their meaning. And I don't need hyperlinks to their occurrences or even page references. Just a list of the abbreviations and their definitions.

The table I'm presently using is simple:

\begin{center}\small
  \begin{longtable}{>{\scshape}fm{0.10\textwidth}-m{0.50\textwidth}}
    abbr & Abbreviation \tabularnewline
    abbr & Abbreviation \tabularnewline 
    ...
  \end{longtable}
 \end{center}

I've set up column formatting marks so the left-hand column is always in small-caps, and the column-width setting is what looks nice-ish on an A4 page with a nice amount of space between the abbreviation and its definition. But the right side of the page is devoid of content, and I would prefer to realign this table so instead of stretching over two pages, it's reduced to just one.

EDIT Using the tabbing environment gives me the desired table split over two columns, but takes away the formatting control I previously had. Can I have the best of both worlds? I really don't want to add a \textsc{abbr} to all 100 lines or so.

EDIT 2 I don't want this table to span columns, I want it to wrap around columns. So it runs to the bottom of the first column, and then continues down the next, before moving to the next page if necessary.

2 Answers 2

3

longtable changes the output routine and so it does not work in two column modes. Try supertabular or xtab instead.

1
  • xtab doesn't work. I'm getting a weird error now, apparently a missing number somewhere. And once I did figure out what it was doing, it didn't wrap the table over two columns.
    – Robbie
    Commented Feb 8, 2011 at 5:19
2

Aha: I figured it out, and a table/tabular/etc was not the solution. Instead, if I use a definition list inside a multicol environment, and then use the enumitem package to customise the list, I get exactly what I want.

[EDIT] SOLUTION

This is just a minimal working example that does what I wanted:

\usepackage{multicol}
\usepackage{enumitem}

\begin{document}
  \begin{multicols*}{2}
    \begin{description}[font=\normalfont\scshape,labelindent=12pt,leftmargin=60pt,style=sameline]
      \item[1] First person 
      \item[2] Second person 
      \item[3] Third person 
      \item[abl] Ablative 
      \item[acc] Accusative
    \end{description}
  \end{multicols*} 
\end{document}

For the effect to show, you need a longer list, but it will create columns with (in this case) an abbreviation and a definition. It doesn't do indices, however.

2
  • I know this post was published a loooong time ago, but I'd like to hear from you some details about your proposed solution. I've just ran into the same problem, and it sounds tough for me to figure out how to solve such a problem. Thanks in advance. Commented Apr 17, 2012 at 21:17
  • this is not a solution. The answer is you can't (the other answer should be selected as valid)
    – ivotron
    Commented Oct 14, 2014 at 18:20

You must log in to answer this question.

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