# Lengthy math description in 2 column paper

I have some lengthy math description in 2 column paper to override the next column.

I think I need to make the math description in one column. How can I do that in 2 column mode?

The code (only the math part) is something like this

\documentclass[twocolumn]{article}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{amsmath}

\newcommand{\caller}[1]{\textsc{Caller}(#1)}
\newcommand{\type}[2]{\textsc{Type}(#1, #2)}
\newcommand{\getset}[2]{\ensuremath{\{\, #1 \mid #2 \, \}}}

\newcommand{\phantomstring}{\hphantom{\caller{\textbf{C}.m}}}

\begin{document}1

\begin{align*}
\rlap{\caller{\textbf{C}.$f$}}\phantomstring
&= \getset{m'}{\forall m' \to \text{invoke static field\ }  \textbf{C}.f}\\
\rlap{\type{$i$}{$m$}}\phantomstring
&= \text{returns the instantiation type of class that contains method $m$, which is invoked by method $i$}\\
\rlap{\type{$i$}{$f$}}\phantomstring
&= \text{returns the instantiation type of class that contains field $f$, which is accessed by method $i$}
\end{align*}

\end{document}

-
What are you using to generate the "math description"? A tabular or perhaps an array? Are you limited in your package use? If not, I'm sure the tabularx package would work fine here. –  Werner Nov 16 '12 at 3:34
It seems like your "math description" group needs more text width than is available in a single column. Have you tried placing the group inside a table* (note the asterisk) environment? –  Mico Nov 16 '12 at 3:50

I just wrap the align* environment with figure*, and it seems to work fine.

\begin{figure*}
\begin{align*}

...

\rlap{\type{$i$}{$f$}}\phantomstring
&= \text{returns the instantiation type of class that contains field $f$, which is accessed by method $i$}
\end{align*}
\caption{Definition}\label{definition}
\end{figure*}


-
This is a good suggestion. However nonstandard it might be to put pure maths into a float, it is sometimes a better variant than trying to fit it into two-column format! –  yo' Nov 16 '12 at 7:44

If putting it in a float makes sense here that's a good option, but arguably that isn't an aligned set of equations, but a table of definitions and could be set as such, which makes it a lot easier to have automating line breaking.

\documentclass[twocolumn]{article}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{amsmath}

\newcommand{\caller}[1]{\textsc{Caller}(#1)}
\newcommand{\type}[2]{\textsc{Type}(#1, #2)}
\newcommand{\getset}[2]{\ensuremath{\{\, #1 \mid #2 \, \}}}

\newcommand{\phantomstring}{\hphantom{\caller{\textbf{C}.m}}}

\begin{document}

\noindent
\begin{tabularx}{\linewidth}{>$l<$@{ = }>{\raggedright\arraybackslash}X}
\caller{\textbf{C}.$f$}
&\getset{m'}{\forall m' \to \text{invoke static field\ }  \textbf{C}.f}\\
\type{$i$}{$m$}
&returns the instantiation type of class that contains method $m$, which is invoked by method $i$\\
\type{$i$}{$f$}
& returns the instantiation type of class that contains field $f$, which is accessed by method $i$
\end{tabularx}

\newpage

\def\a{One two three four. }\def\b{\a\a\a\a\par}\b\b\b\b\b\b

\end{document}

-

You can try to load cuted packaged and wrap lengthy math in \begin{strip}..\end{strip} environment.

-