
Я хочу сделать команду для переведенного текста. Я хочу, чтобы было два столбца друг напротив друга: оригинал слева и перевод справа, с информацией о тексте за ним.
Я создал два вида команд, которые работают довольно хорошо, за исключением случаев, когда текст слишком длинный или когда в тексте есть разрыв страницы:
\ктиспользуетмногоколоночныйпакет, с разрывом страницы у меня есть исходный текст в обоих столбцах на первой странице, а перевод начинается на второй странице, поэтому они не находятся друг перед другом.
\кттиспользует табличную среду, но чтобы избежать разрыва страницы в таблице, он переместит переведенный текст дальше и не будет соблюдать порядок, в котором я хочу писать (даже с [h!]). В моем MWE, например: я написал
- обычный абзац,
- переведенный текст,
- жирный абзац,
но в документе указан порядок 1,3,2 (обычный, полужирный, перевод) с большим пробелом.
\documentclass[12pt,a4paper,final]{report}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[babel=true]{csquotes}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{relsize}
\newcommand{\kt}[5]{\begin{quote} \begin{singlespace} \begin{multicols}{2}
\smaller \og {\itshape #4} \fg \vfill \columnbreak #5
\begin{flushright} #2, p. #1, trad. #3 \end{flushright} % normally I have \cite[#1]{#2}
\end{multicols} \end{singlespace} \end{quote}}
\newcommand{\ktt}[5]{%
\begin{table}[h!]
\centering
\begin{singlespace}
\begin{tabular}{p{0.43\textwidth}p{0.43\textwidth}}
\smaller \enquote{{\itshape #4}} (#2, p. #1) & \smaller #5 (#3)\\ % normally I have \cite[#1]{#2}
\end{tabular}
\end{singlespace}
\end{table}}
\begin{document}
\lipsum[1-3]
\kt{PAGE}{BOOK}{TRANSLATOR}{\lipsum[1-2]}{\lipsum[1-2]}
\pagebreak
\lipsum[1]
\ktt{PAGE}{BOOK}{TRANSLATOR}{\lipsum[1-2]}{\lipsum[1-2]}
\textbf{\lipsum[2]}
\end{document}
Я думаю, что возможны два типа решений:
- используямногоколоночныйкоманда, что-то, что заставляет вторые столбцы начинаться перед первым, даже с разрывом страницы
- для табличной среды — что-то, что позволит разбить содержимое на страницы и заставит его следовать порядку.
Я пытался использоватьдлинный столпакет, с этим кодом для\ктт, но это ничего не меняет, может я неправильно им пользуюсь :
\newcommand{\ktt}[5]{%
\begin{table}[h!]
\centering
\begin{singlespace}
\begin{longtable}{p{0.43\textwidth}p{0.43\textwidth}}
\smaller \enquote{{\itshape #4}} (#2, p. #1) & \smaller #5 (#3)\\ % normally I have \cite[#1]{#2}
\end{longtable}
\end{singlespace}
\end{table}}
Спасибо, если кто-то сможет помочь.
Два коротких слова:
\lipsumу меня возникает проблема со скобками, но при использовании обычного текста ее нет, поэтому здесь это не актуально.
Я изменил команду, чтобы избежать\цитироватьдля #1 и #2, чтобы мне не пришлось добавлять некоторые библиографические ссылки в MWE.
РЕДАКТИРОВАТЬ :
Спасибо Арашу и Тухами. Я пробовал разные пакеты и наконец использовалпаракол. Поскольку два столбца были вставлены в среду «цитата», мне нужно было использовать отрицательное значение для\setlength{\columnsep}{...}, пытаясь приспособить его к своим нуждам.
Но теперь у меня новые проблемы: были напечатаны две колонки.подсноски.
MWE столбцов под сносками
\documentclass[12pt,a4paper,final]{report}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[babel=true]{csquotes}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage{relsize}
\usepackage{paracol}
\newcommand{\kt}[5]{
\begin{quote}
\setlength{\columnsep}{-.12\textwidth}
\begin{paracol}{2}
\begin{singlespace}
\sloppy \smaller \og {\itshape #4} \fg (#2, p. #1) \switchcolumn #5 (#3) % normally I have \cite[#1]{#2}
\end{singlespace}
\end{paracol}
\end{quote}
}
\begin{document}
\lipsum[1-3]\footnote{foo}
\kt{PAGE}{BOOK}{TRANSLATOR}{\lipsum[1]}{\lipsum[1]}
\end{document}
Я увидел проблему здесь:Проблема со сноской при использовании пакета paracol. Я вставил код, данный Дэвидом-Карлайлом в его ответ, даже если я его не совсем понимаю, и теперь сноскиисчезнувшийна соответствующих страницах.
MWE исчезнувших сносок:
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[babel=true]{csquotes}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage{relsize}
\usepackage{paracol}
\makeatletter
\newbox\mybox
\def\pcol@makenormalcol{%
\ifvoid\footins
\else
\global\setbox\mybox\box\footins
\fi
\setbox\@outputbox\box\@holdpg
\let\@elt\relax
\xdef\@freelist{\@freelist\@midlist}%
\global\let\@midlist\@empty
\@combinefloats}
\makeatother
\newcommand{\kt}[5]{
\begin{quote}
%\setcolumnwidth{.1\textwidth,.1\textwidth}[1,2]
\setlength{\columnsep}{-.12\textwidth}
\begin{paracol}{2}
\begin{singlespace}
\sloppy \smaller \og {\itshape #4} \fg (#2, p. #1) \switchcolumn #5 (#3)
%\begin{flushright}trad. #3 \end{flushright} % normally I have \cite[#1]{#2}
\end{singlespace}
\end{paracol}
\end{quote}
}
\begin{document}
\lipsum[1-3]\footnote{foo}
\kt{PAGE}{BOOK}{TRANSLATOR}{\lipsum[1]}{\lipsum[1]}
\end{document}
ВТОРОЕ ИЗМЕНЕНИЕ:
Кажется, это работает с предложением touhami, используя:
\footnotelayout{m}
Я не очень хорошо понимал, как работает эта команда, я думал, что она работает только для сносок, сделанныхвнутрипереведенный текст, но на самом деле это решило мою проблему, даже если сноскаснаружимоя \kt среда.
Спасибо !
решение1
multicol
и longtable
не предназначены для такого использования, а table
среда не допускает разрыва страницы.
Вот решение с paracol
пакетом
\documentclass[12pt,a4paper,final]{report}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{relsize}
\usepackage{paracol,lipsum}
\usepackage[frenchb]{babel}
%\columnratio{.5}
%\columnsep =10pt
\newcommand{\kt}[5]{%
\sloppy
\begin{paracol}{2}
\smaller \og {\itshape #4} \fg % becarful here as \lipsum end with \par
\switchcolumn
#5
\end{paracol}
\begin{flushright} #2, p. #1, trad. #3 \end{flushright}}
\begin{document}
\lipsum[1-3]
\kt{PAGE}{BOOK}{TRANSLATOR}{\lipsum[1-2]}{\lipsum[1-2]}
\end{document}