紙の列を使用した多列表の配置

紙の列を使用した多列表の配置

私は原稿の中で次の表(Excel で作成)を作成しようとしています。 ここに画像の説明を入力してください

私は 2 つの会議のテンプレート (IEEE と SPLNCS) を使用して作業しているので、次のように作業を整理しています。

├── IEEEtran.cls
├── llncs.cls
├── mainIEEE.tex
├── mainLNCS.tex
├── Introdoction.tex
└── # ... other sections' tex

mainEEE.tex間を移動して、mainLNCS.tex会議の形式に合わせてコンパイルできるようにします。

ただし、この表をこれらのテンプレートの列に合わせて配置するのは困難です (ドキュメント内の他の表は正常に機能します)。

MWE: IEEEtran.clsそして llncs.cls

%%%  Introduction.tex
\section{Introduction}

\lipsum[1]

\begin{table}[ht]
    \caption{Some results}
    \label{tab:my_label}
    \centering
    \begin{tabularx}{\linewidth}{l|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|} 
    \toprule
     Mode  & \multicolumn{5}{l|}{Precision} & \multicolumn{5}{l|}{Recall} & \multicolumn{5}{l}{F1\-score} \\
     \cline{2-15}
     & RF & RF-SMOTEd & AdaBoost & SMOTEBoost & DECOC & RF & RF-SMOTEd & AdaBoost & SMOTEBoost & DECOC & RF & RF-SMOTEd & AdaBoost & SMOTEBoost & DECOC \\
     \midrule
     cat &1&2&3&4&5 &1&2&3&4&5 &1&2&3&4&5\\
    \bottomrule
    \end{tabularx}
\end{table}
  1. mainLNCS.tex出力:
\documentclass[runningheads]{llncs}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{tabularx,ragged2e}
\usepackage{lipsum}
    

\begin{document}

\title{Manuscript Title (SPLNCS) }


\maketitle

\begin{abstract}
The abstract in 150--250 words.


\keywords{keyword1  \and keyword2} 
\end{abstract}

\input{Introduction}



%\bibliographystyle{splncs04}
%\bibliography{Bib/references}

\end{document}

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

  1. mainIEEE.tex出力:
\documentclass[conference]{IEEEtran}
\IEEEoverridecommandlockouts

\usepackage{booktabs}
\usepackage{lipsum}  
\usepackage{tabularx,ragged2e}

\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\begin{document}

\title{Conference Paper Title (IEEEtran)}


\begin{abstract}
This document is a model and instructions for \LaTeX.
This and the IEEEtran.cls ...
\end{abstract}

\begin{IEEEkeywords}
keyword1, keyword2
\end{IEEEkeywords}

\input{Introduction}


\end{document}

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

答え1

これは、回転したヘッダーの使用方法を示しています。列を正確に収めるためにtabular*とを使用していることに注意してください。\extracolsep

\documentclass[conference]{IEEEtran}
\IEEEoverridecommandlockouts

\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{lipsum}

\begin{document}

\lipsum[1]

\begin{table}[ht]
    \caption{Some results}
    \label{tab:my_label}
    %\centering
    \tabcolsep=0pt
    \begin{tabular*}{\linewidth}{@{\extracolsep{0pt plus 1fil}}lccccccccccccccc}
    \toprule
     Mode  & \multicolumn{5}{l}{Precision} & \multicolumn{5}{l}{Recall} & \multicolumn{5}{l}{F1\-score} \\
     \midrule
     & \rotatebox{90}{RF} & \rotatebox{90}{RF-SMOTEd} & \rotatebox{90}{AdaBoost} & 
      \rotatebox{90}{SMOTEBoost} & \rotatebox{90}{DECOC} & \rotatebox{90}{RF} &
      \rotatebox{90}{RF-SMOTEd} & \rotatebox{90}{AdaBoost} & \rotatebox{90}{SMOTEBoost} & 
      \rotatebox{90}{DECOC} & \rotatebox{90}{RF} & \rotatebox{90}{RF-SMOTEd} & 
      \rotatebox{90}{AdaBoost} & \rotatebox{90}{SMOTEBoost} & \rotatebox{90}{DECOC} \\
     \midrule
     cat &1&2&3&4&5 &1&2&3&4&5 &1&2&3&4&5\\
    \bottomrule
    \end{tabular*}
\end{table}

\lipsum[2-6]

\end{document}

答え2

  • テーブルの内容がまったく明確ではありません。 1 桁の数字だけですか、それとも 1 文字の記号だけですか?

  • 上記の場合は、@John Kormyloの回答に示されているように列ヘッダーを回転できます。

  • 彼の回答の補足として、およびパッケージtabularrayでサポートされているパッケージを使用する提案をここに示します。rotatingmakecell

  • - Withieeetran` ドキュメント クラスの場合:

\documentclass[runningheads]{llncs}
\usepackage[T1]{fontenc}
\usepackage{lipsum}

\usepackage{rotating}
\usepackage{makecell}
\usepackage{ragged2e}
\usepackage{tabularray}

\begin{document}

\title{Manuscript Title (SPLNCS) }
\maketitle
\begin{abstract}
The abstract in 150--250 words.
%\keywords{keyword1  \and keyword2}
\end{abstract}

\section{Introduction}
\lipsum[11]
    \begin{table}[ht]
    \caption{Some results}
    \label{tab:my_label}
    \centering
\settowidth\rotheadsize{SMOTEBoost}
\renewcommand\theadfont{}
\begin{tblr}{hlines, vlines,
             colspec = { l *{15}{X[c]} },
             cell{2}{2-Z} = {cmd=\rothead}
             }
\SetCell[r=2]{c}    Mode  
    &   \SetCell[c=5]{c} Precision
        &   &   &   &   &   \SetCell[c=5]{c}    Recall 
                            &   &   &   &   &   \SetCell[c=5]{c}    F1\-score
                                                &   &   &   &       \\
    & RF    
        & RF-SMOTEd 
            & AdaBoost 
                & SMOTEBoost 
                    & DECOC 
    & RF
        & RF-SMOTEd
            & AdaBoost
                & SMOTEBoost
                    & DECOC
    & RF
        & RF-SMOTEd
            & AdaBoost
                & SMOTEBoost
                    & DECOC                         \\
cat & 1 & 2 & 3 & 4 & 5     
        & 1 & 2 & 3 & 4 & 5     
            & 1 & 2 & 3 & 4 & 5                     \\
\end{tblr}
    \end{table}
\end{document}

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

  • ieeetranドキュメントクラスの場合:
\documentclass[conference]{IEEEtran}
\IEEEoverridecommandlockouts
%\usepackage[T1]{fontenc}
% ...
\begin{tblr}{hlines, vlines,
             colspec = { l *{15}{X[c]} },
             colsep=3pt,    % <---
             cell{2}{2-Z} = {cmd=\rothead}
             }
% rest is the same as before

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

関連情報