複雑な表構造におけるスペース不足

複雑な表構造におけるスペース不足

続くこの郵便受けラテックスに別の表があります:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools}
\usepackage{tabularx}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}
\newcolumntype{?}{!{\vrule width 3pt}}
\usepackage{makecell}

\begin{document}

\begin{table*}[!t]
\footnotesize
\centering
\caption{Example of a table}
\label{sth}
\begin{tabular}{>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}?>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|}
\cline{2-11}
 & \multicolumn{5}{c?}{X^{tr} (\mathrm{english text})} & \multicolumn{5}{c|}{Y^{yu} (\mathrm{english text})} \\ \cline{2-11} 
\multirow{-2}{*}{} & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 \\ \hline
\multicolumn{1}{|c|}{1} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ \hline
\multicolumn{1}{|c|}{2} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ \hline
\end{tabular}
\end{table*}

\end{document}

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

私の努力には複数の問題があります。

  1. 最初の列に -2* が表示されるのはなぜですか?
  2. 縦線と横線を削除しようとしましたが、真ん中の太い黒い区切り線は残す必要があります。そのため、どの線を削除すればよいかわかりません。
  3. 数式が線にぼやけているので、線を削除する必要があります。各ボックスの周囲に余分な隙間を設けようとしました。もっと良い方法はありますか? 私の方法は、一番上の最初の行では機能しないようです。
  4. 「英語のテキスト」は、間にスペースがあるはずの 2 行目に表示されません。表のすべてを数式として書き込むことを試みましたが、エラーが発生します。誰かこれを解決できますか?
  5. 2 行目の A はスクリプトの大文字として表示されるはずですが、そうはなりません。

主に、この表をより読みやすくし、生成されるエラー メッセージを解決するための支援が必要です。変更を提案してください。

答え1

いくつかのコメントと観察:

  • 実質的に、表の資料はすべて数式モードになっているはずなので、array環境ではなく環境を使用しますtabular

  • cタイプは 11 列すべてに適しているようです。cellspaceパッケージには用途があります。ただし、現在のテーブルでは、その仕組みを使用するのはやりすぎのようです。

  • テーブル全体の幅を狭くするには、 の値を変更します\arraycolsep(環境を使用するという私のアドバイスに従っていると仮定しますarray)。このパラメータのデフォルト値は です5pt。以下の例では、 に設定しています2.5pt

  • ディレクティブが原因で「-2」文字列が表示されます\multirow{-2}{*}{}。これは何を実現するのでしょうか? ディレクティブがなくてもテーブルは正常に動作します。

  • テーブルはなくても大丈夫ですどれでも縦線。本当です。下記をご覧ください。

  • およびbooktabsの代わりに、 パッケージの線描画マクロを使用します。\hline\cline

  • を使用しないでください。または\mathrmを使用してください。\text{...}\textnormal{...}

  • マクロを期待どおりに動作させるには\mathscr、数式スクリプトの数式アルファベットを提供するパッケージをロードします。mathrsfsパッケージを試してください。

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

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools,array,mathrsfs,booktabs}
\usepackage[skip=0.333\baselineskip]{caption} % optional
\newcommand\msA{\mathscr{A}}
\begin{document}

\begin{table}[!t]
\setlength\arraycolsep{2.5pt} % default value: 5pt
\footnotesize
\captionsetup{font=footnotesize} % optional
\centering
\caption{Example of a table}
\label{sth}
$\begin{array}{@{}*{11}{c}@{}}
\toprule
 & \multicolumn{5}{c}{X^{tr} (\textnormal{english text})} 
 & \multicolumn{5}{c@{}}{Y^{yu} (\text{english text})} \\ 
\cmidrule(lr){2-6} \cmidrule(l){7-11}
 & \msA_1 & \msA_2 & \msA_3 & \msA_4 & \msA_5 
 & \msA_1 & \msA_2 & \msA_3 & \msA_4 & \msA_5 \\ 
\midrule
1 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 
  & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ 
2 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 
  & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ 
\bottomrule
\end{array}$
\end{table}

\end{document}

答え2

これは、あなたの望むことですか?

もしそうなら、コードは次のとおりです:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage[math]{cellspace}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\setmathfont[version=setB,StylisticSet=1]{XITS Math}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}

\usepackage{makecell}

\begin{document}
    \newcolumntype{?}{!{\vrule width 3pt}}
    \begin{table}[!t]
        \footnotesize
        \centering
        \caption{Example of a table}
        \label{sth}
        \begin{tabular}{>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}?>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}}
            & \multicolumn{5}{c?}{$X^{tr} (\mathrm{english text})$} & \multicolumn{5}{c}{$Y^{yu} (\mathrm{english text})$} \\
             & \mathscr{A}_1 & \mathscr{A}_ 2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 \\
            \multicolumn{1}{c}{1} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\
            \multicolumn{1}{c}{2} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\
        \end{tabular}
    \end{table}

\end{document}
  1. のためです\multirow{-2}{*}{}。パッケージ がなかったため、コードはコンパイルされませんでしたmultirow

  2. すべてを削除します|

  3. あなたの選択

  4. これは数式モードであるため、手動でスペースを追加する必要があるためです。\,

  5. スクリプトモードで文字を作成するコマンドを定義していませんでした。

関連情報