2015-09-23 67 views
8

我研究並找到了如何在rmarkdown文檔中創建水印。rmarkdown中的水印

它對基本文本非常有用,但是當你有一個劇情重頁時,它會隱藏在劇情背後。

顯然,這使得人們可以很容易地屏蔽數字並在PDF之外使用它們。

下面是一些清楚地表明問題的代碼。

--- 
title: "Testing Watermark" 
author: "John" 
date: "September 18, 2015" 
header-includes: 
    - \usepackage{draftwatermark} 
output: 
    pdf_document 
--- 

This is some basic text. 
Note the watermark on this page, and the hidden watermark on the next page. 

\newpage 

\SetWatermarkText{DRAFT} 

```{r echo=FALSE, warning=FALSE, message=FALSE, fig.height=7} 
library(ggplot2) 

ggplot(mtcars) + 
    geom_point(aes(mtcars$mpg, mtcars$cyl)) + 
    facet_wrap(~carb, ncol=1) + 
    theme_bw() 
``` 

如果有人知道此問題的解決方法,我將不勝感激。

要麼使ggplot背景透明(我已經嘗試過),要麼將水印放到前景並使其透明就可以了,就我而言。

+0

查看cowplot包。 – zx8754

+0

如果你需要自己加蓋的東西,你可以添加版權文本給違規的情節本身,這將保護你免受屏幕上限。 –

+0

[cowplot](https://cran.r-project.org/web/packages/cowplot/index.html) –

回答

6

使用

header-includes: 
    - \usepackage{eso-pic,graphicx,transparent} 

並嘗試然後文檔的第一頁上(在乳膠部分內),添加

\AddToShipoutPictureFG{ 
    \AtPageCenter{% or \AtTextCenter 
    \makebox[0pt]{\rotatebox[origin=c]{45}{% 
     \scalebox{5}{\texttransparent{0.3}{DRAFT}}% 
    }} 
    } 
} 

這應該添加在轉動DRAFT消息(半透明)該頁面的圓形(頂部)FG

+0

這太棒了。謝謝!只有一個問題。我簡化了這個例子,但通常我使用'in_header:header.tex'來存儲我的tex包含和函數。我現在只有一個'\ blandscape'和'\ elandscape'來開始和停止景觀。我試着將你的代碼添加到我的'header.tex'中作爲一個名爲'\ markasdraft'的新函數,它可以工作,但它只適用於單個頁面。任何想法如何使這項工作作爲一個函數,我可以用一條線來調用?在下一個評論中粘貼我的header.tex。 –

+0

\ usepackage {lscape} \ usepackage {ESO-PIC,graphicx宏,透明} \ newcommand {\ blandscape} { \開始{景觀} \分頁符[4] \全球\ pdfpageattr \ expandafter {\的\ }} \ newcommand {\ elandscape} { \ end {landscape} \ pagebreak [4] \ global \ pdfpageattr \ expandafter {\ the \ pdfpageattr/Rotate 0}} \ newcommand {\ markasdraft} { AddToShipoutPictureFG { \ AtPageCenter {%或\ AtTextCenter \ makebox [0pt] {\ rotatebox [原點= C] {45} {% \ scalebox {5} {\ texttransparent {0.3} {DRAFT}}% }} } } } –

+0

@JohnTarr:你似乎缺少一個''''''。通過調用'\ markasdraft',它應該從這個點開始*激活DRAFT *。否則,如果你只想要一個頁面,那麼可以使用'\ AddToShipoutPictureFG *'(星號版本)。 – Werner