(Обновление от 28 мая 2021 г.) Этопочтирешено. Если бы Дэвид Пёртон или кто-то другой мог помочь решить оставшиеся ДВЕ проблемы, это был бы полный ответ:
-- включить регулировку высоты полей и их вертикальных линий для учета различной высоты сносок
-- сохраняйте избыточные перекрестные ссылки на той же странице, добавляя их в сноски, вместо того, чтобы переносить их на следующую страницу
-- надстрочные буквы, связанные с перекрестными ссылками, показанными в ответе @DavidPurton, не нужны; нужны только номера стихов для ссылок
Я быДействительнохотел бы создать книгу с таким же макетом, который я вижу в Библии, изображенной ниже, с двумя колонками, центральным полем со справочными заметками, которые соответствуют пронумерованным стихам в этих колонках, и сноской внизу страницы произвольной длины, которая будет варьироваться по длине для каждой страницы в зависимости от объема ее содержимого. На некоторых страницах может вообще не быть сноски, на некоторых страницах может быть половина сноски и т. д. Центральное поле всегда должно быть одинаковой ширины независимо от содержимого (даже если оно пустое и оставлено незаполненным), и оно должно быть отделено вертикальными линиями, как на рисунке.
Обратите внимание, что ссылки на центральном поле идут в том же порядке, что и стихи из Библии, но не привязаны к своим стихам в том же вертикальном положении. Другими словами, корректировка переноса выполняется для них на постраничной основе. Ниже нижней части правой колонки на этом изображении размещены некоторые дополнительные заметки по центральному полю: Их можно было бы перенести таким же образом или переместить в сноску. Для своих целей я также согласен, чтобы любые выступы из центрального поля, подобные этим, были вырезаны, или чтобы содержимое колонок соответствовало ему (и чтобы оно было разделено).
Будет ли эта компоновка возможна с любым из доступных в настоящее время пакетов? Если нет, что нужно сделать, чтобы это стало возможным, например, где я могу узнать, как создать пакет для LaTeX?
Для справки, аналогичный вопрос был задан пару лет назад, и было предоставлено частичное решение:
Двухколоночный документ с аннотациями между колонками
Однако это все еще не обеспечивало фактического центрального столбца для ссылок, оно просто раздвигало столбцы и помещало ссылки рядом с ними в это пространство. Это означает, что ссылки из каждого столбца могли бы конфликтовать и потребовало бы ручного разнесения — просто неприемлемое решение. Кроме того, не было предусмотрено никаких вертикальных линий, чтобы отделить центральный столбец.
ПРИМЕЧАНИЕ: Любое предоставленное решение должно быть совместимо с polyglossia
пакетом и форматом, поскольку это будет многоязычный документ, включая азиатскую письменность, которая обычно не имеет пробелов для разделения слов. Кроме того, fancyhdr
это добавит дополнительный уровень сложности к макету. Надеюсь, все это не окажется несбыточной мечтой.
Обновление (2 апреля 2020 г.): Поскольку ответ, размещенный ниже, указывает на несколько недостатков в используемом методе, нашел ли кто-нибудь способ их решить? Очевидно, что сноски должны увеличиваться или уменьшаться, чтобы соответствовать требованиям на постраничной основе, а на некоторых страницах они вообще не нужны, и высота текста для колонок должна соответственно давать пространство. Центральное поле также должно быть более гибким, и идеальным является решение, показанное на фотографии.
Обновление (27 апреля 2021 г.): Я все еще ищу решение, чтобы включить как центральный столбец для перекрестных ссылок, так и область сносок для дополнительных примечаний. Если это облегчит проект, каждая страница может состоять из трех столбцов, состоящих из (1) оригинального текста Библии, (2) перекрестных ссылок для этого текста и (3) перевода текста на другой язык. В этом сценарии и центральный, и правый столбцы будут поддерживать выравнивание с левым столбцом, в стиле таблицы, что может значительно упростить ситуацию.
решение1
Вот моя (частичная) попытка.
Я использовал memoir
класс, который поддерживает как боковые панели, так и боковые сноски. Я обнаружил, что боковую панель немного проще настроить для таких вещей, поэтому я использовал ее вместо более очевидной боковой сноски.
Вся сложная работа выполняется кодом expl3
, который отслеживает номера стихов и перекрестных ссылок и добавляет данные на боковую панель.
К сожалению, в настоящее время он не регулирует высоту боковой панели и вертикальных линий с учетом изменения высоты текста обычных сносок :(. Боковая панель также перетекает на следующую страницу, а не доходит до нижней части второго столбца.
Я посмотрю, смогу ли я это исправить, но там, где я нахожусь, уже поздно. Или, может быть, кто-то другой предложит лучшее решение.
\documentclass{memoir}
\usepackage{xparse}
\usepackage{microtype}
\usepackage{lettrine}
\usepackage{eso-pic}
\usepackage{multicol}
% set up ordinary footnotes
\makeatletter
\def\footnoterule{\kern-3\p@
\hrule \@width \textwidth \kern 2.6\p@}
\makeatother
\renewcommand\thefootnote{\textit{\arabic{footnote}}}
% code to create chapters, verses, and cross references
\ExplSyntaxOn
\int_new:N \crossref_int
\int_new:N \vs_int
\tl_new:N \crossref_tl
% insert a cross reference
\NewDocumentCommand {\crossref} {m}
{
\int_compare:nNnT { \crossref_int } > { 25 }
{
\int_set:Nn \crossref_int { 0 }
}
\int_incr:N \crossref_int
\textsuperscript{ \emph { \int_to_alph:n { \crossref_int } } }
\tl_if_empty:NF \crossref_tl
{
\tl_gput_right:Nn \crossref_tl { ~ }
}
\tl_gput_right:Nx \crossref_tl
{
\exp_not:N \textsuperscript
{
\exp_not:N \emph { \int_to_alph:n { \crossref_int } }
}
\, #1
}
}
% insert chapter marker
\NewDocumentCommand {\ch} {m}
{
\int_gset:Nn \vs_int {1}
\lettrine [findent=0.5em,nindent=0em] { #1 } {}
}
% output cross references from previous verse and insert verse marker
\NewDocumentCommand {\vs} {m}
{
\tl_if_empty:NF \crossref_tl
{
\sidebar
{
\textbf { \int_use:N \vs_int } \, \tl_use:N \crossref_tl
}
}
\int_gset:Nn \vs_int { #1 }
\tl_gclear:N \crossref_tl
\textsuperscript { #1 \, }
}
% output any remaining cross references
\AtEndDocument
{
\tl_if_empty:NF \crossref_tl
{
\sidebar
{
\textbf { \int_use:N \vs_int } \, \tl_use:N \crossref_tl
}
}
}
\ExplSyntaxOff
% set up centre column location and size
\setlength\columnsep{2.5cm}
\setlength{\sidebarhsep}{\dimexpr -0.5\textwidth - 0.5\columnsep + 2mm}
\setlength{\sidebarwidth}{\dimexpr \columnsep - 4mm}
\renewcommand{\sidebarfont}{\footnotesize\normalfont}
\renewcommand*{\sidebarform}{\raggedright\hangindent 1mm}
\setlength{\sidebarvsep}{0ex}
\setsidebarheight{\dimexpr \textheight - 1ex}
% add vertical lines
\AddToShipoutPictureBG{%
\AtTextUpperLeft{%
\hskip \dimexpr 0.5\textwidth - 0.5\columnsep + 1mm
\vrule depth \dimexpr \textheight - \ht\strutbox - 1pt
\hskip \dimexpr\columnsep - 2mm
\vrule depth \dimexpr \textheight - \ht\strutbox - 1pt}}
\begin{document}
\begin{multicols}{2}
\ch{1}\crossref{Gen.\ 1:1; [Col.\ 1:17; 1 John 1:1; Rev. 1:4, 8, 17; 3:14;
21:6; 22:13]}In the beginning was \crossref{Rev.\ 19:13; [Heb.\ 4:12; 1 John
1:1]}the Word, and \crossref{1 John 1:2; [ch.\ 17:5]}the Word was with God,
and \crossref{Phil.\ 2:6}the Word was God. \vs{2}He was in the beginning
with God. \vs{3}\crossref{ver.\ 10; Ps.\ 33:6; 1 Cor.\ 8:6; Col.\ 1:16;
Heb.\ 1:2}All things were made through him, and without him was not any
thing made that was made. \vs{4}\crossref{ch.\ 5:26; 11:25; 1 John 1:2;
5:11}In him was life,\footnote{Or \emph{was not any thing made. That which
has been made was life in him}} and \crossref{ch.\ 8:12; 9:5; 12:46}the life
was the light of men. \vs{5}\crossref{[ch.\ 3:19]}The light shines in the
darkness, and the darkness has not overcome it.
\end{multicols}
\end{document}