【问题标题】:How to insert space in text in a .PDF file created via ".R" -> (roxygen2) ".Rd" -> (R CMD check mypackage) ".PDF"?如何在通过“.R”->(roxygen2)“.Rd”->(R CMD check mypackage)“.PDF”创建的.PDF文件中的文本中插入空格?
【发布时间】:2025-12-03 18:50:01
【问题描述】:

我已经通过 ".R" -> (roxygen2) ".Rd" -> (R CMD check mypackage) ".PDF" 创建了许多 .PDF 文件。

现在,我想在包的 .PDF 文件(mypackage-manual.pdf)中添加一个表格模板:

Table: ADF Statistics of the Raw Variables
---------------------------------------------------------------------
  var type inc levelt Pc c Pt t prob omlo type inc 1stDifft Pc c Pt t prob omlo intorder
----------------------------------------------------------------------
1 Var1 dt                                  dt
2 Var1 d                                   d
3 Var1 -                                   -
4 Var2 dt                                  dt
5 Var2 d                                   d
6 Var2 -                                   -
------------------------------------------------------------------------

我做了什么:
1.我多次按下空格键以分配足够的空间,以便“dt”/“d”/“-”放在类型列下。 但是,在 [".R" -> (roxygen2) ".Rd" -> (R CMD check package) ".PDF"] 过程中,这些空格并没有出现,就好像我根本没有按空格键一样!

2.我插入了很多“\quad”标签以在“.R”文件的前导中产生足够的空格:

#' Table: ADF Statistics of the Raw Variables \cr
#' -------------------------------------------------- \cr
#'   var type inc levelt Pc c Pt t prob omlo type inc 1stDifft Pc c Pt t prob omlo intorder \cr
#' ------------------------------------------------------------------ \cr
#' 1 Var1 dt\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad dt \cr
#' 2 Var1 d \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad d \cr
#' 3 Var1 - \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad - \cr
#' 4 Var2 dt \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad dt \cr
#' 5 Var2 d \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad d \cr
#' 6 Var2 - \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad - \cr
#' -------------------------------------------------------------------- \cr

但是,在 [".R" -> (roxygen2) ".Rd" -> (R CMD check package) ".PDF"] 过程中,所有这些 "\quad" 标签都没有被处理,所有的它们被打印在生成的 .PDF 中,就好像它们是文本而不是标签一样:

Table: ADF Statistics of the Raw Variables 
--------------------------------------------------
   var type inc levelt Pc c Pt t prob omlo type inc 1stDifft Pc c Pt t prob omlo intorder 
 ------------------------------------------------------------------ 
 1 Var1 dt\quad\quad\quad\quad\quad\quad\quad\quad dt 
 2 Var1 d \quad\quad\quad\quad\quad\quad\quad\quad d 
 3 Var1 - \quad\quad\quad\quad\quad\quad\quad\quad - 
 4 Var2 dt \quad\quad\quad\quad\quad\quad\quad\quad dt 
 5 Var2 d \quad\quad\quad\quad\quad\quad\quad\quad d 
 6 Var2 - \quad\quad\quad\quad\quad\quad\quad\quad - 
 -------------------------------------------------------------------- 

作为乳胶的新手,我无法放置足够的空间。另外,我不确定“成为乳胶的新手”和“roxygen2 所需的特殊代码”是否是我的不足。任何帮助将不胜感激。

3. Thomas 的解决方案(据我所知):

#'  \tabular{ccccccccccccccccccccc}{
#'    . \tab var \tab type \tab inc \tab levelt \tab Pc \tab c \tab Pt \tab t \tab prob \tab omlo \tab type \tab inc \tab 1stDifft \tab Pc \tab c \tab Pt \tab t \tab prob \tab omlo \tab intorder \cr
#'    1 \tab Var1 \tab dt \tab \tab \tab \tab \tab \tab \tab \tab \tab dt \tab \tab \tab \tab \tab \tab \tab \tab \tab \cr
#'    2 \tab Var1 \tab d \tab \tab \tab \tab \tab \tab \tab \tab \tab d \tab \tab \tab \tab \tab \tab \tab \tab \tab \cr
#'    3 \tab Var1 \tab - \tab \tab \tab \tab \tab \tab \tab \tab \tab - \tab \tab \tab \tab \tab \tab \tab \tab \tab \cr
#'    4 \tab Var2 \tab dt \tab \tab \tab \tab \tab \tab \tab \tab \tab dt \tab \tab \tab \tab \tab \tab \tab \tab \tab \cr
#'    5 \tab Var2 \tab d \tab \tab \tab \tab \tab \tab \tab \tab \tab d \tab \tab \tab \tab \tab \tab \tab \tab \tab \cr
#'    6 \tab Var2 \tab - \tab \tab \tab \tab \tab \tab \tab \tab \tab - \tab \tab \tab \tab \tab \tab \tab \tab \tab
#'  }

这样做了:

. var type inc levelt Pc c Pt t prob omlo type inc 1stDifft Pc c Pt t prob oml
1 Var1 dt                                  dt
2 Var1 d                                    d
3 Var1 -                                    -
4 Var2 dt                                  dt
5 Var2 d                                    d
6 Var2 -                                    -

最后的列名不适合 .PDF 的右侧,并且生成的 .PDF 中未显示“o intorder”。

【问题讨论】:

  • 在此处查看有关表格的说明:cran.r-project.org/doc/manuals/r-devel/…。在 LaTeX 中,大部分空白基本上都被忽略了。
  • @Thomas 您的解决方案(使用\tabular\tab)在一定程度上解决了这个问题。我在link 中应用了表格代码。选项卡分离得很多,因此,认为“inc levelt Pc c Pt t prob omlo”在同一列中是一种解决很多分离的方法。不使用\tabular\tab 的解决方案将非常有弹性;我不为正式编码而苦苦挣扎,而是在 .PDF 文件中进行任何编码(反映更好的外观)。
  • 您能否更新您的问题以包含您使用的新 \tabular 代码?

标签: r pdf latex spaces roxygen2


【解决方案1】:
#'
#' Table: ADF Statistics of the Raw Variables \cr
#' -------------------------------------------------------------------------------------- \cr
#'  \tabular{cl}{
#'    . \tab var type inc levelt Pc c Pt t prob omlo type inc 1stDifft Pc c Pt t prob omlo intorder \cr
#'    1 \tab Var1 dt ................................................. dt .................. \cr
#'    2 \tab Var1 d ................................................. d .................. \cr
#'    3 \tab Var1 - ................................................. - .................. \cr
#'    4 \tab Var2 dt ................................................. dt .................. \cr
#'    5 \tab Var2 d ................................................. d .................. \cr
#'    6 \tab Var2 - ................................................. - ..................
#'  }
#' -------------------------------------------------------------------------------------- \cr
#'

制作:

Table: ADF Statistics of the Raw Variables
————————————————————————————–
. var type inc levelt Pc c Pt t prob omlo type inc 1stDifft Pc c Pt t prob omlo intorder
1 Var1 dt ................................. dt ..................
2 Var1 d .................................. d ..................
3 Var1 - .................................. - ..................
4 Var2 dt ................................. dt ..................
5 Var2 d .................................. d ..................
6 Var2 - .................................. - ..................
————————————————————————————–

我尝试xcolor 包及其派生词使点显示为白色,但失败了。

【讨论】: