ページが区切られると2つの列が向かい合う

ページが区切られると2つの列が向かい合う

翻訳されたテキスト用のコマンドを作成したいと考えています。 2 つの列を向かい合わせにし、左側に元のテキスト、右側に翻訳されたテキスト、その後ろにテキストに関する情報を表示したいと考えます。

私は 2 種類のコマンドを作成しましたが、テキストが長すぎる場合やテキストにページ区切りがある場合を除いて、非常にうまく機能します。

  • \ktを使用しています多段パッケージでは、改ページにより、最初のページの両方の列に元のテキストがあり、2 番目のページから翻訳が始まるため、元のテキストが互いに前に出ません。

  • \ktt表環境を使用していますが、表内での改ページを避けるために、翻訳されたテキストがさらに移動し、私が書きたい順序([h!]であっても)が尊重されません。たとえば私のMWEでは、次のように書いています。

    1. 通常の段落、
    2. 翻訳されたテキスト、
    3. 太字の段落、

しかし、文書には大きな空白とともに 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}

2種類の解決策が考えられると思います。

  • 使用して多段コマンド、改ページがあっても2番目の列を1番目の列の前に強制的に開始させるもの
  • テーブル環境では、ページ区切りを許可し、順序に従うように強制するもの。

私はロングテーブルパッケージ、このコードで\ktt、しかし、何も変わりません。おそらく、私がうまく使用していないのでしょう。

\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に参考文献を追加する必要がないようにするためです。

編集 :

Arashとtouhamiに感謝します。私はさまざまなパッケージを試しましたが、最終的にパラコル2つの列は「引用符」の環境で挿入されたため、負の値を使用する必要がありました。\setlength{\columnsep}{...}、自分のニーズに合わせて調整しようとしています。

しかし、今新たな問題があります。2つの列が印刷されたのです脚注。

脚注の下の列の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}

2回目の編集:

次のようにすると、touhami の提案が機能するようです:

\footnotelayout{m}

このコマンドがどのように機能するのかよく理解していなかったので、脚注に対してのみ機能すると思っていました。内部翻訳されたテキストですが、実際には脚注がなくても問題は解決しました私の\kt環境。

ありがとう !

答え1

multicollongtableこのような使用および環境向けに設計されておらず、ページ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}

関連情報