>

bookdown 사용법을 배우고 있습니다  동일한 Rmd 파일에서 PDF 및 Word 문서를 동시에 렌더링합니다. Sumatra PDF reader 를 사용하여 PDF 출력을보고 싶기 때문에 ebook UI에 표시된 문서의 수정 된 문서를 자동으로 다시로드 할 수 없습니다 ( ReloadModified Documents 참조).   https://www.sumatrapdfreader.org/settings.html ) PDF 파일을 렌더링 할 때마다 다음과 같이 Sumatra PDF 리더에서 볼 때마다 한 줄씩 실행했습니다.

bookdown::render_book('index.Rmd',output_format = 'all',new_session = TRUE,preview=TRUE);
system('cmd.exe',input='taskkill /IM SumatraPDFPortable.exe');
system('cmd.exe',input='"C:/PortableApps/SumatraPDFPortable/SumatraPDFPortable.exe" "E:/output.pdf"')

"rendernow"를 입력하고 R 콘솔에 입력 할 때마다 위의 행이 실행되도록 R 개체 (예 : rendernow)를이 행에 할당 할 수 있는지 알고 싶습니다.

감사합니다!


  • 답변 # 1

    그냥 기능으로 만드세요 :

    rendernow <- function() {
      bookdown::render_book('index.Rmd',output_format = 'all',new_session = TRUE,preview=TRUE);
      system('cmd.exe',input='taskkill /IM SumatraPDFPortable.exe');
      system('cmd.exe',input='"C:/PortableApps/SumatraPDFPortable/SumatraPDFPortable.exe" "E:/output.pdf"')
    }
    
    

    그런 다음 rendernow() 를 통해 호출 할 수 있습니다  (괄호가 필요합니다)

    <시간>

    재미있게하기 위해 괄호가 필요없는 솔루션은 다음과 같습니다.

    rendernow <- structure("", class = "rendernow")
    print.rendernow <- function(x, ...) {
      bookdown::render_book('index.Rmd',output_format = 'all',new_session = TRUE,preview=TRUE);
      system('cmd.exe',input='taskkill /IM SumatraPDFPortable.exe');
      system('cmd.exe',input='"C:/PortableApps/SumatraPDFPortable/SumatraPDFPortable.exe" "E:/output.pdf"')
    }
    
    

    그러면 rendernow 만 입력하면됩니다.  단계가 시작됩니다.

  • 이전 순수한 JavaScript/HTML/CSS로이 3D 지구 효과를 만드는 방법은 무엇입니까?
  • 다음 c# - json URL에서 데이터 가져 오기 [Xamarin]