From 0c13b4dd6eb971ac9046963639144f20ec07e2c7 Mon Sep 17 00:00:00 2001 From: Daniel Weschke Date: Sun, 16 May 2021 17:01:11 +0200 Subject: [PATCH] add option to define opening and closing of org export letter --- lisp/my/my-org-article.el | 2 ++ lisp/my/my-org-letter.el | 36 +++++++++++++++++++++++++++++------- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/lisp/my/my-org-article.el b/lisp/my/my-org-article.el index b26b642a..400e08e2 100644 --- a/lisp/my/my-org-article.el +++ b/lisp/my/my-org-article.el @@ -568,6 +568,7 @@ IMPORTANT en version must be defined") "[paper=a4,fontsize=11pt,DIV=12,BCOR=10mm,headsepline,<>,captions=tableheading,version=first,bibliography=totoc,dvipsnames]" "The default LaTeX class options. +Replaces <<...>> with values defined in `my-org-article-latex-lang-template-plist'" :group 'my-org-export-article :type '(string :tag "LaTeX class")) @@ -2084,6 +2085,7 @@ IMPORTANT en version must be defined") " "Preamble options. +Text like <<...>>> will be replaced according to `my-org-article-latex-lang-template-plist'" :group 'my-org-export-article) diff --git a/lisp/my/my-org-letter.el b/lisp/my/my-org-letter.el index b7c76a5b..900bb53f 100644 --- a/lisp/my/my-org-letter.el +++ b/lisp/my/my-org-letter.el @@ -48,7 +48,9 @@ (defvar my-org-letter-latex-default-class-options) (defvar my-org-letter-latex-default-header) (defvar my-org-letter-latex-default-header-extra) +(defvar my-org-letter-latex-opening-format) (defvar my-org-letter-latex-opening) +(defvar my-org-letter-latex-closing-format) (defvar my-org-letter-latex-closing) (defvar my-org-letter-latex-subject) (defvar my-org-letter-latex-subject-extra) @@ -103,7 +105,9 @@ (:latex-header "LATEX_HEADER" nil my-org-letter-latex-default-header newline) (:latex-header-extra "LATEX_HEADER_EXTRA" nil my-org-letter-latex-default-header-extra newline) (:latex-compiler "LATEX_COMPILER" nil my-org-letter-latex-compiler) + (:letter-closing-format "CLOSING_FORMAT" nil my-org-letter-latex-closing-format newline) (:letter-closing "CLOSING" nil my-org-letter-latex-closing newline) + (:letter-opening-format "OPENING_FORMAT" nil my-org-letter-latex-opening-format newline) (:letter-opening "OPENING" nil my-org-letter-latex-opening newline) (:letter-subject "SUBJECT" nil my-org-letter-latex-subject newline) (:letter-subject-extra "SUBJECT_EXTRA" nil my-org-letter-latex-subject-extra newline) @@ -244,7 +248,7 @@ ;;;; Document -(defcustom my-org-letter-latex-opening +(defcustom my-org-letter-latex-opening-format "\\firsthead{ \\begin{flushright}\\textsf{\\begin{tabular}{l} \\fromassociation \\\\ \\usekomavar{fromname} \\\\ \\fromstreet \\\\ @@ -262,13 +266,23 @@ \\setkomavar{subject}{\\subject \\\\ {\\normalfont \\subjectextra}} -\\opening{Sehr geehrter \\toname,}" - "Letter opening." +\\opening{<>}" + "Letter opening structure, will replace <> with `my-org-letter-latex-opening'." + :group 'my-org-letter-latex) + +(defcustom my-org-letter-latex-opening + "Sehr geehrter \\toname," + "Letter opening, see also `my-org-letter-latex-opening-format'." + :group 'my-org-letter-latex) + +(defcustom my-org-letter-latex-closing-format + "\\closing{<>}" + "Letter closing structure, will replace <> with `my-org-letter-latex-closing'." :group 'my-org-letter-latex) (defcustom my-org-letter-latex-closing - "\\closing{Freundliche Grüße,}" - "Letter closing." + "Freundliche Grüße," + "Letter closing, see also `my-org-letter-latex-closing-format'." :group 'my-org-letter-latex) @@ -385,9 +399,17 @@ (format "\\setcounter{tocdepth}{%d}\n" depth)) (plist-get info :latex-toc-command)))) ;; Document's body. - (concat (plist-get info :letter-opening) "\n") + (concat (string-replace + "<>" + (plist-get info :letter-opening) + (plist-get info :letter-opening-format)) + "\n") contents - (concat (plist-get info :letter-closing) "\n") + (concat (string-replace + "<>" + (plist-get info :letter-closing) + (plist-get info :letter-closing-format)) + "\n") ;; attachments (let ((attachments (plist-get info :letter-attachment))) (unless (string-equal attachments "")