表: 複数列の問題

表: 複数列の問題

私は論文を書いているのですが、次のような問題があります。

「最終分析」というタイトルが、C、H、N、S、O の値を含む列の中央上に表示されるようにしたいと思います。

タイトル「近似分析」も同様に、VM、FC、および Ash の値を含む列の中央上に配置されます。

\documentclass[preprint,12pt]{elsarticle}
        % !TeX spellcheck = en_US 
        \usepackage{multirow} % para las tablas
        \usepackage{siunitx}% paquete para manejo de números y unidades
        \sisetup{detect-weight, detect-display-math}
        \sisetup{detect-inline-weight=math}
        \sisetup{mode=text,per-mode=symbol}% modo de unidades con barra en lugar de fracción de tamaño reducido
        \usepackage{booktabs}% para tablas
        \usepackage{graphicx}% para gráficos
        \usepackage{pgfplots}% para gráficos
        \usepackage{pdflscape}% para gráficos
        \pgfplotsset{compat=newest}% para gráficos
        \usetikzlibrary{plotmarks}% para gráficos
        \usetikzlibrary{arrows.meta}% para gráficos
        \usepgfplotslibrary{patchplots}% para gráficos
        \newlength\fwidth% definido en el código de Matlab
        \setlength{\fwidth}{0.8\textwidth}% defino valor de parámetro fwidth de gráficos
        \usepackage{tikzscale}% para gráficos
        \pgfplotsset{plot coordinates/math parser=false}% para gráficos
        \usepackage{overpic}% figuras
        \usepackage{tikz}% figuras
        \pgfplotsset{compat=1.15}
        \usepackage{float}
        \usepackage[margin=2.5cm]{geometry}% setea márgenes de hoja
        \usepackage{bicaption}
        \usepackage{makecell}
        \renewcommand\theadfont{\bfseries}
        \renewcommand\theadgape{}
        \usepackage[skip=1ex, labelfont=bf]{caption}
        \usepackage[skip=0.333\baselineskip]{caption}
        \usepackage{amssymb,amsmath}
        \usepackage{tabularx}
        \usepackage{url}
        \def\UrlFont{\normalfont}
        \newcolumntype{C}{>{\centering\arraybackslash}X}
        \setlength{\fwidth}{0.8\textwidth}
        \biboptions{sort&compress}
        \bibliographystyle{unsrt}
        \usepackage{subcaption}

        \journal{Applied Energy}

    \begin{document}
        \begin{table} [H]
            \setlength\tabcolsep{4pt}
            \caption{Characteristics of OS and biomass samples.}
            \label{Chemical properties of OS and the blends}
            \begin{tabularx}{\textwidth}{@{}l *{8}{C} @{}}
                \toprule
                Material
                & \multicolumn{4}{>{\hsize=\dimexpr4\hsize+8\tabcolsep\relax}C}{\textbf{Ultimate analysis}} 
                & \multicolumn{4}{>{\hsize=\dimexpr4\hsize+8\tabcolsep\relax}C}{\textbf{Proximate analysis}}\\ 
                & \multicolumn{4}{c}{(wt. \%)}
                & \multicolumn{4}{c}{(wt. \%)}\\
                \cmidrule(lr){2-6} \cmidrule(lr){7-9}
                & \textbf{C} &\textbf{ H} & \textbf{N} & \textbf{S}& \textbf{O}$^\gamma$ & \textbf{VM} & \textbf{FC} $^{\varphi}$ & \textbf{Ash}\\
                \midrule
                \textbf{OS} &9.3 &2.3 &0.2 &4.0 & 11.6 &24.0 &3.4 &72.6 \\
                \textbf{GP}&48.8 &6.0 &1.9 &0.2& 35.7 &72.7 &19.9 &7.4 \\
                \textbf{RH}&35.3 &4.7 &0.3 &0.1& 37.8 &64.4 & 12.8 &21.8 \\
                \textbf{EG}& 48.2&5.9 & $<$D.L&$<$D.L&45.7 &88.5 &11.3 &0.24\\
                \bottomrule
            \end{tabularx}
            \smallskip\footnotesize
            VM: volatile matter, FC: Fixed carbon, D.L: detention limit. All values are expressed in dry basis.\\ 
            $\varphi$: Determined by difference: $\text{FC}=100\%-\text{VM}\%-\text{Ash}\%$.\\
            All reported values are given with an error of 1\% of the value.\\
            $^\gamma$: Determined by difference: \%O = 100\% - C\% - H\% - N\% - S\% - Ash\%.\\
        \end{table}

\end{document}

答え1

コードの問題は、コードで 4 列と 4 列を実行したのとは異なり、5 列と 3 列を中央揃えにしたいことです。

            & \multicolumn{5}{c}{\textbf{Ultimate analysis}} % <========
            & \multicolumn{3}{c@{}}{\textbf{Proximate analysis}}\\ % <=====
            & \multicolumn{5}{c}{(wt. \%)} % <==========================
            & \multicolumn{3}{c@{}}{(wt. \%)}\\ % <========================

完全に修正されたMWE

\documentclass[preprint,12pt]{elsarticle}
    % !TeX spellcheck = en_US 
    \usepackage{multirow} % para las tablas
    \usepackage{siunitx}% paquete para manejo de números y unidades
    \sisetup{detect-weight, detect-display-math}
    \sisetup{detect-inline-weight=math}
    \sisetup{mode=text,per-mode=symbol}% modo de unidades con barra en lugar de fracción de tamaño reducido
    \usepackage{booktabs}% para tablas
    \usepackage{graphicx}% para gráficos
    \usepackage{pgfplots}% para gráficos
    \usepackage{pdflscape}% para gráficos
    \pgfplotsset{compat=newest}% para gráficos
    \usetikzlibrary{plotmarks}% para gráficos
    \usetikzlibrary{arrows.meta}% para gráficos
    \usepgfplotslibrary{patchplots}% para gráficos
    \newlength\fwidth% definido en el código de Matlab
    \setlength{\fwidth}{0.8\textwidth}% defino valor de parámetro fwidth de gráficos
    \usepackage{tikzscale}% para gráficos
    \pgfplotsset{plot coordinates/math parser=false}% para gráficos
    \usepackage{overpic}% figuras
    \usepackage{tikz}% figuras
    \pgfplotsset{compat=1.15}
    \usepackage{float}
    \usepackage[margin=2.5cm]{geometry}% setea márgenes de hoja
    \usepackage{bicaption}
    \usepackage{makecell}
    \renewcommand\theadfont{\bfseries}
    \renewcommand\theadgape{}
    \usepackage[skip=1ex, labelfont=bf]{caption}
    \usepackage[skip=0.333\baselineskip]{caption}
    \usepackage{amssymb,amsmath}
    \usepackage{tabularx}
    \usepackage{url}
    \def\UrlFont{\normalfont}
    \newcolumntype{C}{>{\centering\arraybackslash}X}
    \setlength{\fwidth}{0.8\textwidth}
    \biboptions{sort&compress}
    \bibliographystyle{unsrt}
    \usepackage{subcaption}

    \journal{Applied Energy}

\begin{document}
\begin{table} [H]
\setlength\tabcolsep{4pt}
\caption{Characteristics of OS and biomass samples.}
\label{Chemical properties of OS and the blends}
\begin{tabularx}{\textwidth}{@{}l *{8}{C} @{}}
            \toprule
            Material
            & \multicolumn{5}{c}{\textbf{Ultimate analysis}} % <========
            & \multicolumn{3}{c@{}}{\textbf{Proximate analysis}}\\ % <=====
            & \multicolumn{5}{c}{(wt. \%)} % <==========================
            & \multicolumn{3}{c@{}}{(wt. \%)}\\ % <========================
            \cmidrule(lr){2-6} \cmidrule(lr){7-9}
            & \textbf{C} &\textbf{ H} & \textbf{N} & \textbf{S}& \textbf{O}$^\gamma$ & \textbf{VM} & \textbf{FC} $^{\varphi}$ & \textbf{Ash}\\
            \midrule
            \textbf{OS} &9.3 &2.3 &0.2 &4.0 & 11.6 &24.0 &3.4 &72.6 \\
            \textbf{GP}&48.8 &6.0 &1.9 &0.2& 35.7 &72.7 &19.9 &7.4 \\
            \textbf{RH}&35.3 &4.7 &0.3 &0.1& 37.8 &64.4 & 12.8 &21.8 \\
            \textbf{EG}& 48.2&5.9 & $<$D.L&$<$D.L&45.7 &88.5 &11.3 &0.24\\
            \bottomrule
        \end{tabularx}
        \smallskip\footnotesize
        VM: volatile matter, FC: Fixed carbon, D.L: detention limit. All values are expressed in dry basis.\\ 
        $\varphi$: Determined by difference: $\text{FC}=100\%-\text{VM}\%-\text{Ash}\%$.\\
        All reported values are given with an error of 1\% of the value.\\
        $^\gamma$: Determined by difference: \%O = 100\% - C\% - H\% - N\% - S\% - Ash\%.\\
\end{table}

そして結果:

結果の表

答え2

ヘッダーはそれぞれ5列と3列にまたがるはずであり、ヘッダーセルでは改行が許可されていないため、

& \multicolumn{4}{>{\hsize=\dimexpr4\hsize+8\tabcolsep\relax}C}{\textbf{Ultimate analysis}} 
& \multicolumn{4}{>{\hsize=\dimexpr4\hsize+8\tabcolsep\relax}C}{\textbf{Proximate analysis}}\\ 
& \multicolumn{4}{c}{(wt. \%)}
& \multicolumn{4}{c}{(wt. \%)}\\

& \multicolumn{5}{c}{\textbf{Ultimate analysis}}
& \multicolumn{3}{c@{}}{\textbf{Proximate analysis}}\\
& \multicolumn{5}{c}{(wt. \%)}
& \multicolumn{3}{c@{}}{(wt. \%)}\\

一方、ヘッダー セルに対して自動改行機能を維持する必要があると思われる場合は、問題の 4 行に対して次のコードを使用する必要があります。

& \multicolumn{5}{>{\hsize=\dimexpr5\hsize+8\tabcolsep\relax}C}{\textbf{Ultimate analysis}}
& \multicolumn{3}{>{\hsize=\dimexpr3\hsize+4\tabcolsep\relax}C@{}}{\textbf{Proximate analysis}}\\
& \multicolumn{5}{c}{(wt. \%)}
& \multicolumn{3}{c@{}}{(wt. \%)}\\

いずれにしても、全体的な仕様ではテーブルの右端に沿った空白が抑制される@{}ため、列定義にパーティクルを追加する必要があります。tabularx



補遺- もしこれが私のテーブル、私はない環境を採用するのtabularxは、どのセルでも自動改行を許可する必要性も正当性もないためである。代わりに、tabular*幅を に設定した環境を使用する\textwidth。また、ヘッダーに構造を追加し、すべての大胆な読者に怒鳴っているような印象を与えないようにするためです。重要なのは、 8 つのデータ列すべてにS列タイプ (パッケージによって提供siunitx) を使用し、それぞれの小数点に数字を揃えられるようにすることです。

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

\documentclass[preprint,12pt,numbers]{elsarticle}
% !TeX spellcheck = en_US
\journal{Applied Energy}

%% Commented out instructions of no relevance to the table at hand. 
%\usepackage{multirow}

\usepackage{siunitx}
\sisetup{detect-weight,
         detect-display-math,
         detect-inline-weight=math,
         mode=text,
         per-mode=symbol}
\usepackage{booktabs}
\usepackage{graphicx}

%\usepackage{pdflscape}
%\usepackage{pgfplots}
%\pgfplotsset{compat=newest}
%\usetikzlibrary{plotmarks}
%\usetikzlibrary{arrows.meta}
%\usepgfplotslibrary{patchplots}
%\usepackage{tikzscale}
%\pgfplotsset{plot coordinates/math parser=false}
%\usepackage{overpic}
%\usepackage{tikz}
%\pgfplotsset{compat=1.15}
%\newlength\fwidth
%\setlength{\fwidth}{0.8\textwidth}

\usepackage{float}
\usepackage[margin=2.5cm]{geometry}

%\usepackage{makecell}
%\renewcommand\theadfont{\bfseries}
%\renewcommand\theadgape{}

\usepackage{caption,subcaption}
\captionsetup{skip=1ex,labelfont=bf}
\usepackage{amssymb,amsmath,tabularx,url}
\def\UrlFont{\normalfont}

\biboptions{sort&compress}
\bibliographystyle{elsarticle-num} % or "unsrtnat"

\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro

\begin{document}

\begin{table}[H]
\setlength\tabcolsep{0pt}  %
\caption{Characteristics of OS and biomass samples.}
\label{tab:characteristics}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}
             l
             S[table-format=2.1]
        *{3}{S[table-format=1.1]}
        *{3}{S[table-format=2.1]}
             S[table-format=2.2] }
\toprule
Material & \multicolumn{8}{c}{Type of Analysis}\\
\cmidrule{2-9}
& \multicolumn{5}{c}{Ultimate}
& \multicolumn{3}{c}{Proximate}\\
& \multicolumn{5}{c}{(wt.\ \%)}
& \multicolumn{3}{c}{(wt.\ \%)}\\
\cmidrule{2-6} \cmidrule{7-9}
& \mc{C} & \mc{H} & \mc{N} & \mc{S} & \mc{O$^\gamma$} 
& \mc{VM} & \mc{FC$^{\varphi}$} & \mc{Ash}\\
\midrule
OS & 9.3 &2.3 &0.2 &4.0 &11.6 &24.0 &3.4  &72.6 \\
GP &48.8 &6.0 &1.9 &0.2 &35.7 &72.7 &19.9 & 7.4 \\
RH &35.3 &4.7 &0.3 &0.1 &37.8 &64.4 &12.8 &21.8 \\
EG & 48.2&5.9 &{$<$D.L} &{$<$D.L}&45.7 &88.5 &11.3 &0.24\\
\bottomrule
\end{tabular*}

\medskip
\footnotesize
VM: volatile matter, FC: Fixed carbon, D.L: detention limit. All values are expressed in dry basis.

All reported values are given with an error of 1\% of the value.

$^\gamma$: Determined by difference: \%O = 100\% $-$ C\% $-$ H\% $-$ N\% $-$ S\% $-$ Ash\%.

$^\varphi$: Determined by difference: FC = 100\% $-$ VM\% $-$ Ash\%.

\end{table}

\end{document}

関連情報