2014-12-15 1 views
2

R Markdown 문서를 pdf 형식으로 준비 중입니다. 이 문서에는 몇 가지 테이블이 있습니다. 나는 테이블을 포맷하기 위해 팬더 패키지를 사용했다. 데이터 프레임, DF가 pdf 출력의 테이블로 변환하려고한다고 가정합니다. 그것을 달성하기 위해 r code chunk에서 나는 panderOptions을 테이블 캡션 접두어로 변경하여 비 영어 언어로 인쇄했고 다음 줄에서 지정된 캡션 인수로 pander 함수를 호출했습니다.테이블 제목의 길이를 지정하고 서식을 지정하는 방법 [R Markdown, pander package]

--- 
title: "Let's try!" 
author: "Newbie_R" 
date: "Monday, December 15, 2014" 
output: pdf_document 
--- 


```{r setoptions, echo = F, message=FALSE} 
library (knitr) 
library (pander) 
opts_chunk$set(echo = F) 
``` 


```{r DF} 
    vm <- 3/2 + 4/2 
    jl <- vm 
    ik <- 2+4 
    sr <- 3 + 4/2 
    lb <- 4 
    dk <- 3 
    zb <- 3 
    ss <- 2 

    DF <- data.frame (VM = vm, 
         JL = jl, 
         IK = ik, 
         SR = sr, 
         LB = lb, 
         DK = dk, 
         ZB = zb, 
         SS = ss) 

``` 
Try to make a table!!! 



```{r panderTable} 
    panderOptions("table.caption.prefix", "XXXXXX 1: ") 
    pander (DF, caption = "This is a very long table's title that should be printed above the table; Also, I would like format it to match boundaries of a length of the table") 
``` 

출력은 내가하고 싶은 방법은 아니다 :

여기에 R 인하 코드의 관련 부분이다. 내가 원하는 : (테이블의 범위 내에서 랩 텍스트) 테이블의 길이와 일치하는 방식으로 테이블의 제목의

  • 형식 길이 테이블 위의

    1. 위치 테이블의 제목 (캡션)

    2. 테이블을 조금 움직여 "테이블을 만들려고 !!!" r 코드 덩어리의 일부가 아닌 텍스트. "표 만들기를 시도하십시오"라는 텍스트는 표의 제목과 비교하여 표에 더 가깝습니다.

    갱신 1 :

    This link 원래 출력하도록 지시한다. 그 대신에 나는 to make something like this을 원합니다.

    UPDATE2는 :

    this GitHub web page에, 하나는 테이블의 상단에 제목을 배치하는 문제에 대한 옵션을 찾을 수 있습니다. @daroczig는 pander와 관련된 문제가 아니라고 말했습니다. 그러나 그는 그것이 성취 될 수있는 방법을 제안했다. @daroczig가 제안한 코드 줄은 어디에 두어야합니까? Pandoc의 mardown 캡션을 넣을 수있는 위치에 definite syntax을 가지고로

    \usepackage{floatrow} 
    \floatsetup[table]{capposition=top} 
    \floatsetup[figure]{capposition=top} 
    
  • +0

    잘 모르지만 옵션 같지 않거나 [이 예] (https://github.com/Rapporter/pander/blob/master/README.md#caption)에 포함되어 있지 않습니다. knitr 또는 xtable 또는 다른 패키지에서 kable을 사용해 보셨습니까?흥미롭게도, 콘솔에서'kable (DF, format = 'pandoc', caption = "Table caption")을 시도하면 캡션이 테이블 위에 인쇄되지만 니트를 만들면 캡션이 아래에 추가됩니다. pandoc 일이어야합니다 .. – rawr

    +0

    @rawr thx 제안. 나는 kable과 xtable을 시도했지만 성공하지 못했습니다. 나는 주변을 둘러 보았다. pander 패키지에는 여러 옵션이 있으며, 그 중 일부는 작업을 수행 할 수 있어야한다고 믿고 있었다. –

    답변

    1

    음, 이것은 pander이 아니라도 인하 문제되지 않습니다 : 그것은 인하 테이블 아래에 배치해야합니다.

    그러나 markdown을 HTML 또는 PDF로 변환 한 후에는 Pandoc이 markdown 테이블을 보통 table LaTeX 환경으로 변환 했으므로 원하는 위치에 캡션을 자유롭게 배치 할 수 있습니다. 위의 참조로 쉽게 사용자 지정할 수 있습니다. floatrow 패키지. Pandoc는 자막의 위치가 Pandoc의 버전에 의해 정의된다 longtable 대신 table 또는 ctable 사용으로

    불행하게도이 더 이상 가능하지 않다 : 그것은 테이블 아래에 캡션을 넣어 사용하지만, recent commit 때문에, 캡션 배치 테이블 위. 자세한 내용은 Pandoc의 maillist related thread을 참조하십시오.

    +0

    설명을 위해 thx. 내 게시물 (특히 2.)에서 문제 2와 3을 어떻게 해결할 수 있는지 알고 있습니까? –

    +1

    @Newbie_R : 불행히도'# 2 '는'longtable '이있는 쉬운 것이 아니지만 예를 들어. 다른 LaTeX 환경 (예 :'threeparttable')을 사용하면이 설정을 지원합니다. 그러나 현재 버전의'pandoc'에서는'longtable '을 사용해야 만합니다. 그래서 캡션 너비를 수동으로 지정하는 것이 최후의 수단입니다 :'caption' LaTeX 패키지로'\ captionsetup {width = .75 \ textwidth}'. '# 3' : LaTeX의 간단한 질문입니다. '\ vspace {10mm}'는 이것을 놓을 때마다 1cm의 공백을 갖습니다. – daroczig