私のアプローチは、Docutilssed
によって生成された TeX ファイルに少し当てはまります。アイデアは、宣言をニーズに合ったものに置き換えることです。table
Docutils はそのようなものを生成します:
\begin{longtable*}[c]{p{0.086\DUtablewidth}p{0.290\DUtablewidth}}
2 番目の列を右揃えにしたいとします。これを次のように置き換えます。
\begin{longtable*}[c]{lr}
ただし、セルの幅を制御する機能は失われます。ここで必要なのは\newcolumntype
、右揃え ( x ) 用と左揃え ( y )用の 2 を宣言することです。
\newcolumntype{x}[1]{%
>{\raggedleft\hspace{0pt}}p{#1}}%
\newcolumntype{y}[1]{%
>{\raggedright\hspace{0pt}}p{#1}}%
そして、それらをテーブル宣言で使用します。
\begin{longtable*}[c]{y{7.5cm}x{2cm}}
\\
改行\tabularnewline
も.
私はOSXを使用しており、出荷されたsedのバージョンは改行置換をサポートしていないため、すべてをスクリプトファイルに入れます\n
(Makefile
.
結論
OSX/BSD の場合:
sed -E -f fix_table.sed < source.tex > destination.tex
とfix_table.sed
:
s/\\begin{longtable\*}.*/\\newcolumntype{x}[1]{% \
>{\\raggedleft\\hspace{0pt}}p{#1}}% \
\\newcolumntype{y}[1]{% \
>{\\raggedright\\hspace{0pt}}p{#1}}% \
\\begin{longtable*}[c]{y{7.5cm}x{2cm}}/
s/\\\\/\\tabularnewline/
これは少し厳しいですが、RestructuredText レベルで実際に機能する回避策はありません。
http://en.wikibooks.org/wiki/LaTeX/Tables
http://texblog.org/2008/05/07/fwd-equal-cell-width-right-and-center-aligned-content/