#latex #org-mode
#Латекс #режим организации
Вопрос:
Я пытаюсь расположить абзацы следующим образом: 1. Во введении у меня были бы абзацы по всем столбцам. 2. Затем параллельно следуйте двум столбцам с противоположными мнениями. Он отличается от макета с двумя столбцами тем, что два столбца будут параллельными и что содержимое слева всегда будет оставаться слева, а справа всегда справа на нескольких страницах. Даже если количество аргументов в левом столбце меньше, аргумент правого столбца не должен помещаться в левый столбец.
Вот пример в HTML: https://www.biblegateway.com/passage/?search=1 Corinthians 15amp;version=CCB ;KJ21 Используется для сравнения различных переводов.
Ниже приведена моя попытка добиться эффекта.
documentclass{report}
usepackage[english]{babel}
usepackage{blindtext}
begin{document}
section{Introduction}
Here are the normal paragraph crossing colmuns.
blindtext
begin{minipage}[t]{0.5textwidth}
section{Argument on the Left}
Because I am on the left, so must I be not right?
end{minipage}begin{minipage}[t]{0.5textwidth}
section{Argument on the Right}
Because I am on the right, so I must be right!
blindtext
end{minipage}
end{document}
Эффект почти достигнут, за исключением того, что между двумя столбцами нет промежутка.
Что было бы лучшим решением?
Как я мог бы добиться того же в режиме организации с экспортом в PDF (через LaTeX)?
Ответ №1:
Чтобы иметь отдельные столбцы, достаточно использовать мини-страницы меньшего размера и добавить пробел между ними. Мини-страницы представляют собой блоки, и вы можете использовать фиксированный пробел (с помощью ~~~ или hspace{} ), но лучше использовать резиновый пробел hfill .
usepackage[english]{babel}
usepackage{blindtext}
begin{document}
section{Introduction}
Here are the normal paragraph crossing colmuns.
blindtext
noindentbegin{minipage}[t]{0.48textwidth}
section{Argument on the Left}
Because I am on the left, so must I be not right?
end{minipage}%
hfill%
begin{minipage}[t]{0.48textwidth}
section{Argument on the Right}
Because I am on the right, so I must be right!
blindtext
end{minipage}
end{document}
noindent
позволяет избежать обычного интервала между абзацами и hfill
«подталкивает мини-страницу к левому и правому полям.
Но это не лучшее решение. У вас возникнут проблемы с правильным управлением разрывами страниц, и есть конкретный пакет, который делает именно то, что вы хотите.
Пакет paracol
определяет параллельную среду с 2 (или более) столбцами и предоставляет способ их «синхронизации» путем переключения между столбцами. Он заботится о разрывах страниц и, безусловно, является тем, что вы хотите.
Вот пример с paracol
documentclass{report}
usepackage[english]{babel}
usepackage{blindtext}
usepackage{paracol}
begin{document}
section{Introduction}
Here are the normal paragraph crossing colmuns.
blindtext
begin{paracol}{2}
section{Argument on the\ Left}
Because I am on the left, so must I be not right?
switchcolumn
section{Argument on the\ Right}
Because I am on the right, so I must be right!
blindtext
end{paracol}
end{document}
Как вы можете видеть, нумерация разделов согласована между столбцами, но есть много способов настроить пакет, если вы предпочитаете этого не делать. Посмотрите документацию
Также обратите внимание, что мне пришлось добавить ручной разрыв строки, чтобы правильно отформатировать заголовки разделов, но это незначительный недостаток.
Что касается org-mode, я использую его, но у меня нет опыта работы с экспортом, и я не могу вам помочь. Но благодаря гибкости paracol вы можете найти какой-то способ определить макросы, которые делают то, что вам нужно. Может быть, если вы предоставите экспорт в режиме организации, люди могут попытаться найти решение.
Комментарии:
1. Спасибо за почти идеальное решение!