>Message: 16
>Date: Sun, 31 Dec 2023 14:40:32 +0000
>From: Ihor Radchenko <yanta...@posteo.net>
>To: Pedro Andres Aranda Gutierrez <paag...@gmail.com>
>Cc: Org Mode List <emacs-orgmode@gnu.org>
>Subject: Re: Adding functionality to org-latex-classes
>Message-ID: <87ttny77vj.fsf@localhost>
>Content-Type: text/plain
>Pedro Andres Aranda Gutierrez <paag...@gmail.com> writes:
>> I was just wondering whether it would be possible to add further
>> functionality to org-latex-classes and would like to start a discussion
>> My use case is the following:
>> The document class is tightly coupled with  ~org-latex-subtitle-format~
>> and  ~org-latex-subtitle-separate~. Koma-script classes, for example,
>> those variables to be defined with file or directory local variables in
>> order to take full profit of the layouts. If we found a way of
>> accommodating them in the class definitions, the fuzz of the extra
>> variables could easily be overcome.
>We may extend `org-latex-classes' to allow custom backend option values.
>For example,
>  (latex-subtitle-format . value)
>  (latex-subtitle-separate . value)
>Then, we can use these values as the overrides when the variables are
>not set explicitly as buffer-locals or as in-buffer/subtree export
>Ihor Radchenko // yantar92,
>Org mode contributor,
>Learn more about Org mode at <https://orgmode.org/>.
>Support Org development at <https://liberapay.com/org-mode>,
>or support my work at <https://liberapay.com/yantar92>

Attached is a concept which might be useful. At least it detects when
variables are set locally and then doesn't attempt anything.

Peaceful New Year,

Fragen sind nicht da, um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler

Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run
a leader-deposed hook here, but we can't yet
;; This buffer is for text that is not saved, and for Lisp evaluation.
;; To create a file, visit it with 'C-x C-f' and enter text in its buffer.

(defun is-in-local-variable-alists (sym)
  "Check if symbol is in any local variable alist"
      (or (and (boundp 'connection-local-variables-alist)
               (assoc sym connection-local-variables-alist))
          (and (boundp 'file-local-variables-alist)
               (assoc sym file-local-variables-alist))
          (and (boundp 'dir-local-variables-alist)
               (assoc sym dir-local-variables-alist)))

(defun local-or-latex-class ()
  ;; This would come from ox-latex
  (let ((test '((org-latex-subtitle-format . "\\subtitle{%s}")
                (org-latex-subtitle-separate . t))))
    (mapcar #'(lambda (element)
                (let* ((sym (car element))
                       (skip (is-in-local-variable-alists sym))
                       (sym-name (symbol-name sym))
                       (val (cdr element)))
                  ;; (message "--> %s" element)
                  ;; (if skip
                  ;;     (message "%s set as file-local" sym-name)
                  ;;   (progn
                  ;;     (message "Will set %s to %s" sym-name val)
                  ;;     (eval '(setq sym-name val))))))
                  (unless skip
                    (eval '(setq sym-name val)))))
    (message "Is separate: %s" org-latex-subtitle-separate)
    (message "subtitle: %s" org-latex-subtitle-format))

Reply via email to