TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to make a list of symbols that looks a lot like the one shown here

But I'm having some trouble making 2 columns that are spaced in that manner for the 2 pages I have for my list.

Can anybody give me a quick tip on how I may be able to implement this, while keeping the 2 column format only for these two pages?

share|improve this question
Does this question help? – Andrew Uzzell Sep 28 '12 at 7:27
up vote 14 down vote accepted

In the following example mathematical symbols and textual abbreviations are declared with

\newmathsymb{<name>}{<symbol without $>}{<meaning>}


\newmathsymb{approx}{\approx}{approximately equal to}
\newtextsymb[TeX]{\TeX}{The \TeX\ program}

The <name> is used to identify the symbol/abbreviation. It is used inside \label (for the page number).

In the text, the symbols can be used with


because the symbol code is remembered since its declarations (it will be needed in the list of symbols).

Remarks to the example.

  • The implementation assumes, that the list of symbols is printed after the symbol declarations. Otherwise the code of the symbols would have to be stored in the auxiliary file.

  • The list of symbols is set in a table that breaks across columns and pages that is supported by package supertabular. Package longtable does not support two column mode.

  • Table supertabular sets each column in a separate tabular environment. Because of this the widths of the columns might vary across columns. Therefore the width of the first two columns are fixed by using p columns. It is assumed that the header for the third column (Page) is larger than the largest page number. The width of the first column is calculated by measuring the width of all symbols. The second column gets the remaining width.

  • The page number is remembered by \label, when the symbol is declared.

  • The first line of the second column is aligned with the symbol, the bottom line is aligned with the page number. This is solved by aligning all columns at the top line. The cell for the second column is set twice to get the difference between the top and bottom line. The page number is then be lowered by this difference.

  • The list of symbols has different line spacings, narrower inside a cell. This is achieved by different settings of \arraystretch.

The example file:


  \expandafter\gdef\csname symb:#1\endcsname{#2}%
    \@latex@error{Symbol `#1' is undefined}\@ehc
    \csname symb:#1\endcsname
% List of symbols
      List of Symbols, Abbreviations, and Notation%
  \thispagestyle{empty}% optional
    \symb@head{Symbol} & \symb@head{Meaning} & \symb@head{Page}\\[.5ex]%
  \usebox0 %

\newmathsymb{ABline}{\overleftrightarrow{AB}}{line $AB$}
Text with \symb{ABline} in text mode.
  \symb{ABline} = \symb{ABline}
\newmathsymb{ABsegment}{\overline{AB}}{line segment $AB$}
Text with \symb{ABsegment}.
\newmathsymb{AB}{AB}{the length of \symb{ABsegment}}
\newmathsymb{ABray}{\overrightarrow{AB}}{ray $AB$}  
\newmathsymb{angleABC}{\angle ABC}{angle $ABC$}
Text with \symb{angleABC}.

  Dummy text.%
\test{88}\newmathsymb{approx}{\approx}{approximately equal to}
\test{186}\newmathsymb{if p then q}{p \Rightarrow q}{if $p$, then $q$}
\test{189}\newmathsymb{p iff q}{p \Leftrightarrow q}{$p$ if and only if $q$}
\test{198}\newtextsymb{HL}{Hypotenuse-Leg Congruence Theorem}
\test{198}\newtextsymb[CP]{C.P.}{\textbf{C}orresponding \textbf{P}arts
  of Congruent Triangles Are Congruent}
\test{199}\newtextsymb{ASA}{Angle-Side-Angle Congruence Postulate}
\test{298}\newmathsymb{a:b}{a\colon b}{ratio $\frac{a}{b}$}
\test{309}\newtextsymb{AAA}{Angle-Angle-Angle Similarity Postulate}
\test{309}\newtextsymb{AA}{Angle-Angle Similarity Theorem}
\test{310}\newtextsymb{SAS}{Side-Angle-Side Similarity Theorem}{310}
\test{311}\newtextsymb{LL}{Leg-Leg Similarity Theorem}
\test{541}\newmathsymb{>}{>}{is greater than}
\test{541}\newmathsymb{<}{<}{is less than}   
\test{541}\newmathsymb{<=}{\neq}{is less than or equal to}
\test{541}\newmathsymb{>=}{\geq}{is greater than or equal to}
\test{562}\newmathsymb{dT}{d_T}{taxicab distance}{562}
\test{562}\newmathsymb{dE}{d_E}{Euclidian distance}{562}




Symbol list before symbol definitions

In my answer to a follow-up question "Problem with symbol list" I have modified the code to put the symbol definition in the .aux file. Then the list of symbols can also be used at the start of the page.

share|improve this answer

You should look into using the \tabcolsep length which determines the length between consecutive columns. That will produce that amount of space between two columns.

If however, you wish different spacing of different columns, you can use the p{<length>} specifier which sets the width of the column to <length>.

Below are examples of the normal table, with a \tabcolsep and with the p specifier.

  Hello & there\\\hline
  where & am \\\hline
  I & ? \\\hline  
  Hello & there\\\hline
  where & am \\\hline
  I & ? \\\hline  
  Hello & there\\\hline
  where & am \\\hline
  I & ? \\\hline  

Which will produce the following: enter image description here

You should be able to use this for your symbol table.

If then you wish centering inside a p specifier you should use the array package and specify the columns as this (which will center the 1st column):

% \usepackage{array}
  Hello & there\\\hline
  where & am \\\hline
  I & ? \\\hline  

The output will be:

enter image description here

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.