1

I am preparing a document for my institution which typically looks like the following:

enter image description here

I have the following constraints to work with:

  1. This is only a part of the main document, which is in default (onecolumn) setting.
  2. The names in the left and right columns are from different campuses of the institution. So we cannot place a name from the left column into the right and vice-versa.
  3. To satisfy the above point, I need to force the \columnbreak at some desired places only. The contents must break page if needed instead of switching columns. Most of the columns are thus unbalanced.
  4. The committee headings are \subsections. They must be center-aligned. This practice is there throughout the entire document, and has already been taken care of.
  5. After a multicol list, the next committee should start in the same page if there is space remaining.
  6. The left column is right aligned, whereas the right column is left aligned.

I am not being able to satisfy the above constraints with any combination of multicols, multicols*, and \columnbreak. Please help.

For clarity, I must mention that my final objective is to create a page where all the right columns start at a consistent horizontal coordinate in the page. I tried to design the page using longtables as well, thus none of the above constraints were there. However, the central dividers for different tables were at different places and the final aesthetic of the page was not pleasing at all.

I will accept any solution which serves my final objective. Thank you.

Following is an MWE.

\documentclass[9pt]{scrartcl}
\usepackage[cmyk]{xcolor}
\usepackage[paperwidth=108mm, paperheight=140mm, top=15mm, bottom=15mm, left=15mm, right=15mm, foot=2.5mm, showframe, marginparsep=0mm]{geometry}
\usepackage{multicol}
\setlength{\columnsep}{10pt}
\usepackage{ragged2e}
\raggedcolumns
\begin{document}
    \begin{multicols}{2}
        [\section{title}]
        \raggedleft
        Ms Flora Tirkey\\
        Mr Lalit Kumar Tirkey\\
        Ms Sapna Soren\\
        Ms Mary Stella Tigga\\
        Ms Mariam Tirkey\\
        Mr Darshan Mohra\\
        Ms Sarita Minj\\
        Mr Rupesh Rawat\\
        Ms Suchitra Roy\\
        Mr Manu Thapa\\
        Mr Sakhin Roy\\
        Mr Ratan Das\\
        Ms Jayanti Roy\\
        Mr Manish Thapa\\
        \columnbreak
        \raggedright
        Ms Pavitra Rasaily\\
        Mr Budhi Raj Tamang\\
        Ms Pampha Biswakarma\\
        Mr Krishna Biswakarma\\
        Mr Samir Khati\\
        Mr Puran Biswakarma\\
        Mr Bikash Lakandri\\
        Mr Sanjay Biswakarma    
    \end{multicols}
    \begin{multicols*}{2}
        [\section{title}]
        \raggedleft
        Ms Flora Tirkey\\
        Mr Lalit Kumar Tirkey\\
        Ms Sapna Soren\\
        Ms Mary Stella Tigga\\
        Ms Mariam Tirkey\\
        Mr Darshan Mohra\\
        Ms Sarita Minj\\
        Mr Rupesh Rawat\\
        Ms Suchitra Roy\\
        Mr Manu Thapa\\
        Mr Sakhin Roy\\
        Mr Ratan Das\\
        Ms Jayanti Roy\\
        Mr Manish Thapa\\
        Ms Flora Tirkey\\
        Mr Lalit Kumar Tirkey\\
        Ms Sapna Soren\\
        Ms Mary Stella Tigga\\
        Ms Mariam Tirkey
        \columnbreak
        \raggedright
        Ms Pavitra Rasaily\\
        Mr Budhi Raj Tamang\\
        Ms Pampha Biswakarma\\
        Mr Krishna Biswakarma\\
        Mr Samir Khati\\
        Ms Pavitra Rasaily\\
        Mr Budhi Raj Tamang\\
        Ms Pampha Biswakarma\\
        Mr Krishna Biswakarma\\
        Mr Samir Khati\\
        Mr Puran Biswakarma\\
        Mr Bikash Lakandri\\
        Mr Sanjay Biswakarma
    \end{multicols*}
\end{document}

1 Answer 1

1

If only the divider between two columns is the problem you are having with longtable, then we can surely control it. Have a look at this:

\documentclass[9pt]{scrartcl}
\usepackage[cmyk]{xcolor}
\usepackage[%
  paperwidth=108mm,%
  paperheight=140mm,%
  top=15mm,%
  bottom=15mm,%
  left=15mm,%
  right=15mm,%
  foot=2.5mm,%
  showframe,%
  marginparsep=0mm%
]{geometry}
\usepackage{longtable}
\usepackage{array}
% Courtesy: https://tex.stackexchange.com/a/12712/174620
\newcolumntype{L}[1]{%
  >{%
    \raggedright
    \let\newline\\%
    \arraybackslash\hspace{0pt}%
  }%
  m{#1}%
}
\newcolumntype{C}[1]{%
  >{%
    \centering
    \let\newline\\%
    \arraybackslash
    \hspace{0pt}%
  }%
  m{#1}%
}
\newcolumntype{R}[1]{%
  >{%
    \raggedleft
    \let\newline\\%
    \arraybackslash
    \hspace{0pt}%
  }%
  m{#1}%
}

\begin{document}
\section{title}
\begin{longtable}{%
    R{0.45\linewidth}% The length of the 1st column
    @{\hspace{0.1\linewidth}}% The length between 2 columns
    L{0.45\linewidth}% The length of the 2nd column
    % Note that the total of these widths should be 1!
  }
  Mr.\ abcd efgh & Ms.\ abcd efgh\\
  Ms.\ abcd efgh & Mr.\ abcd efgh\\
  Mr.\ abcd efgh & Ms.\ abcd efgh\\
  Ms.\ abcd efgh & Mr.\ abcd efgh\\
  Mr.\ abcd efgh & Ms.\ abcd efgh\\
  Ms.\ abcd efgh & Mr.\ abcd efgh\\
  Mr.\ abcd efgh & Ms.\ abcd efgh\\
  Ms.\ abcd efgh & Mr.\ abcd efgh\\
  Mr.\ abcd efgh & \\
  Ms.\ abcd efgh & \\
  Mr.\ abcd efgh & \\
  Ms.\ abcd efgh & \\
  Mr.\ abcd efgh & \\
  Ms.\ abcd efgh & \\
\end{longtable}
\begin{longtable}{%
    R{0.45\linewidth}% The length of the 1st column
    @{\hspace{0.1\linewidth}}% The length between 2 columns
    L{0.45\linewidth}% The length of the 2nd column
    % Note that the total of these widths should be 1!
  }
  Mr.\ abcd efgh & Ms.\ abcd efgh\\
  Ms.\ abcd efgh & Mr.\ abcd efgh\\
  Mr.\ abcd efgh & Ms.\ abcd efgh\\
  Ms.\ abcd efgh & Mr.\ abcd efgh\\
  Mr.\ abcd efgh & Ms.\ abcd efgh\\
  Ms.\ abcd efgh & Mr.\ abcd efgh\\
  Mr.\ abcd efgh & Ms.\ abcd efgh\\
  Ms.\ abcd efgh & Mr.\ abcd efgh\\
  Mr.\ abcd efgh & \\
  Ms.\ abcd efgh & \\
  Mr.\ abcd efgh & \\
  Ms.\ abcd efgh & \\
  Mr.\ abcd efgh & \\
  Ms.\ abcd efgh & \\
\end{longtable}
\end{document}

1

2
  • Don't I feel stupid now! Thanks much for your help. However, I will keep the question open for sometime more, in case anybody wants to provide a solution along the lines of multicols. In any case, I am going to use your solution in my document. Thanks again! Jun 23 at 3:55
  • 1
    Welcome. Just a few side-remarks. 1) Using \\ outside tables for breaking lines is generally considered to be a bad practice. Have a look at this. 2) Always add a blank line or an explicit \par command before \columnbreak. Your code doesn't print the names correctly because of this error.
    – Niranjan
    Jun 23 at 11:01

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.