diff --git a/contrib/lisp/ox-koma-letter.el b/contrib/lisp/ox-koma-letter.el index 07633e3..069d458 100644 --- a/contrib/lisp/ox-koma-letter.el +++ b/contrib/lisp/ox-koma-letter.el @@ -91,6 +91,23 @@ :group 'org-export-koma-letter :type 'string) +(defcustom org-koma-letter-from-bank "" + "Sender's bank account, as a string." + :group 'org-export-koma-letter + :type 'string) + +(defcustom org-koma-letter-from-fax "" + "Sender's fax number, as a string." + :group 'org-export-koma-letter + :type 'string) + +(defcustom org-koma-letter-from-url "" + "Sender's url, as a string." + :group 'org-export-koma-letter + :type 'string) + + + (defcustom org-koma-letter-opening "Dear Sir," "Letter's opening, as a string." :group 'org-export-koma-letter @@ -106,33 +123,42 @@ :group 'org-export-koma-letter :type 'string) - + ;;; Define Back-End (org-export-define-derived-backend koma-letter latex :options-alist - ((:closing "CLOSING" nil org-koma-letter-closing) + ((:after-closing "AFTER_CLOSING" nil "" newline) + (:after-letter "AFTER_LETTER" nil "" newline) + (:closing "CLOSING" nil org-koma-letter-closing) (:from-address "FROM_ADDRESS" nil org-koma-letter-from-address newline) + (:from-bank "FROM_BANK" nil org-koma-letter-from-bank t) + (:from-fax "FROM_FAX" nil org-koma-letter-from-fax t) + (:from-url "FROM_FAX" nil org-koma-letter-from-url t) + (:invoice "INVOICE" nil "" t) + (:my-ref "MY_REF" nil "" t) + (:your-ref "YOUR_REF" nil "" t) (:lco "LCO" nil org-koma-letter-class-option-file) (:opening "OPENING" nil org-koma-letter-opening) (:phone-number "PHONE_NUMBER" nil org-koma-letter-phone-number) - (:signature "SIGNATURE" nil nil newline) - (:to-address "TO_ADDRESS" nil nil newline)) + (:signature "SIGNATURE" nil user-full-name newline) + (:to-address "TO_ADDRESS" nil nil newline) + ) :translate-alist ((export-block . org-koma-letter-export-block) (export-snippet . org-koma-letter-export-snippet) (keyword . org-koma-letter-keyword) (template . org-koma-letter-template)) :menu-entry (?k "Export with KOMA Scrlttr2" - ((?K "As LaTeX buffer" org-koma-letter-export-as-latex) - (?k "As LaTeX file" org-koma-letter-export-to-latex) + ((?L "As LaTeX buffer" org-koma-letter-export-as-latex) + (?l "As LaTeX file" org-koma-letter-export-to-latex) (?p "As PDF file" org-koma-letter-export-to-pdf) - (?O "As PDF file and open" + (?o "As PDF file and open" (lambda (a s v b) (if a (org-koma-letter-export-to-pdf t s v b) (org-open-file (org-koma-letter-export-to-pdf nil s v b)))))))) - + ;;; Transcode Functions ;;;; Export Block @@ -204,7 +230,15 @@ holding export options." (format "\\setkomavar{signature}{%s}\n" (plist-get info :signature)) (format "\\setkomavar{fromemail}{%s}\n" (org-export-data (plist-get info :email) info)) + (format "\\setkomavar{frombank}{%s}\n" + (org-export-data (plist-get info :from-bank) info)) (format "\\setkomavar{fromphone}{%s}\n" (plist-get info :phone-number)) + (format "\\setkomavar{frombank}{%s}\n" (plist-get info :from-bank)) + (format "\\setkomavar{fromfax}{%s}\n" (plist-get info :from-fax)) + (format "\\setkomavar{fromurl}{%s}\n" (plist-get info :from-url)) + (format "\\setkomavar{myref}{%s}\n" (plist-get info :my-ref)) + (format "\\setkomavar{yourref}{%s}\n" (plist-get info :your-ref)) + (format "\\setkomavar{invoice}{%s}\n" (plist-get info :invoice)) ;; Date. (format "\\date{%s}\n" (org-export-data (plist-get info :date) info)) ;; Letter Class Option File @@ -221,11 +255,13 @@ holding export options." contents ;; Closing. (format "\n\\closing{%s}\n\n" (plist-get info :closing)) + (format "\n%s\n" (plist-get info :after-closing)) ;; Letter end. - "\\end{letter}\n\\end{document}")) + "\\end{letter}\n\n" + (format "%s" (plist-get info :after-letter)) + "\\end{document}")) - ;;; Commands ;;;###autoload