我需要后两列的文本居中对齐。
我还需要有人帮我清理这张桌子。它看起来很丑。
请注意,它位于multicols
(2 列)环境内,因为上下文是一份科学报告。
它很复杂,因为它涉及到几个包的交互,如tabularx
、multicol
和multirow
。
我尝试将其放在表格环境中,但这会引入浮动问题。我希望它准确地浮动在文档中的位置。如果需要,它应该继续溢出到下一列或整个页面。
\documentclass[a4paper,12pt]{article}
\author{Peter Cao}
\date{}
\usepackage[font=small,labelfont=bf,tableposition=top]{caption} %apparently needs to come first or options clash with other packages will occur
\usepackage[x11names,dvipsnames]{xcolor} %for use in color links
\usepackage[hyphens]{url}
\usepackage[colorlinks=true,linkcolor=Blue4,citecolor=blue]{hyperref}
\usepackage[hyphenbreaks]{breakurl}
\usepackage{a4wide}
\usepackage{graphicx}
\usepackage[version=3]{mhchem}
\usepackage[T1]{fontenc} %for > and < in text mode
\usepackage{tikz}
\mhchemoptions{arrows=pgf-filled}
\usepackage{booktabs} %for top, middle and bottomline
\usepackage{multirow} %multi column and row spanning
\usepackage{amsmath}
\usepackage{cite}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{siunitx}
\usepackage{fancyhdr}
%\usepackage{fancyheadings} seems to be obsoleted by fancyhdr
\usepackage{comment}
\usepackage{multicol}
\usepackage{lastpage}
\newcommand{\ignore}[1]{} %a null macro which gobbles up comments, and thus acts as a tool for in-line commenting.
\begin{document}
\begin{multicols}{2}
\subsection*{Results}
{\small
\begin{tabularx}{\columnwidth}{X | X | X}
\toprule
Characteristic & \multicolumn{2}{c}{Result}\\
\cmidrule(l){2-3}
& Seaweed isolate & Coral isolate \\
\cmidrule(r){1-1} \cmidrule(l){2-3}
Cell shape & Rod & Rod\\
Gram stain & - & -\\
Oxidase & + & -\\
Catalase & + & -\\
MSA & Growth & No growth\\
Anaerobic & Growth (weak) & No growth\\
Motility & & \\
Indole production & & \\
Hugh \& Leifsons & & \\
\bottomrule
\end{tabularx}
}
\end{multicols}
\end{document}
编辑:在下面的示例中,请注意表格的右侧边距没有得到尊重。我该如何修复此问题?
答案1
居中很简单 - 只需指定“c”列,而不是“X”。在下面的解决方案中,我将其保留为表格tabularx
- 尽管我认为它可以很容易地成为一个简单的tabular
。(就我个人而言,我认为左对齐的列实际上会更好:这样列边缘可以很好地对齐,并且不需要垂直规则;所以我认为你犯了一个设计错误,但我已经按照你的要求做了。)
其余部分主要就是清理图表垃圾 —— 那些实际上无法传达信息,却占用空间的垃圾。原始表格中有很多这样的垃圾。
- 你不需要“结果”或者“特征”这样的标签,所以就这样吧。
- “隔离”标签可以放在每一列之前(因为它与“珊瑚”和“海藻”都相关),这样可以节省一些空间。
- 删除所有垂直线,并删除尽可能多的水平线。这很关键。
- 消除大写字母(由于这些不是完整的句子,因此几乎没有必要)。
- 使用减号而不是连字符作为“加号”的反义词。这只是一个印刷正确的问题!
- 将“增长(弱)”改为“弱增长”,节省一些积分......
- 修剪左右两侧的 cmidrule
当然,其中一些决定有点个人化(例如全部使用小写字母)——但是为了节省空间。其他决定(例如取消垂直规则)则相当基本。
\documentclass[a4paper,12pt]{article}
\usepackage{a4wide}
\usepackage[T1]{fontenc} %for > and < in text mode
\usepackage{booktabs} %for top, middle and bottomline
\usepackage{tabularx}
\usepackage{multicol}
\begin{document}
\begin{multicols}{2}
\subsection*{Results}
{\small
\begin{tabularx}{\columnwidth}{lcc}
\toprule
& \multicolumn{2}{c}{isolate} \\
& seaweed & coral \\
\cmidrule(lr){2-3}
cell shape & rod & rod\\
gram stain & $-$ & $-$\\
oxidase & + & $-$\\
catalase & + & $-$\\
\textsc{msa} & growth & no growth\\
anaerobic & weak growth & no growth\\
motility & & \\
indole production & & \\
Hugh \& Leifsons & & \\
\bottomrule
\end{tabularx}
}
\end{multicols}
\end{document}
答案2
\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[lmargin=2cm,rmargin=1cm]{geometry}
\usepackage{booktabs} %for top, middle and bottomline
\usepackage{graphicx}
\usepackage{multicol}
\begin{document}
\begin{multicols}{2}
\subsection*{Results}
\medskip\noindent
\resizebox{\columnwidth}{!}{%
\begin{tabular}{@{} l c c @{}}\toprule
& \multicolumn{2}{c}{\emph{isolate}} \\[-\smallskipamount]
& \emph{seaweed} & \emph{coral} \\\cmidrule(lr){2-3}
cell shape & rod & rod\\
gram stain & $-$ & $-$\\
oxidase & $+$ & $-$\\
catalase & $+$ & $-$\\
\textsc{msa} & growth & no growth\\
anaerobic & weak growth & no growth\\
motility & & \\
indole production & & \\
Hugh \& Leifsons & & \\
\bottomrule
\end{tabular}%
}
\blindtext
\end{multicols}
\end{document}
答案3
你的代码没有tabularx:
\documentclass[a4paper,12pt]{article}
\usepackage[margin=1cm]{geometry}
\usepackage{graphicx}
\usepackage[T1]{fontenc} %for > and < in text mode
\usepackage{booktabs}
\usepackage{multicol}
\begin{document}
\begin{multicols}{2}
\subsection*{Results}
\noindent
\resizebox{\linewidth}{!}{%
\begin{tabular}{@{}l | c | c @{}}\toprule
Characteristic & \multicolumn{2}{c}{Result} \\\cmidrule(l){2-3}
& Seaweed isolate & Coral isolate \\
\cmidrule(r){1-1} \cmidrule(l){2-3}
Cell shape & Rod & Rod \\
Gram stain & $-$ & - \\
Oxidase & $+$ & $-$ \\
Catalase & $+$ & $-$ \\
MSA & Growth & No growth\\
Anaerobic & Growth (weak) & No growth\\
Motility & & \\
Indole production & & \\
Hugh \& Leifsons & & \\\bottomrule
\end{tabular}%
}
\end{multicols}
\end{document}