2015-09-23 7 views
8

मैंने शोध किया है और एक मार्कमार्क दस्तावेज़ में वॉटरमार्क कैसे बनाया है।रैमार्कडाउन में वॉटरमार्क

यह मूल पाठ पर बहुत अच्छा काम करता है, लेकिन जब आपके पास प्लॉट भारी पृष्ठ होता है, तो यह साजिश के पीछे छिप जाता है।

जाहिर है, इससे किसी के लिए आंकड़ों को स्क्रीनकेप करना और पीडीएफ के बाहर उनका उपयोग करना आसान हो जाता है।

नीचे कुछ कोड है जो इस मुद्दे को स्पष्ट रूप से प्रदर्शित करता है।

--- 
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} 

और उपयोग करने का प्रयास तो अपने दस्तावेज़ के पहले पृष्ठ पर (LaTeX भाग के अंदर),

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

जोड़ने यह एक घुमाया मसौदे संदेश (अर्द्ध पारदर्शी) में जोड़ना चाहिए पृष्ठ के F अयस्क G दौर (शीर्ष पर)।

+0

यह कमाल है। धन्यवाद! केवल एक सवाल है। मैंने इस उदाहरण के लिए सरलीकृत किया है, लेकिन आम तौर पर, मैं अपने tex को शामिल करने और कार्यों को संग्रहीत करने के लिए 'in_header: header.tex' का उपयोग करता हूं। मेरे पास वर्तमान में परिदृश्य शुरू करने और रोकने के लिए '\ blandscape' और 'elandscape' है। मैंने आपके कोड को 'header.tex'' नामक एक नए फ़ंक्शन के रूप में जोड़ने के लिए '\ markasdraft' नामक एक नया फ़ंक्शन जोड़ने का प्रयास किया, और यह काम करता है, लेकिन यह केवल एक पृष्ठ के लिए काम करता है। किसी भी विचार को इस काम को एक समारोह के रूप में कैसे बनाना है जिसे मैं एक पंक्ति से कॉल कर सकता हूं? अगली टिप्पणी में मेरे header.tex को चिपका रहा है। –

+0

\ usepackage {lscape} \ usepackage {eso-पिक, graphicx, पारदर्शी} \ newcommand {\ blandscape} { \ {} परिदृश्य \ pagebreak शुरू [4] \ वैश्विक \ pdfpageattr \ expandafter {\ \ pdfpageattr/घुमाएँ 90}} \ newcommand {\ elandscape} { \ अंत {परिदृश्य} \ pagebreak [4] \ वैश्विक \ pdfpageattr \ expandafter {\ \ pdfpageattr/घुमाएँ 0}} \ newcommand {\ markasdraft} { AddToShipoutPictureFG { \ AtPageCenter {% या \ AtTextCenter \ makebox [0pt] {\ rotatebox [मूल = ग] {45} {% \ scalebox {5} {\ texttransparent {0.3} {मसौदा}}% }} } } } –

+0

@JohnTarr: आप लग लापता होने के लिए एक '' \ ''। '\ Markasdraft' पर कॉल के साथ, इसे उस बिंदु से आगे * DRAFT * को सक्रिय करना चाहिए। अन्यथा, यदि आप केवल एक पृष्ठ के लिए यह चाहते हैं, तो एक '\ AddToShipoutPictureFG *' (तारांकित संस्करण) का प्रयोग करेंगे। – Werner

संबंधित मुद्दे