[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 9cd9d15c: Improve style/dinbrief.el
From: |
Arash Esbati |
Subject: |
master 9cd9d15c: Improve style/dinbrief.el |
Date: |
Thu, 16 May 2024 10:24:44 -0400 (EDT) |
branch: master
commit 9cd9d15cf807c3d5ef160f288d88568e757073da
Author: Werner Fink <werner@suse.de>
Commit: Arash Esbati <arash@gnu.org>
Improve style/dinbrief.el
* style/dinbrief.el (LaTeX-dinbrief-class-options): New variable.
("dinbrief"): Add fontification support.
(LaTeX-dinbrief-insert): Use `TeX-active-mark'.
(LaTeX-dinbrief-style): Don't insert
\usepackage[latin1,utf8]{inputenc} into the buffer; we assume that
UTF8 is widely used as default.
Use the babel package with the ngerman option instead of ngerman
package.
(LaTeX-dinbrief-env-recipient): Use `TeX-active-mark'.
(LaTeX-dinbrief-recipient): Fix prompt.
(LaTeX-dinbrief-today): Use German Umlaut.
Add coding cookie.
---
style/dinbrief.el | 69 ++++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 50 insertions(+), 19 deletions(-)
diff --git a/style/dinbrief.el b/style/dinbrief.el
index c3108466..2e2ad933 100644
--- a/style/dinbrief.el
+++ b/style/dinbrief.el
@@ -1,6 +1,6 @@
;;; dinbrief.el --- Special code for LaTeX-Style dinbrief. -*-
lexical-binding: t; -*-
-;; Copyright (C) 1994-2023 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2024 Free Software Foundation, Inc.
;; Author: Werner Fink <werner@suse.de>
;; Maintainer: auctex-devel@gnu.org
@@ -32,14 +32,26 @@
(require 'tex)
(require 'latex)
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+ "font-latex"
+ (keywords class))
+
+(defvar LaTeX-dinbrief-class-options
+ '("10pt" "11pt" "12pt" "norm" "a4paper" "a5paper" "b5paper"
+ "letterpaper" "legalpaper" "executivepaper" "twoside"
+ "addresshigh" "addressstd" "onecolumn" "twocolumn")
+ "Class options for the dinbrief class.")
+
(TeX-add-style-hook
"dinbrief"
(lambda ()
- (add-hook 'LaTeX-document-style-hook
- #'LaTeX-dinbrief-style)
(LaTeX-add-environments
'("letter" LaTeX-dinbrief-env-recipient)
"dinquote")
+ (add-hook 'LaTeX-document-style-hook
+ #'LaTeX-dinbrief-style)
+ (setq LaTeX-default-document-environment "letter")
(TeX-add-symbols
'("address" "Absender")
'("postremark" "Postvermerk")
@@ -61,12 +73,28 @@
'("backaddress" "Retouradresse")
'("signature" "Unterschrift")
'("opening" "Anrede")
- '("closing" "Schluss")))
+ '("closing" "Schluss"))
+
+ ;; Fontification
+ (when (and (featurep 'font-latex)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ (font-latex-add-keywords '(("subject" "{")
+ ("address" "{")
+ ("signature" "{")
+ ("opening" "{")
+ ("closing" "{")
+ ("location" "{")
+ ("handling" "{")
+ ("cc" "{")
+ ("encl" "{")
+ ("ps" "{"))
+ 'function)))
TeX-dialect)
(defmacro LaTeX-dinbrief-insert (&rest args)
"Insert text ignoring active markers."
- `(progn (if mark-active (deactivate-mark))
+ `(progn
+ (if (TeX-active-mark) (deactivate-mark))
(insert ,@args)))
(defun LaTeX-dinbrief-style ()
@@ -77,17 +105,14 @@
(beginning-of-line 1))
(open-line 2)
(indent-relative-first-indent-point)
- (LaTeX-dinbrief-insert TeX-esc "usepackage"
- LaTeX-optop "latin1,utf8" LaTeX-optcl
- TeX-grop "inputenc" TeX-grcl)
- (newline-and-indent)
(LaTeX-dinbrief-insert TeX-esc "usepackage"
LaTeX-optop "T1" LaTeX-optcl
TeX-grop "fontenc" TeX-grcl)
- (indent-relative-first-indent-point)
+ (newline-and-indent)
(LaTeX-dinbrief-insert TeX-esc "usepackage"
- TeX-grop "ngerman" TeX-grcl))
- (TeX-run-style-hooks "inputenc" "fontenc" "ngerman"))
+ LaTeX-optop "ngerman" LaTeX-optcl
+ TeX-grop "babel" TeX-grcl))
+ (TeX-run-style-hooks "fontenc" "babel"))
(defun LaTeX-dinbrief-env-recipient (environment)
"Insert ENVIRONMENT and prompt for recipient and address."
@@ -118,8 +143,10 @@
(newline-and-indent)
(if (not (zerop (length retouradr)))
(progn
- (if mark-active (deactivate-mark))
- (LaTeX-dinbrief-insert TeX-esc "backaddress" TeX-grop
retouradr TeX-grcl)
+ (if (TeX-active-mark) (deactivate-mark))
+ (LaTeX-dinbrief-insert TeX-esc
+ "backaddress"
+ TeX-grop retouradr TeX-grcl)
(newline-and-indent)))))
(LaTeX-dinbrief-insert TeX-esc "enabledraftstandard")
(newline-and-indent)
@@ -205,8 +232,8 @@
"Read and write the senders address."
(interactive)
(let ((name (TeX-read-string "Absender: " (user-full-name)))
- (str (TeX-read-string "Meine Strasse: "))
- (ort (TeX-read-string "Mein Wohnort: ")))
+ (str (TeX-read-string "Meine Strasse: "))
+ (ort (TeX-read-string "Mein Wohnort: ")))
(if (not (zerop (length name)))
(progn
(goto-char (point-min)) ; insert before \end{document}
@@ -231,8 +258,8 @@
(defun LaTeX-dinbrief-recipient ()
"Read and return the recipient address."
(interactive)
- (let ((str (TeX-read-string "Wohnhaft in Strasse: "))
- (ort (TeX-read-string "Aus der Ortschaft: ")))
+ (let ((str (TeX-read-string "Wohnhaft in Strasse: "))
+ (ort (TeX-read-string "Aus der Ortschaft: ")))
(if (not (zerop (length str)))
(if (not (zerop (length ort)))
(concat str " " TeX-esc TeX-esc " " ort)
@@ -246,7 +273,7 @@
(let ((ctime-string (current-time-string))
(month-alist '(("Jan" . "Januar")
("Feb" . "Februar")
- ("Mar" . "M\\\"arz")
+ ("Mar" . "März")
("Apr" . "April")
("May" . "Mai")
("Jun" . "Juni")
@@ -270,4 +297,8 @@
(setq day (concat "0" day)))))
(format "%s, den %s. %s %s" place day month year))))
+;; Local Variables:
+;; coding: utf-8-unix
+;; End:
+
;;; dinbrief.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 9cd9d15c: Improve style/dinbrief.el,
Arash Esbati <=