2014-12-01 4 views
1

Прочитав документы, я думаю, что это маловероятно, но решите спросить независимо.Может ли xxtable производить captionof вместо caption?

Я пишу плакат, а tabular должен оставаться в среде center вместо table окружающей среды. (Окружающая среда table - это поплавок, который не работает внутри ящиков плаката).

Это приводит к необходимости использования \captionof вместо \caption, чтобы подписать подпись внутри среды center. Есть xtable, способный к такой штуке?

ответ

3

\caption жестко закодирован. См. Источник print.xtable.R.

if (tabular.environment == "longtable" && caption.placement == "top") { 
      if (is.null(short.caption)){ 
       BCAPTION <- "\\caption{" 
      } else { 
       BCAPTION <- paste("\\caption[", short.caption, "]{", sep = "") 
      } 

Путь вокруг этого будет делать gsub на результат, прежде чем передать его переводчику. Что-то вроде линий gsub("\\caption", "\captionof", x).

+0

Хорошая идея на 'gsub', но в какой момент я ее вставляю? Я делаю 'print (xtable (my.df), file =" my_table.tex ")'. – Heisenberg

+1

Сохраните инструкцию 'print' к переменной, запустите ее через' gsub' и затем экспортируйте в .tex' (например, используя 'cat (..., file =" my_table.tex ")'. –

+1

@Heisenberg - - [Вот пример] (http://stackoverflow.com/questions/12148770/changing-the-color-of-negative-numbers-to-red-in-a-table-generated-with-xtable/12148962#12148962), который выполняет этот тип вещей, используя 'capture.output()', 'gsub()' и 'cat()'. –