\cals
我已经使用包(具体来说,使用命令)创建了一个 LaTeX(xelatex 编译)表\calstable
。我使用 R 的 RMD 文件将 LaTeX 编译为 PDF。但是,我使用两行嵌套\thead{}
命令,中间 .tex 类似于以下内容:
%example.tex file
\documentclass[]{article}
% package load
\usepackage{cals}
\usepackage{xcolor}
% initialize @ symbol
\makeatletter
\begin{document}
% begin custom commands
\newcommand\cellVtop[1]{
\cell{#1}}
\newcommand\cellVbot[1]{
\cell{\vfill #1}}
\newcommand{\rrBoxGrantee}[1]{
\parbox{2.5in}{\raggedright #1}}
\newcommand{\rrBoxFiveCol}[1]{
\parbox{1in}{\raggedright #1}}
\newcommand{\rrBox}[1]{
\parbox{0.875in}{\raggedright #1}}
% end custom commands
\colwidths{{0.5in}{2.75in}{1.08333333333333in}{1.08333333333333in}{1.08333333333333in}}
\small
\begin{calstable}
\thead{
\brow
\nullcell{ltr}
\spancontent{}
\nullcell{ltr}
\spancontent{}
\nullcell{ltb}
\nullcell{tb}
\nullcell{trb}
\alignC\spancontent{\vfill \textbf{Enrollees}}
\erow
\brow
\alignC\cellVbot{\rrBox{\textbf{Rank}}}
\alignL\cellVbot{\rrBox{\textbf{Grantee}}}
\alignL\cellVbot{\rrBoxFiveCol{\textbf{Target}}}
\alignL\cellVbot{\rrBoxFiveCol{\textbf{Actual}}}
\alignL\cellVbot{\rrBoxFiveCol{\textbf{Percentage of Target}}}
\erow}
% begin multiple rows [...]
% repeat code for the below row until page break occurs (~30 rows)
\brow
\alignL\cellVtop{0}
\alignL\cellVtop{\rrBoxGrantee{Grantee A}}
\alignL\cellVtop{0}
\alignL\cellVtop{0}
\alignL\cellVtop{0\%}
\erow
% end multiple rows [...]
\normalsize
\end{calstable}
\pagebreak
\end{document}
用,[...]
代表为简洁起见而排除的文本。
但是,编译时,任何进入下一页的表格都缺少 的顶行标题文本\thead
。奇怪的是,单元格格式是正确的,只是没有文本。似乎当没有调用\nullcell{}
和 时\spancontent
,列会按预期重复。但是,我需要包含“Enrollees”的顶部标题进行合并,如下图所示。
PS:我已经确认上面的 example.tex 文件可以通过命令提示符中的以下命令编译为 .pdf:
xelatex example.tex
答案1
文本没有丢失,只是离页面太远了。跨度设置很复杂,可能会出错。对于每个跨度,应该只有一个“spancontent”,但您的代码有多个。要修复:
\thead{
\brow
\nullcell{ltr}
%\spancontent{} % FIXED
\nullcell{ltr}
%\spancontent{} % FIXED
\nullcell{ltb}
\nullcell{tb}
\nullcell{trb}
\alignC\spancontent{\vfill \textbf{Enrollees}}
\erow
\brow
\alignC\cellVbot{\rrBox{\textbf{Rank}}}
\alignL\cellVbot{\rrBox{\textbf{Grantee}}}
\alignL\cellVbot{\rrBoxFiveCol{\textbf{Target}}}
\alignL\cellVbot{\rrBoxFiveCol{\textbf{Actual}}}
\alignL\cellVbot{\rrBoxFiveCol{\textbf{Percentage of Target}}}
\erow}