0

I am preparing a paper for a conference that requires submissions in a two-column format and a fixed number of pages. During editing, it is much easier for me to view the paper with a single column per page, since it allows me to enlarge the text.

I could switch to a differnt style during editing, but then I would not know how many pages my paper has, which is an important consideration during editing.

An ideal solution would be to print each column in a single page, while keeping the exact column width and formatting. For example, if the actual page width is 8.5'', I would like to change it temporarily to 4.25'' and have each column displayed in a single page. Then, the number of pages would be exactly twice the number in the final paper.

Is there a way to do this without changing the conference style file too much?

1

There are some choices that could be made as to what is supposed to happen with spanning floats etc but this simply adds one line that ships out the left column instead of adding it to the combined page, so all the rest of the layout is unchanged, so left column appears on the left with a blank column to the right and the right column comes on the next page (this page will have the intended page number and headings)

enter image description here

\documentclass[twocolumn]{article}

\makeatletter
\def\@outputdblcol{%
  \if@firstcolumn
    \global\@firstcolumnfalse
    \global\setbox\@leftcolumn\copy\@outputbox
    \splitmaxdepth\maxdimen
    \vbadness\maxdimen
     \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}%
     \setbox\@outputbox\vsplit\@outputbox to\maxdimen
    \toks@\expandafter{\topmark}%
    \xdef\@firstcoltopmark{\the\toks@}%
    \toks@\expandafter{\splitfirstmark}%
    \xdef\@firstcolfirstmark{\the\toks@}%
    \ifx\@firstcolfirstmark\@empty
      \global\let\@setmarks\relax
    \else
      \gdef\@setmarks{%
        \let\firstmark\@firstcolfirstmark
        \let\topmark\@firstcoltopmark}%
    \fi
  \else
    \global\@firstcolumntrue
    \setbox\@outputbox\vbox{%
     \hb@xt@\textwidth{%
        \hb@xt@\columnwidth{
\shipout\box\@leftcolumn %<<<<<<<<<<<added this
       \box\@leftcolumn \hss}%
        \hfil
        {\normalcolor\vrule \@width\columnseprule}%
        \hfil
       \hb@xt@\columnwidth{\box\@outputbox \hss}}}%
  \@combinedblfloats
    \@setmarks
    \@outputpage
    \begingroup
      \@dblfloatplacement
      \@startdblcolumn
      \@whilesw\if@fcolmade \fi{\@outputpage
     \@startdblcolumn}%
    \endgroup
  \fi}%
\makeatletter

\def\a{One two three four. }
\def\b{\a Red green blue yellow. \a\a\a\a\a\a}
\def\c{\b\a\b\b\b\a\a\b}
\begin{document}

\c\c\c

\begin{itemize}
\item \b\item \a\item\a\a
\end{itemize}
\c\c\c\c



\end{document}
  • Thank you very much! Is it possible to also move the right column to the left? This way I can put "\pdfpagewidth=4.5in" at the beginning and get all the columns one under the other. – Erel Segal-Halevi Nov 27 '17 at 18:00
  • @ErelSegal-Halevi yes so long as you don't have any spanning floats, currenly a table* will come at the top of the page as normal... However change \hfil to \hspace{-\columnwidth}% a couple of lines below the <<<< marked line – David Carlisle Nov 27 '17 at 19:20
  • I replaced both "\hfil" with "\hspace{-.5\columnwidth}%" and it works great. Now it is much easier for me to read. Thanks a lot. – Erel Segal-Halevi Nov 27 '17 at 19:32

Your Answer

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

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