Шахматные колонны с использованием паракола

Шахматные колонны с использованием паракола

Я пытаюсь создать «параллельный» текст, который является временным по своей природе. Например, второй автор написал начало, первый автор написал второй раздел, четвертый автор написал третий раздел, третий автор написал четвертый раздел, четвертый автор написал пятый раздел, первый автор написал шестой раздел и т. д... Текст не должен быть выровнен, но должен позволять читателю перемещаться между этими разделами по порядку. Я изучил документацию paracol и погуглил проблему. Извините, если я неправильно определил проблему или пропустил ресурс. Я включил MWE. TIA.

\documentclass{report}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{paracol}

\begin{document}
   \centering Introduction     \\
   \raggedright
   This is an introductory paragraph. \\ 
   The document should be able to ``bounce'' back and forth between columns. For example, columns 2, 1, 4, 3, 2, 1, 4, 3, \dots

   \begin{paracol}{4}

      \textbf{This is the second paragraph and should align with the bottom of the first paragraph (second column).}
      \switchcolumn*[1]

      \textbf{This is the first paragraph.}
      \blindtext
      \switchcolumn*[0]

      \textbf{This is the fourth paragraph and should align with the bottom of the third paragraph (fourth column).}
      \blindtext
      \switchcolumn*[3]

      \textbf{This is the third paragraph and should align with the bottom of the second paragraph (first column).}
      \blindtext
      \switchcolumn*[2]

   \end{paracol}
\end{document}

решение1

Вы можете сделать это с помощьюparacolи ваш код очень близок к оригиналу.

Если вы посмотрите на компиляцию, то абзацы расположены в шахматном порядке в отдельных столбцах, но просто переходят на один столбец вправо, а не на указанный столбец, и указанные номера столбцов на самом деле набираются вместо этого. Это потому, что предполагаемое использование \switchcolumn[i]*(что, возможно, необычно для синтаксиса LaTeX).

Вдобавок ко всему, \switchcolumnэто должно быть до, а не после (текст набирается немедленно, поэтому набирается в соответствии с предыдущей \switchcolumnдирективой). После этого текст должен либо располагаться в правильном вертикальном/временном порядке, либо вводиться (вместе с каким-либо аргументом для указания порядка) в некоторые макросы, которые могут сохранять и сортировать абзацы по мере необходимости. Первое, естественно, намного проще.

\documentclass{report}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{paracol}

\begin{document}
   This is an introductory paragraph.
   
   The document should be able to ``bounce'' back and forth between columns. For example, columns 2, 1, 4, 3, 2, 1, 4, 3, \dots
   
   \begin{paracol}{4}
      \switchcolumn[1]*
      \textbf{This is the first paragraph.}
      \blindtext

      \switchcolumn[0]*
      \textbf{This is the second paragraph and should align with the bottom of the first paragraph (second column).}

      \switchcolumn[3]*
      \textbf{This is the third paragraph and should align with the bottom of the second paragraph (first column).}
      \blindtext
      
      \switchcolumn[2]*
      \textbf{This is the fourth paragraph and should align with the bottom of the third paragraph (fourth column).}
      \blindtext
   \end{paracol}
\end{document}

Первая страница скомпилированного кода, показывающая первый абзац во втором столбце, второй абзац в первом столбце и третий абзац в четвертом столбце.

Связанный контент