이렇게 입력하면 왜 'Type I 항목'과 'Type II 항목'이 2~3줄로 나누어지나요? 줄 바꿈 없이 한 줄로 작성하려면 어떻게 해야 합니까? 여러 열에 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
비중심화는 s \\[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]
마지막 열의 분수가 약간 상향 이동됩니다. 이것이 발생하지 않는 두 번째 버전을 추가했습니다.
\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
또한 아래 두 번째 표에 예시된 것처럼 수직선을 사용하지 않고 그보다 적은 수의 수평선을 잘 배치한 테이블 디자인으로 전환하는 것이 좋습니다. 패키지 의 선 그리기 매크로를 사용합니다 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}