Я пытаюсь набрать параллельный перевод математического текста, при этом исходный текст и перевод располагаются друг напротив друга в двух колонках.
По большей части paracol
пакет отлично справляется с этой задачей (и, похоже, reledmac
/ reledpar
тоже будет работать хорошо) — он предоставляет несколько очень полезных функций, таких как плавная синхронизация нумерации теорем и т. д.
Но я бы также хотел, если возможно, чтобы отображаемые уравнения (и подобные среды) были общими для двух версий, т. е. не дублировались в каждом столбце, а появлялись один раз и имели полную ширину текста. Это, кажется, не предусмотрено ни в , paracol
ни reledpar
. Простейший косяк — завершить 2-столбцовую среду, дать отображаемое уравнение и перезапустить 2-столбцы после этого. Это не здорово, но достаточно хорошо, чтобы продолжать, особенно с некоторой ручной корректировкой интервала.
Чего я действительно не могу найти, так это нормального способа сделатьотображаемые уравнения, общие для столбцов, в теоремах или аналогичных средах— вышеприведенный ляп не работает, потому что для временного завершения двухколоночной среды нужно завершить среду теоремы. Желаемый результат — каждая колонка будет выглядеть как обычная теорема, содержащая отображаемое уравнение, за исключением того, что уравнение будет общим, и дополнительного вертикального пространства по мере необходимости, если текст, предшествующий уравнению, в одной колонке длиннее, чем в другой.
Было бы здорово, если бы кто-нибудь о таком знал, но я был бы рад найти разумное решение, которое работало бы как для случая внутри теоремы, так и для простого случая.
Мой MWE использует paracol
, но я был бы очень рад также решениям с использованием reledpar
, или любого другого пакета, который обеспечивает сопоставимую настройку для параллельных текстов.
Выход МВЭ:
Источник MWE:
\documentclass{article}
\usepackage{paracol}
\usepackage{amsthm}
\newtheorem{sats}{Sats}
\newtheorem{theorem}[sats]{Theorem}
\begin{document}
\begin{paracol}{2}
Här skriver jag på svenska, bara ett par linjer för at skapa ett kort paragraf.
\switchcolumn
Here I write in English, just a couple of lines to make a short paragraph.
\switchcolumn*
\begin{sats}
Tyvärr vet jag inga matematiska satser att skriva här.
\end{sats}
\switchcolumn
\begin{theorem}
Unfortunately I know no mathematical theorems to write here.
\end{theorem}
\switchcolumn*
Här är en ekvation: för alla rella tal $a$ och $b$,
\switchcolumn
Here is an equation: for all real numbers $a$ and $b$,
\end{paracol}
\[a + b = b + a; \]
\begin{paracol}{2}
\noindent men troligtvis är det för enkel för att kallas för en sats. Men det har en mer interessant generalisering:
\switchcolumn
\noindent but it’s probably too simple to be called a theorem. But it has a more interesting generalisation:
\switchcolumn*
\begin{sats}
För alla rella tal $a$, $b$, $c$, och $d$,
\end{sats}
\switchcolumn
\begin{theorem}
For all real numbers $a$, $b$, $c$, och $d$,
\end{theorem}
\end{paracol}
\[a + b + c + d = c + d + a + b; \]
\begin{paracol}{2}
\noindent som är ganska användbar (och det här ska vara en forstättning av satsen).
\switchcolumn
\noindent which is quite useful (and this should be a continuation of the theorem).
\end{paracol}
\end{document}
решение1
Здесь показано, как выполнить трюк с наложением.
\documentclass{article}
\usepackage{paracol}
\usepackage{amsthm}
\newtheorem{sats}{Sats}
\newtheorem{theorem}[sats]{Theorem}
\newcommand{\singlecol}[2][0]% #1 = column (0=left) to wind up in (optional), #2 = text to appear as if in a signel column
{\switchcolumn[0]*
\noindent\rlap{\parbox{\textwidth}{#2}}
\switchcolumn[#1]*}
\begin{document}
\begin{paracol}{2}
Här skriver jag på svenska, bara ett par linjer för at skapa ett kort paragraf.
\switchcolumn
Here I write in English, just a couple of lines to make a short paragraph.
\switchcolumn*
\begin{sats}
Tyvärr vet jag inga matematiska satser att skriva här.
\end{sats}
\switchcolumn
\begin{theorem}
Unfortunately I know no mathematical theorems to write here.
\end{theorem}
\switchcolumn*
Här är en ekvation: för alla rella tal $a$ och $b$,
\switchcolumn
Here is an equation: for all real numbers $a$ and $b$,
\singlecol{\[a + b = b + a; \]}
\noindent men troligtvis är det för enkel för att kallas för en sats. Men det har en mer interessant generalisering:
\switchcolumn
\noindent but it’s probably too simple to be called a theorem. But it has a more interesting generalisation:
\switchcolumn*
\begin{sats}
För alla rella tal $a$, $b$, $c$, och $d$,
\end{sats}
\switchcolumn
\begin{theorem}
For all real numbers $a$, $b$, $c$, och $d$,
\end{theorem}
\singlecol{\[a + b + c + d = c + d + a + b; \]}
\noindent som är ganska användbar (och det här ska vara en forstättning av satsen).
\switchcolumn
\noindent which is quite useful (and this should be a continuation of the theorem).
\end{paracol}
\end{document}
Оказывается, если вы начинаете среду в одном столбце, она будет влиять на оба столбца, пока не закончится. С другой стороны, среды теоремы могут быть вложенными, и каждый столбец использует независимые счетчики.
Примечание: переключать столбцы можно только между абзацами.
\documentclass{article}
\usepackage{paracol}
\usepackage{amsthm}
\newtheorem{sats}{Sats}
\newtheorem{theorem}[sats]{Theorem}
\newcommand{\singlecol}[2][0]% #1 = column (0=left) to wind up in (optional), #2 = text to appear as if in a signel column
{\switchcolumn[0]*
\noindent\rlap{\parbox[b]{\textwidth}{#2}}
\switchcolumn[#1]*}
\begin{document}
\begin{paracol}{2}
Här skriver jag på svenska, bara ett par linjer för at skapa ett kort paragraf.
\switchcolumn
Here I write in English, just a couple of lines to make a short paragraph.
\switchcolumn*
\begin{sats}
Tyvärr vet jag inga matematiska satser att skriva här.
\switchcolumn
\begin{theorem}
Unfortunately I know no mathematical theorems to write here.
\switchcolumn*
Här är en ekvation: för alla rella tal $a$ och $b$,
\switchcolumn
Here is an equation: for all real numbers $a$ and $b$,
\singlecol{\[a + b = b + a; \]}
\noindent men troligtvis är det för enkel för att kallas för en sats. Men det har en mer interessant generalisering:
\switchcolumn
\noindent but it’s probably too simple to be called a theorem. But it has a more interesting generalisation:
\end{theorem}\end{sats}% note order of nesting
\switchcolumn*
\begin{sats}
För alla rella tal $a$, $b$, $c$, och $d$,
\switchcolumn
\begin{theorem}
For all real numbers $a$, $b$, $c$, och $d$,
\singlecol{\[a + b + c + d = c + d + a + b; \]}
\noindent som är ganska användbar (och det här ska vara en forstättning av satsen).
\switchcolumn
\noindent which is quite useful (and this should be a continuation of the theorem).
\end{theorem}\end{sats}% note order of nesting
\end{paracol}
\end{document}