これを入力すると、なぜ「タイプ I の内容」と「タイプ II の内容」が 2 ~ 3 行に分かれるのでしょうか。改行せずに 1 行に書き込むにはどうすればよいですか。複数列に M ではなく c を使用すると、テキストがセルの垂直方向の中央に配置されません。これを変更するにはどうすればよいですか。
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{array}
\usepackage{hhline}
\usepackage{xfrac}
\begin{document}
\newcolumntype{M}{>{\centering\arraybackslash}m{\dimexpr.10\linewidth-2\tabcolsep}}
\begin{table}[h]
\centering
\caption{Long Stuff}
\begin{tabular}{|l|MMMM|MMMM|M}
\hline
Primer & \multicolumn{4}{M|}{Type I stuff} & \multicolumn{4}{M|}{Type II stuff} \\[5pt] \hline
Type I & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\[5pt] \hline
Type II & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\[5pt] \hline
\end{tabular}
\end{table}
\end{document}
答え1
中央揃えされないのは、の\\[5pt]
前に が使用されているためです\hline
。私はこれを パッケージのロードに置き換え、文字(またはを使用する場合)cellspace
で始まる指定子を持つ列のセルの上下の垂直間隔が最小限になるようにします。また、キャプションとテーブルの間の垂直間隔が適切になるように パッケージもロードします。S
C
siunitx
caption
\documentclass[preview]{article}
\usepackage{amsmath, xfrac}
\usepackage{caption}
\usepackage{cellspace}
\setlength\cellspacetoplimit{6pt}
\setlength\cellspacebottomlimit{6pt}
\newcolumntype{M}{>{\centering\arraybackslash}m{\dimexpr.10\linewidth-2\tabcolsep}}
\begin{document}
\begin{table}[h]
\caption{Dilutions used to establish positive and negative controls}
\label{Dilutions used to establish positive and negative controls}
\begin{tabular}{|Sl|*{4}{M}|*{4}{M}|M}
\hline
Primer & \multicolumn{4}{c|}{Type I stuff} & \multicolumn{4}{c|}{Type II stuff} \\ \hline
Type I & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\\hline
Type II & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\ \hline
\end{tabular}
\end{table}
\end{document}
答え2
\makecell
同じ名前のパッケージ(つまり)から使用してくださいmakecell
。ただし、このコマンドはそれぞれセルを個別に配置します。デフォルトの設定では、垂直方向に中央揃えになります。
コマンドに問題があり\\[5pt]
、最後の列の分数が上方にシフトします。この問題が発生しない 2 番目のバージョンを追加しました。
\documentclass{article}
\usepackage{array}
\usepackage{hhline}
\usepackage{mathtools}
\usepackage{makecell}
\usepackage{xfrac}
\newcolumntype{M}{>{\centering\arraybackslash}m{\dimexpr.12\linewidth-2\tabcolsep}}
%\newcolumntype{Q}[1]{>{\centering\arraybackslash}m{\dimexpr.10\linewidth-2\tabcolsep}}
\begin{document}
\begin{table}[h]
\centering
\caption{Dilutions used to establish positive and negative controls}
\label{Dilutions used to establish positive and negative controls}
\begin{tabular}{|l|MMMM|MMMM|M}
\hline
Primer & \multicolumn{4}{M|}{\makecell{Type I stuff}} & \multicolumn{4}{M|}{\makecell{Type II stuff}} \\[5pt] \hline
Type I & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\[5pt] \hline
Type II & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\[5pt] \hline
\end{tabular}
\end{table}
\begin{table}[h]
\centering
\caption{Dilutions used to establish positive and negative controls}
\label{Dilutions used to establish positive and negative controls}
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{|l|MMMM|MMMM|M}
\hline
Primer & \multicolumn{4}{M|}{\centering\makecell{Type I stuff}} & \multicolumn{4}{M|}{\makecell{Type II stuff}} \\ \hline
Type I & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\ \hline
Type II & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\ \hline
\end{tabular}
\end{table}
\end{document}
答え3
手動の[5pt]
間隔指定を削除し、代わりに以下を指定することをお勧めします。
\setlength\extrarowheight{5pt}
また、最初の列のマテリアルが他の 8 つの列と同じベースラインに設定されていることを確認するために、列タイプm
をから に切り替えます。p
さらに、以下の 2 番目の表に示すように、垂直線を使わず、水平線の数を減らして十分な間隔を空けた表のデザインに切り替えることをお勧めします。この表では、パッケージの線描画マクロを使用していますbooktabs
。
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{tabularx}
\newcolumntype{M}{>{\centering\arraybackslash}p{\dimexpr.10\linewidth -2\tabcolsep}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\usepackage{hhline}
\usepackage{xfrac}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\setlength\extrarowheight{5pt}
\centering
\caption{Long Stuff}
\begin{tabular}{|l|MMMM|MMMM|}
\hline
Primer & \multicolumn{4}{c|}{Type I stuff} & \multicolumn{4}{c|}{Type II stuff} \\ \hline
Type I & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\ \hline
Type II & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\ \hline
\end{tabular}
\end{table}
\begin{table}[h]
\setlength\extrarowheight{3pt}
\centering
\caption{Version with booktabs-based horizontal rules and no vertical rules}
\begin{tabularx}{0.92\textwidth}{@{} l *{8}{C} @{}}
\toprule
Primer & \multicolumn{4}{c}{Type I stuff} & \multicolumn{4}{c}{Type II stuff} \\
\cmidrule(lr){2-5} \cmidrule(l){6-9}
Type I & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\
Type II & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ & undiluted & $\sfrac{1}{10}$ & $\sfrac{1}{100}$ & $\sfrac{1}{1000}$ \\ \bottomrule
\end{tabularx}
\end{table}
\end{document}