翻訳のための特殊な二段組みを作りたい

Re: 翻訳のための特殊な二段組みを作りたい

- 藤井 深 の投稿
返信数: 0

TONE Kozaburoさん、皆さん、こんにちは。いつもお世話になります。

先日紹介して頂きましたmulticolpar.styの件です。

使ってみまして初期の目的は果たせたのですが、もう少し、欲を言いたいのです。

原文にも翻訳文にも、編集を加えて、センタリングとか行間空けとかしたいのです。

そして、何よりも、一文毎に、翻訳文を右に記載していきたいわけです。原文には、発音記号と訳語も追加して、翻訳作業が捗るようにしたいと思っています。発音記号の表記方法は理解し使用可能な状態です。

宜しくお願い致します。

なお、紹介して頂きましたサイトから、balanced.styを入手しましたが、使い方が分かりませんし、コメントも理解出来ません。これは、使い方さえ分かれば解決する問題だと思います。

個人的に努力しましたので、助言頂けますと幸いです。

宜しくお願い致します。

balanced.styのコメント部分及び本体は以下の通りです。

% The twocolumns environment can be used anywhere in a one column document to
% produce two column output.  The twocolumns environment may extend for an
% unlimited number of pages, and start and finish mid-page.  Columns are
% always balanced.  The code works very hard to avoid two-column ``widows''
% and ``orphans''.  No inserts are supported (haven't worked out where to put
% them yet).
 
\newbox\partialpage
\newbox\leftcolumn
\newdimen\dimen@
\newdimen\colsize
\newdimen\lastpageshrink
\newdimen\dimend
\newenvironment{twocolumns}{\begingroup \global\@twocolumntrue
\def\fps@table{t}
   \pagegoal=2\textheight
   \lastpageshrink=\pageshrink
   \output={\global\setbox\partialpage=\vbox{\unvbox255}}\penalty-10000%
   \def\columnout{\trycolumnout}%
   \output={\columnout}%
   \hsize=\textwidth \advance\hsize-\columnsep \divide\hsize by 2
   \columnwidth=\hsize \linewidth=\hsize
   \global\colsize=\textheight
   \global\advance\colsize by-\ht\partialpage
   \vsize=\colsize
   \global\advance\vsize by\lastpageshrink
   \multiply\vsize by2}%
% \end{twocolumns}
   {\pagegoal=4\textheight
   \output={\balancecolumns\pagesofar}\break
   \endgroup \global\vsize=\textheight \pagegoal=\vsize}
 
\def\pagesofar{\unvbox\partialpage%
   \wd0=\hsize \wd2=\hsize \hbox to\textwidth{\box0\hfil\box2}}
\def\balancecolumns{\setbox0\vbox{\unvbox255} \dimen@=\ht0
   \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
   \divide\dimen@ by2 \splittopskip=\topskip
   {\vbadness=10000 \loop \global\setbox3=\copy0
     \global\setbox1=\vsplit3 to\dimen@
     \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt\repeat}
   \ifdim\dimen@>\textheight \dimen@=\textheight\fi
   \setbox0=\vbox to \dimen@{\unvbox1} \setbox2=\vbox to \dimen@{\unvbox3}
   \if\ht0>\ht2\setbox2=\vbox to\ht0{\unvbox2}\else
   \if\ht2>\ht0\setbox0=\vbox to\ht2{\unvbox0}\fi\fi}
 
\def\trycolumnout{%
%   \@dblfloatplacement
   \global\def\columnout{\leftcolumnout}
   \global\vsize=\colsize
   \unvbox255\penalty\outputpenalty}
\def\leftcolumnout{%
   \global\def\columnout{\rightcolumnout}
   \global\setbox\leftcolumn=\vbox to\vsize{\unvbox255}}
\def\rightcolumnout{%
   \global\def\columnout{\trycolumnout}
   \setbox0=\box\leftcolumn
   \setbox2=\vbox to \vsize{\unvbox255}
   \setbox\@outputbox=\vbox{\pagesofar}\@outputpage
   \global\colsize=\textheight
   \global\vsize=2\colsize}