Как построить следующую таблицу с заголовком в LaTeX?

Как построить следующую таблицу с заголовком в LaTeX?

Я хотел бы построить таблицу, похожую на ту, что изображена на рисунке ниже:

в розыске

Приведенный ниже код представляет собой мою лучшую попытку на данный момент (слова в таблице на самом деле ничего не значат):

\resizebox{9cm}{!} {
\begin{tabular}{l*{2}{c}r} 
Model              & Linear Regression && MLE \\
\hline
fakedata50  & -1.037 & &4   \\
fakedata100 & -1.038 && 3  \\
fakedata500  & -0.7859 && 2 \\
fakedata5000  &-0.7742 && 2  \\
fakedata10000 &-0.7665&&o \\
fakedata100000 &-0.7206&&j \\
fakedata1000000 &-0.6939&&j \\
\end{tabular} }

Однако я хотел бы отцентрировать таблицу, но команда \centeringне работает.

Также, когда я попытался увеличить свой график, изменив значение в \resizebox, размер шрифта также увеличился, что нежелательно. Есть ли способ увеличить размер шрифта пропорционально тому, насколько я увеличиваю свою таблицу?

И наконец, как мне набрать заголовок для моей таблицы?

решение1

При построении таблиц следуетbooktabspackage — ваш лучший друг; в вашем конкретном случае я бы также рекомендовалsiunitxпакет для помощи с выравниванием по десятичной точке (конечно, пакет может делать гораздо больше, чем выравнивание по столбцам).

Скриншот

Тип Sстолбца принимает необязательный аргумент — это позволяет вам настраивать каждый отдельный столбец; я использовал table-format=1.4для детализации, что этот столбец имеет 1номердодесятичная дробь и 4числа после нее. Вы заметите, что мне пришлось заключить заголовок столбца, {Linear Regression}чтобы «избавить» его от математического режима и процедуры выравнивания десятичной дроби.

Вот полный код, с которым вы можете поэкспериментировать.

% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{article}
\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}
\begin{tabular}{lS[table-format=1.4]r}
    \toprule
    Model           & {Linear Regression} & MLE \\
    \midrule
    fakedata50      & -1.037              & 4   \\
    fakedata100     & -1.038              & 3   \\
    fakedata500     & -0.7859             & 2   \\
    fakedata5000    & -0.7742             & 2   \\
    fakedata10000   & -0.7665             & o   \\
    fakedata100000  & -0.7206             & j   \\
    fakedata1000000 & -0.6939             & j   \\
    \bottomrule
\end{tabular}
\end{document}

Если вы хотите создать «заголовок» для своего table, то вам следует использовать команду caption; вам придется либо поместить свою tabularсреду внутрь tableсреды, либо использовать captionofкоманду из captionпакета.

скриншот с подписью

% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{article}
\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{table}[!ht]
    \centering
    \caption{Your caption goes here}
    \begin{tabular}{lS[table-format=1.4]r}
        \toprule
        Model           & {Linear Regression} & MLE \\
        \midrule
        fakedata50      & -1.037              & 4   \\
        fakedata100     & -1.038              & 3   \\
        fakedata500     & -0.7859             & 2   \\
        fakedata5000    & -0.7742             & 2   \\
        fakedata10000   & -0.7665             & o   \\
        fakedata100000  & -0.7206             & j   \\
        fakedata1000000 & -0.6939             & j   \\
        \bottomrule
    \end{tabular}
\end{table}
\end{document}

решение2

Даже стандартная tabularсреда предоставляет вам инструменты для настройки размера вашей таблицы. В частности, длина tabcolsepрегулирует отступ сбоку каждого столбца. В моем примере мне нужно было уменьшить его, чтобы таблица вписалась в стандартный \textwidth, но в вашем случае вы можете увеличить его значение. Аналогично я изменил размер шрифта на \small, но этого делать не нужно, если только пространство не является проблемой или для поддержания единообразия во всем документе.

Для вертикального пространства я использую \renewcommand\arraystretch{}для растягивания пространства между строками таблицы. В среде \centeringработает просто отлично. При использовании вне среды используйте {\centering my table stuff \par}. Скобки ограничат степень центрирования только охваченным материалом. А необходимо \parдля активации \centering.

\documentclass{article}
\usepackage{lipsum}
\usepackage{stackengine}
\def\twostack#1#2{\addstackgap{\stackanchor[0pt]{\strut#1}{\strut#2}}}
\begin{document}
\lipsum[1]
\begin{table}[ht]
\centering
\renewcommand\arraystretch{2}
\tabcolsep 3pt
\caption{Chi-square analysis for data set Total Site 1}
\medskip\small
\begin{tabular}{ccccccc}
\hline
\hline
\textbf{Model} & \textbf{Parameters} & \textbf{Estimates} & 
  \textbf{\twostack{Chi-square}{statistic}} & 
  \textbf{P-value} & \textbf{Outcome} & \\
\hline
Geometric Series & $k$ & 0.129202 & 17019.3 & $<$0.001 & Reject\\
\twostack{Broken Stick}{(binned)} & - & - & 1430.72 & $<$0.001 & Reject\\
\twostack{Broken Stick}{(rank abundance)} & - & - & 120085 & $<$0.001 & Reject\\
Logseries & \twostack{$\alpha$}{$x$} & &&&...\\
\hline
\hline
\end{tabular}
\end{table}
\lipsum[2]
\end{document}

введите описание изображения здесь

решение3

Я попытался переделать начало таблицы, приведенной в качестве примера автором, так как она сложнее. Я использовал пакеты booktabs, caption, makecellи numprintдля столбца, для которого выравнивание по десятичной точке имеет смысл. Обратите внимание, что всякий раз, когда в таком столбце (типа n{…}{…}), ячейка содержит нечисловой материал, он должен быть заключен в скобки.

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe, nomarginpar, noheadfoot]{geometry} 
\usepackage{fourier}
\usepackage{heuristica} 
\usepackage{array}
\usepackage{booktabs}
\usepackage{caption} 
\captionsetup{labelfont = sc, labelsep = period, justification = centering }
\usepackage{makecell}

\renewcommand\theadfont{\bfseries}
\usepackage[autolanguage, np]{numprint}
\usepackage{stackengine} 
\usepackage[english]{babel} 

\begin{document}

\begin{table}[!h]
\centering
\caption{Chi-square analysis for data set\enspace  Total Site 1}
\begin{tabular}{c >{$}c<{$} n{2}{7}c >{$}n{1}{5}<{$} c}
\toprule\midrule
\thead{Model}  & \thead{\textbf{Parameters}} & {\thead{Estimates}} & \thead{Chi-square \\ statistics}  & \thead{\textbf{P-value}} & \thead{Outcome} \\
\midrule
\addlinespace
Geometric Series & k & 0.129202 & 17019.3 &  < 0.001 & Reject \\
\makecell*{Broken Stick \\ (binned)} & - & {\makecell{--}} & 1430.72 &  < 0.001 &     Reject \\
\makecell{Broken Stick \\ (rank abundance)} & - &  {\makecell{--}} &  120085 &  < 0.001 & Reject \\
\multirowcell{2}{Logseries}  & α &7.287017 & \multirowcell{2}{20.44702} & {\multirowcell{2}{0.11667}} & Cannot \\%
   & x  & 0.9999327 &  &  & reject \\[3pt]
\multirowcell{2}{Lognormal} & M & 6.67146 & \multirowcell{2}{30.8349} &  {\multirowcell{2}{< 0.001}} & \multirowcell{2}{Reject} \\
 & V & 16.0206 \\
 \midrule\bottomrule
\end{tabular}
\end{table}

\end{document} 

введите описание изображения здесь

Связанный контент