表格LaTeX表格中的r-*在Rmarkdown中显示错误



我正在尝试使用Rmarkdown创建一个LaTeX表。该表在LaTeX中似乎运行良好,但当我在Rmarkdown上设置它时,它会出现以下错误:

processing file: table_5.Rmd
output file: table_5.knit.md
! File ended while scanning use of @argdef.
<inserted text> 
par 
<*> table_5.tex

我认为这个问题可能源于begin{tabular*}{textwidth}{@{extracolsep{fill}} l *{8}{c} },其中两个花括号都是星号。有人能在Rmarkdown提出解决这个问题的方法吗?

重现问题的代码如下:

---
output:
pdf_document:
latex_engine: lualatex
html_document: default
word_document: default
header-includes:
- usepackage[utf8]{inputenc}
- usepackage{graphicx}
- usepackage{fancyhdr}
- usepackage{booktabs}
- usepackage{array}
- usepackage{threeparttable}
- usepackage{lscape}
- usepackage{caption}
- usepackage{rotating} 
- newcommandmytabC[1]{begin{tabular}{@{}c@{}} #1 end{tabular}}
- newcommandmytabL[1]{hspace{5mm}begin{tabular}{@{}l@{}} #1 end{tabular}}
---
clearpage
renewcommandarraystretch{1.2} 
begin{sidewaystable}
setlengthtabcolsep{0pt}
scriptsize
begin{threeparttable}
caption{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare diam erat, quis accumsan massa congue bibendum. }
label{tab:my-tab5}
begin{tabular*}{textwidth}{@{extracolsep{fill}} l *{8}{c} }
toprule
&
multicolumn{2}{c}{Model 1} &
multicolumn{2}{c}{Model 2} &
multicolumn{2}{c}{Model 3} &
multicolumn{2}{c}{Model 4} \ 
cmidrule{2-3} cmidrule{4-5} cmidrule{6-7} cmidrule{8-9} 
Occupational class &
Coefficienttnote{a} & 95% CItnote{b} &
Coefficienttnote{a} & 95% CI          &
Coefficient          & 95% CItnote{b} &
Coefficienttnote{a} & 95% CItnote{b} \
midrule
multicolumn{5}{@{}l}{textbf{Father's occupational class at age 5}} & \
Female ($N=2{,}980$) & \
mytabL{I Professional/II Intermediate\ III Skilled (non-manual or manual)\ IV Partly skilled/V Unskilled} &
mytabC{0.00 (ref)\ 0.004\ 0.00} &
mytabC{—\ 0.009, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& <0.001; <0.001 & & 0.025; 0.025 & & 0.003; 0.004 & & 0.002; 0.002 \
addlinespace
Female ($N=2{,}925$) & \
mytabL{I Professional/II Intermediate\ III Skilled (non-manual or manual)\ IV Partly skilled/V Unskilled} &
mytabC{0.00 (ref)\ -0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
multicolumn{1}{c}{mytabC{0.00 (ref)\ 0.36\ 1.01}} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& 0.743; 0.568 & & 0.123; 0.045 & & 0.411; <0.001 & & 0.261; 0.408 \
addlinespace
multicolumn{5}{@{}l}{textbf{Mother's highest qualification at age 5}} & \
Female ($N=2{,}485$) & \
mytabL{Vocational/degree and higher\ A-level/equiv.\ hspace{2mm}Vocational/O-level/equiv.\ No qualification} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
multicolumn{1}{c}{mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00}} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& <0.001; <0.001 & & <0.001; 0.008 & & <0.001; 0.002 & & 0.005; 0.001 \
addlinespace
Female ($N=2{,}412$) & \
mytabL{Vocational/degree and higher\ 
A-level/equiv.\ 
Vocational/O-level/equiv.\ 
No qualification} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
multicolumn{1}{c}{mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00}} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 1.46} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& 0.304; 0.064 & & 072; 0.046 & & 0.160; 0.305 & & 0.078; — \
addlinespace
multicolumn{5}{@{}l}{textbf{Father's highest qualification at age 5}} \ 
Female ($N=2{,}343$) & \
mytabL{Vocational/degree and higher\ 
A-level/equiv.\ 
Vocational/O-level/equiv.\ 
No qualification} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\0.00\ 0.00\ 0.00} &
mytabC{—\ -0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ -0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& 0.304; 0.064 & & 0.899; 0.698 & & 0.715; 0.368 & & 0.642; 0.287 \
addlinespace
Female ($N=2{,}286$) & \
mytabL{Vocational/degree and higher\ 
A-level/equiv.\ 
Vocational/O-level/equiv.\ 
No qualification} &
mytabC{0.00 (ref)\ 0.00\ 0.002\ 0.00} &
mytabC{—\ 0.00, 0.002\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.08\ 0.00\ -0.08} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.80\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& 0.123; 0.020 & & 0.003; <0.001 & & 0.056; 0.009 & & 0.986; 0.866 \ 
bottomrule
end{tabular*}
smallskip
begin{tablenotes}     
item[a] Duis leo ante, malesuada sit amet magna at, dictum feugiat dui; 
item[b] CI: Confidence Interval; 
item[c] P-value: p-value from a likelihood ratio test of the overall association; 
item[d] P-trend: p-value not presented for relationship where there was significant deviation from linearity
end{tablenotes}    
end{threeparttable}
end{sidewaystable}
end{document}

问题是rmarkdown不够聪明,无法正确解析自定义命令中的#。您可以通过将定义隐藏在.tex文件中并输入以下文件来避免此问题:

---
output:
pdf_document:
latex_engine: lualatex
keep_tex: true
html_document: default
word_document: default
header-includes:
- usepackage[utf8]{inputenc}
- usepackage{graphicx}
- usepackage{fancyhdr}
- usepackage{booktabs}
- usepackage{array}
- usepackage{threeparttable}
- usepackage{lscape}
- usepackage{caption}
- usepackage{rotating} 
- input{preamble}
---
clearpage
renewcommandarraystretch{1.2} 
begin{sidewaystable}
setlengthtabcolsep{0pt}
scriptsize
begin{threeparttable}
caption{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare diam erat, quis accumsan massa congue bibendum. }
label{tab:my-tab5}
begin{tabular*}{textwidth}{@{extracolsep{fill}} l *{8}{c} }
toprule
&
multicolumn{2}{c}{Model 1} &
multicolumn{2}{c}{Model 2} &
multicolumn{2}{c}{Model 3} &
multicolumn{2}{c}{Model 4} \ 
cmidrule{2-3} cmidrule{4-5} cmidrule{6-7} cmidrule{8-9} 
Occupational class &
Coefficienttnote{a} & 95% CItnote{b} &
Coefficienttnote{a} & 95% CI          &
Coefficient          & 95% CItnote{b} &
Coefficienttnote{a} & 95% CItnote{b} \
midrule
multicolumn{5}{@{}l}{textbf{Father's occupational class at age 5}} & \
Female ($N=2{,}980$) & \
mytabL{I Professional/II Intermediate\ III Skilled (non-manual or manual)\ IV Partly skilled/V Unskilled} &
mytabC{0.00 (ref)\ 0.004\ 0.00} &
mytabC{—\ 0.009, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& <0.001; <0.001 & & 0.025; 0.025 & & 0.003; 0.004 & & 0.002; 0.002 \
addlinespace
Female ($N=2{,}925$) & \
mytabL{I Professional/II Intermediate\ III Skilled (non-manual or manual)\ IV Partly skilled/V Unskilled} &
mytabC{0.00 (ref)\ -0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
multicolumn{1}{c}{mytabC{0.00 (ref)\ 0.36\ 1.01}} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& 0.743; 0.568 & & 0.123; 0.045 & & 0.411; <0.001 & & 0.261; 0.408 \
addlinespace
multicolumn{5}{@{}l}{textbf{Mother's highest qualification at age 5}} & \
Female ($N=2{,}485$) & \
mytabL{Vocational/degree and higher\ A-level/equiv.\ hspace{2mm}Vocational/O-level/equiv.\ No qualification} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
multicolumn{1}{c}{mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00}} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& <0.001; <0.001 & & <0.001; 0.008 & & <0.001; 0.002 & & 0.005; 0.001 \
addlinespace
Female ($N=2{,}412$) & \
mytabL{Vocational/degree and higher\ 
A-level/equiv.\ 
Vocational/O-level/equiv.\ 
No qualification} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
multicolumn{1}{c}{mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00}} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 1.46} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& 0.304; 0.064 & & 072; 0.046 & & 0.160; 0.305 & & 0.078; — \
addlinespace
multicolumn{5}{@{}l}{textbf{Father's highest qualification at age 5}} \ 
Female ($N=2{,}343$) & \
mytabL{Vocational/degree and higher\ 
A-level/equiv.\ 
Vocational/O-level/equiv.\ 
No qualification} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\0.00\ 0.00\ 0.00} &
mytabC{—\ -0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ -0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& 0.304; 0.064 & & 0.899; 0.698 & & 0.715; 0.368 & & 0.642; 0.287 \
addlinespace
Female ($N=2{,}286$) & \
mytabL{Vocational/degree and higher\ 
A-level/equiv.\ 
Vocational/O-level/equiv.\ 
No qualification} &
mytabC{0.00 (ref)\ 0.00\ 0.002\ 0.00} &
mytabC{—\ 0.00, 0.002\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.00\ 0.00\ 0.00} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.00\ 0.00, 0.00} &
mytabC{0.00 (ref)\ 0.08\ 0.00\ -0.08} &
mytabC{—\ 0.00, 0.00\ 0.00, 0.80\ 0.00, 0.00} \
hspace{2.5mm}$p$-values (overalltnote{c}; test for trendtnote{d}) &
& 0.123; 0.020 & & 0.003; <0.001 & & 0.056; 0.009 & & 0.986; 0.866 \ 
bottomrule
end{tabular*}
smallskip
begin{tablenotes}     
item[a] Duis leo ante, malesuada sit amet magna at, dictum feugiat dui; 
item[b] CI: Confidence Interval; 
item[c] P-value: p-value from a likelihood ratio test of the overall association; 
item[d] P-trend: p-value not presented for relationship where there was significant deviation from linearity
end{tablenotes}    
end{threeparttable}
end{sidewaystable}

preamble.tex:

newcommandmytabC[1]{begin{tabular}{@{}c@{}} #1 end{tabular}}
newcommandmytabL[1]{hspace{5mm}begin{tabular}{@{}l@{}} #1 end{tabular}}

相关内容

最新更新