
文書内でtabular
と を使用したいのですが、左余白が揃っていません。longtable
\documentclass[letterpaper,11pt]{article}
\usepackage{longtable}
\begin{document}
\begin{tabular}{p{2cm} p{15cm}}
entry 1 & bla bla bla bla bla \\
entry 2 & this is a tabular
\end{tabular}
\begin{longtable}{p{2cm} p{15cm}}
entry 3 & This is a longtable \\
entry 4 & with many more lines \\
entry 5 & but it isn't aligned
\end{longtable}
\end{document}
上記のコード内\begin{longtable}{...}
で を置き換えても何も起こらないようです。\begin{longtable}[l]{...}
いろいろ試してみたところ、 を使用すると余白がほぼ均等に見えることがわかりました。を左揃えにする\setlength{\LTleft}{18pt}
よりエレガントな方法はありますか? 数値を指定せずにテーブルを揃えることはできますか?longtables
tabulars
答え1
コメントで他のメンバーが指摘したように、 より大きい幅を設定しています\textwidth
。この場合、 を使って最初の列を に設定し、残りの幅を 2 番目の列にtabularx
設定することで、使用可能な合計幅を活用できます。にも が必要でした。p{2cm}
\noindent
tabularx
については、longtable
同じ設定ができますが、2 番目の列については、残りの幅を計算する必要があります。これは、 によって行われます\dimexpr\linewidth-4\tabcolsep-2cm\relax
。これを理解するには、行を と想像してください。|tabcolsep||p{2cm}||tabcolsep||tabcolsep||p{length}||tabcolsep|
すると、length
は と等しくなります\linewidth-2cm-4\tabcolsep
。
最後に、パッケージの と\toprule
を使用して、テーブルにプロフェッショナルな外観を与えました。\bottomrule
booktabs
\documentclass[letterpaper,11pt]{article}
\usepackage{tabularx,booktabs}
\usepackage{longtable}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{p{2cm} X}\toprule
entry 1 & bla bla bla bla bla \\
entry 2 & this is a tabular \\ \bottomrule
\end{tabularx}
\begin{longtable}{p{2cm} p{\dimexpr\linewidth-4\tabcolsep-2cm\relax}}\toprule
entry 3 & This is a longtable \\
entry 4 & with many more lines \\
entry 5 & but it isn't aligned \\ \bottomrule
\end{longtable}
\end{document}
答え2
コメントで述べたように、longtable
中央に配置され、tabular
インデントされています。セクション5パッケージのドキュメント解決策を示します。\setlength\LTleft\parindent
プリアンブルに追加することで、longtable は左揃えに設定されますが、通常の段落インデントでインデントされます。
\documentclass[letterpaper,11pt]{article}
\usepackage{longtable}
\setlength\LTleft\parindent
\begin{document}
\begin{tabular}{p{2cm} p{15cm}}
entry 1 & bla bla bla bla bla \\
entry 2 & this is a tabular
\end{tabular}
\begin{longtable}{p{2cm} p{15cm}}
entry 3 & This is a longtable \\
entry 4 & with many more lines \\
entry 5 & but it isn't aligned
\end{longtable}
\end{document}