emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[TIP] Export to LaTeX and HTML with a watermark


From: Juan Manuel Macías
Subject: [TIP] Export to LaTeX and HTML with a watermark
Date: Wed, 23 Dec 2020 03:11:01 +0100

Hi,

Recently, I needed to export a document to both LaTeX and HTML with a
watermark background. I came to write this little function (for LaTeX,
the 'draftwatermark' package is used; for html, a bit of CSS. The
optional arg `text' is the text of the watermark; by default what is
printed is "DRAFT"):

#+begin_src org
  ,#+begin_src emacs-lisp :exports results :results none
    (defun my-watermark (&optional text)
      (cond ((org-export-derived-backend-p org-export-current-backend 'latex)
             (concat "#+LaTeX_Header:\\usepackage"
                     (if text
                         (format "[text=%s]" (replace-regexp-in-string " " "~" 
text))
                       "")
                     "{draftwatermark}"))
            ((org-export-derived-backend-p org-export-current-backend 'html)
             (concat "@@html:<p id=\"watermark\">"
                     (if text
                         (format "%s" text)
                       "DRAFT")
                     "</p>@@"))))

  ,#+end_src
#+end_src

The CSS could be (source:
https://stackoverflow.com/questions/68569/text-watermark-on-website-how-to-do-it):

#+begin_src org
  ,#+html_HEAD: <style>#watermark {color: #d0d0d0; font-size: 200pt; 
-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); position: 
absolute; width: 100%; height: 100%; margin: 0; z-index: -1; left:-100px; 
top:-200px;}</style>
#+end_src

And then, this replacement macro:

#+begin_src org
  ,#+MACRO: wmark (eval (if (org-string-nw-p $1)(my-watermark 
$1)(my-watermark)))
#+end_src

And finally, an example:

#+begin_src org
  {{{wmark(Top secret!)}}}

  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
  accumsan nisl.

  (...)
#+end_src

Regards,

Juan Manuel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]