我是 LaTeX 新手。但是,我不知道为什么此代码不起作用:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[usenames, dvipsnames]{color}
\usepackage{multirow}
\title{r}
\author{omar113057 }
\date{September 2018}
\begin{document}
\maketitle
\section{Introduction}
\definecolor{black}{rgb}{0.0, 0.0, 0.0}
\begin{table}[!hbtp]
\begin{center}
\begin{normalsize}
\color{black}
\begin{tabular}{llcrr}
\hline
&Female&Male&\\
&(N=287)&(N=570)&\multirow{-2}{*}{p}\\
\hline
age & 68.7 \pm 10.7 & 60.6 \pm 11.2 & < 0.001\\
\hline
cardiogenicShock &&& 0.136\\
\hspace{0.5cm} No &275 (95.8\%)&530 (93.0\%)&\\
\hspace{0.5cm} Yes &12 ( 4.2\%)&40 ( 7.0\%)&\\
\hline
entry &&&0.035\\
\hspace{0.5cm} Femoral &119 (41.5\%)&193 (33.9\%)&\\
\hspace{0.5cm} Radial &168 (58.5\%)&377 (66.1\%)&\\
\hline
Dx &&&0.012\\
\hspace{0.5cm} NSTEMI &50 (17.4\%)&103 (18.1\%)&\\
\hspace{0.5cm} STEMI &84 (29.3\%)&220 (38.6\%)&\\
\hspace{0.5cm} Unstable Angina&153 (53.3\%)&247 (43.3\%)&\\
\hline
EF &56.3 \pm 10.1&55.6 \pm 9.4&0.387\\
\hline
height &153.8 \pm 6.2&167.9 \pm 6.1&< 0.001\\
\hline
weight &57.2 \pm 9.3&68.7 \pm 10.3&< 0.001\\
\hline
BMI &24.2 \pm 3.6&24.3 \pm 3.2&0.611\\
\hline
obesity &&&0.580\\
\hline
\hspace{0.5cm} No &194 (67.6\%)&373 (65.4\%)&\\
\hline
\hspace{0.5cm} Yes &93 (32.4\%)&197 (34.6\%)&\\
TC &188.9 \pm 51.1&183.3 \pm 45.9&0.124\\
\hline
LDLC &117.8 \pm 41.2&116.0 \pm 41.1&0.561\\
\hline
HDLC &39.0 \pm 11.5&37.8 \pm 10.9&0.145\\
\hline
TG &119.9 \pm 76.2&127.9 \pm 97.3&0.195\\
\hline
DM &&&0.077\\
\hspace{0.5cm} No &173 (60.3\%)&380 (66.7\%)&\\
\hspace{0.5cm} Yes &114 (39.7\%)&190 (33.3\%)&\\
HBP &&&< 0.001\\
\hspace{0.5cm} No &83 (28.9\%)&273 (47.9\%)&\\
\hspace{0.5cm} Yes &204 (71.1\%)&297 (52.1\%)&\\
\hline
smoking &&&< 0.001\\
\hspace{0.5cm} Ex-smoker &49 (17.1\%)&155 (27.2\%)&\\
\hspace{0.5cm} Never &209 (72.8\%)&123 (21.6\%)&\\
\hspace{0.5cm} Smoker &29 (10.1\%)&292 (51.2\%)&\\
\hline
\end{tabular}
\end{normalsize}
\end{center}
\end{table}
\color{black}
\end{document}
此代码由R名为 ztable 的包。然而,我修复了此代码中的大量错误,并且日志不断抛出的这个 $ 符号对我来说非常奇怪,因为我在这里看不到任何模式。
我还想制作一个居中且间距合适的桌子。我该怎么做?
答案1
主要问题是\pm
宏观必须$
发生在数学模式中。为了尽量减少进入和退出数学模式所需的符号数量,我建议您使用自动处于数学模式的l
、r
和列类型的版本。请参阅下面的代码以了解实现此目的的方法。c
此外,我将重组表格,为计数和百分比提供单独的列。
并且,不要在环境中使用\begin{center}
and 。相反,使用单个指令。\end{center}
table
\centering
最后,我会省略大部分水平线,或者至少用一些垂直空白来代替它们。并且,请加载包booktabs
并使用\toprule
、\midrule
和\bottomrule
来表示剩余的三条水平线。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{multirow}
\usepackage{array,booktabs} % <-- new
% automatic math-mode column types:
\newcolumntype{L}{>{$}l<{$}} % left-aligned
\newcolumntype{C}{>{$}c<{$}} % centered
\newcolumntype{R}{>{$}r<{$}} % right-aligned
% two handy shortcut macros:
\newcommand\mcC[1]{\multicolumn{2}{C}{#1}}
\newcommand\mcR[1]{\multicolumn{2}{R}{#1}}
\begin{document}
\begin{table}[!ptbh]
\caption{An informative table}
\smallskip
\centering
\begin{tabular}{@{}l *{2}{R @{\hspace{1mm}} R} R @{}}
\toprule
&\mcC{$Female$} & \mcC{$Male$} & \\
&\mcC{(N=287)} & \mcC{(N=570)} & \multirow{-2}{*}{$p$}\\
\midrule
Age & \mcR{68.7 \pm 10.7} & \mcR{60.6 \pm 11.2} & <0.001\\
\addlinespace
CardiogenicShock &&&&& 0.136\\
\hspace{5mm} No &275 & (95.8\%) &530 & (93.0\%) &\\
\hspace{5mm} Yes & 12 & ( 4.2\%) & 40 & (7.0\%) &\\
\addlinespace
Entry &&&&&0.035\\
\hspace{5mm} Femoral &119 & (41.5\%) &193 & (33.9\%) &\\
\hspace{5mm} Radial &168 & (58.5\%) &377 & (66.1\%) &\\
\addlinespace
DX &&&&&0.012\\
\hspace{5mm} NSTEMI &50 & (17.4\%) &103 & (18.1\%) &\\
\hspace{5mm} STEMI &84 & (29.3\%) &220 & (38.6\%) &\\
\hspace{5mm} Unstable Angina&153 & (53.3\%) &247 & (43.3\%) &\\
\addlinespace
EF & \mcR{56.3 \pm 10.1} & \mcR{55.6 \pm 9.4} &0.387\\
\addlinespace
Height & \mcR{153.8\pm 6.2} & \mcR{167.9\pm 6.1}&< 0.001\\
\addlinespace
Weight & \mcR{57.2 \pm 9.3} & \mcR{68.7 \pm 10.3} &< 0.001\\
\addlinespace
BMI & \mcR{24.2 \pm 3.6} & \mcR{24.3 \pm 3.2} &0.611\\
\addlinespace
Obesity &&&&&0.580\\
\hspace{5mm} No &194 & (67.6\%) &373 & (65.4\%) &\\
\hspace{5mm} Yes & 93 & (32.4\%) &197 & (34.6\%) &\\
\addlinespace
TC & \mcR{188.9\pm 51.1} & \mcR{183.3\pm 45.9} &0.124\\
\addlinespace
LDLC & \mcR{117.8\pm 41.2} & \mcR{116.0\pm 41.1} &0.561\\
\addlinespace
HDLC & \mcR{39.0 \pm 11.5} & \mcR{37.8 \pm 10.9} &0.145\\
\addlinespace
TG & \mcR{119.9\pm 76.2} & \mcR{127.9\pm 97.3} &0.195\\
\addlinespace
DM &&&&&0.077\\
\hspace{5mm} No &173 & (60.3\%) &380 & (66.7\%) &\\
\hspace{5mm} Yes &114 & (39.7\%) &190 & (33.3\%) &\\
\addlinespace
HBP &&&&&< 0.001\\
\hspace{5mm} No & 83 & (28.9\%) &273 & (47.9\%) &\\
\hspace{5mm} Yes &204 & (71.1\%) &297 & (52.1\%) &\\
\addlinespace
Smoking &&&&&< 0.001\\
\hspace{5mm} Ex-smoker & 49 & (17.1\%) &155 & (27.2\%) &\\
\hspace{5mm} Never &209 & (72.8\%) &123 & (21.6\%) &\\
\hspace{5mm} Smoker & 29 & (10.1\%) &292 & (51.2\%) &\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
\pm
是一个数学命令,所以您收到的第一个错误与此有关,并通过添加来恢复,$
因此您的输入相当于$\pm
然后在单元格末尾收到第二个错误,$
缺少第二个关闭数学模式。使用$68.7 \pm 10.7$
并类似地对所有数字条目使用数学,无论它们是否有,\pm
所以它们都设置为相同的字体。
答案3
一种解决方案是使用命令\ensuremath
。如果参数尚未处于数学模式,此命令将使参数进入数学模式。它还会正确地将其恢复到正常文本模式。如果您已经处于数学模式,TeX 会将参数保留在数学模式中。
如果您还没有这样做,您可以使用宏定义将某些东西放入数学模式。
为了您的使用(\pm
在数学或文本模式中),您可以定义一个宏\ppmm
:
\newcommand{\ppmm}{\ensuremath{\pm}}
然后您可以\ppmm
在文本模式或$\ppmm$
数学模式下使用而不会出现语法错误。
在许多类似情况下,宏\ensuremath
都很有用。例如,为了在 TeX 中描述 12 位 ADC,我使用
$\mathcal{ADC}_{12}$
但有时我可能想在数学模式下使用它。通过使宏使用\ensuremath
包装器,它可以在两种模式下安全地使用:
\newcommand{\adctw}{\ensuremath{\mathcal{ADC}_{12}}
然后,您可以在文档中调用该宏,无论是在数学模式${\adctw}$
还是文本模式下,\adctw
并且它可以正常工作而不会出现语法错误。