如何在 TeX Live 中将 pdfLaTeX 中的表格左对齐?

如何在 TeX Live 中将 pdfLaTeX 中的表格左对齐?

我有这两个 TeX 文件:

\documentclass[a3paper,landscape]{article}

\usepackage{array}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}

\begin{document}
Hello.

\LTXtable{\textwidth}{mytable}

\end{document}  

另一个文件自动生成数据:

\begin{longtable}{|X|X|X|X|X|X|X|X|X|}
\caption{A very long table}\\
    \hline
    {% for col in head %}
        \textbf{ {{col | escapeTEXT}} }
        {% if not forloop.last %}
           &
        {% endif %}
    {% endfor %} 
    \\
    \hline


    {% for row in table %}
        {% for cell in row %}
            {{ cell | escapeTEXT}}
            {% if not forloop.last %} 
               &
            {% endif %}
        {% endfor %}
        \\
        \hline
    {% endfor %}
    \hline

\label{tab:LongtableOne}
\end{longtable}

这样会在中心创建表格,从而使列宽变窄。如何使表格左对齐?

  1. 另外,我必须对列进行硬编码,如下所示:{|X|X|X|X|X|X|X|X|X|}

是否可以使其动态化,就像循环一样?

答案1

使用

\longtable}[l]{...}

[l]是水平对齐的说明符。但是,对于X列来说,它没有任何实际意义:

\RequirePackage{filecontents}
\begin{filecontents*}{xtab.tex}
\begin{longtable}[l]{@{}*3X@{}}\hline
foo & bar & baz\\\hline
\end{longtable}
\end{filecontents*}

\documentclass{article}
\usepackage{array,ltxtable}
\begin{document}
\noindent
\rule{\linewidth}{1pt}

\LTXtable{\linewidth}{xtab.tex}
\end{document}

在此处输入图片描述

相关内容