長表と表形式では左余白が異なります

長表と表形式では左余白が異なります

文書内で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}よりエレガントな方法はありますか? 数値を指定せずにテーブルを揃えることはできますか?longtablestabulars

答え1

ここに画像の説明を入力してください

コメントで他のメンバーが指摘したように、 より大きい幅を設定しています\textwidth。この場合、 を使って最初の列を に設定し、残りの幅を 2 ​​番目の列にtabularx設定することで、使用可能な合計幅を活用できます。にも が必要でした。p{2cm}\noindenttabularx

については、longtable同じ設定ができますが、2 番目の列については、残りの幅を計算する必要があります。これは、 によって行われます\dimexpr\linewidth-4\tabcolsep-2cm\relax。これを理解するには、行を と想像してください。|tabcolsep||p{2cm}||tabcolsep||tabcolsep||p{length}||tabcolsep|すると、lengthは と等しくなります\linewidth-2cm-4\tabcolsep

最後に、パッケージの と\topruleを使用して、テーブルにプロフェッショナルな外観を与えました。\bottomrulebooktabs

\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}

関連情報