From: Pedro Andres Aranda Gutierrez <paaguti@gmail.com>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: Org Mode List <emacs-orgmode@gnu.org>
Subject: Re: PATCH allow explicit style= in #+cite_export: biblatex
Date: Thu, 25 Apr 2024 07:34:56 +0200 [thread overview]
Message-ID: <CAO48Bk-uG-n1tyyP7PrhgQRVpgGmqSDdonQJkHPNqV0=iF9bDA@mail.gmail.com> (raw)
In-Reply-To: <87h6fqn117.fsf@localhost>
[-- Attachment #1.1: Type: text/plain, Size: 2405 bytes --]
Hopefully all remarks addressed..
Best, /PA
On Wed, 24 Apr 2024 at 19:05, Ihor Radchenko <yantar92@posteo.net> wrote:
> Pedro Andres Aranda Gutierrez <paaguti@gmail.com> writes:
>
> > Oops, you are right. My local copy got a bit messed up.
> >
> > Here is a hopefully clean patch. I have tried it out on a local
> test-patch
> > branch of current main and it applied.
>
> Thanks!
> May you also add NEWS entry?
>
> Also, a few comments inline.
>
> > Subject: [PATCH] Allow biblatex package options natively
>
> Please, prefix the first line with oc-biblatex library name.
>
> > lisp/oc-biblatex.el: detect and allow biblatex package options
> > in key=val,key=val,... format. <style>,key=val,key=val,...
> > continues to be supported and both formats are distinguished
> > doc/org-manual.org: mention that biblatex options in 'native'
> > format are also supported.
>
> The changelog entries are not correctly formatted. See
> https://orgmode.org/worg/org-contribute.html#commit-messages
>
> Also, please start sentences from capital letter.
>
> > --- a/doc/org-manual.org
> > +++ b/doc/org-manual.org
> > @@ -17631,7 +17631,9 @@ your LaTeX installation, it won't export to
> anything but PDF.
> > specifies the =biblatex= export processor with the default =numeric=
> > style and the =bibtex= backend. Always define the style first and then
> > the rest of load-time options for the =biblatex=
> > -package. Alternatively, use the ~org-cite-biblatex-options~ variable
> > +package. Alternatively, you can use the ~key=val,key=val~ format for
> > +the options as documented in the =biblatex= package documentation, which
> > +is also used for the ~org-cite-biblatex-options~ variable
> > in your Emacs configuration. It will only export to PDF, since it
> > relies on the ~biblatex~ processor of your LaTeX installation;
>
> It would be nice to add an example demonstrating the described behaviour.
>
> --
> 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>
>
--
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
[-- Attachment #1.2: Type: text/html, Size: 3808 bytes --]
[-- Attachment #2: 0001-Allow-native-biblatex-options-in-CITE_EXPORT.patch --]
[-- Type: text/x-patch, Size: 4136 bytes --]
From 2d2610b602b1a0ab073cbdd5e283e89f696a433d Mon Sep 17 00:00:00 2001
From: "Pedro A. Aranda" <paaguti@gmail.com>
Date: Thu, 25 Apr 2024 07:21:45 +0200
Subject: oc-biblatex: Allow native biblatex options in CITE_EXPORT
* lisp/oc-biblatex.el: (org-cite-biblatex--package-options) Add support
for options in the native biblatex package format.
* doc/org-manual.org: Document the added format and add an example
* etc/ORG-NEWS: Announce new format for #+cite_export biblatex options
---
doc/org-manual.org | 11 ++++++++---
etc/ORG-NEWS | 6 ++++++
lisp/oc-biblatex.el | 23 +++++++++++++----------
3 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/doc/org-manual.org b/doc/org-manual.org
index a285aa4e5..786248af9 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -17631,9 +17631,14 @@ your LaTeX installation, it won't export to anything but PDF.
specifies the =biblatex= export processor with the default =numeric=
style and the =bibtex= backend. Always define the style first and then
the rest of load-time options for the =biblatex=
-package. Alternatively, use the ~org-cite-biblatex-options~ variable
-in your Emacs configuration. It will only export to PDF, since it
-relies on the ~biblatex~ processor of your LaTeX installation;
+package. Alternatively, you can use the ~key=val,key=val~ format for
+the options as documented in the =biblatex= package documentation:
+
+: #+cite_export: biblatex backend=bibtex,style=numeric
+
+The ~org-cite-biblatex-options~ variable in your Emacs configuration
+uses this format. It will only export to PDF, since it relies on the
+~biblatex~ processor of your LaTeX installation.
** Bibliography printing
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index fc2ff9e00..c4264e152 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -1011,6 +1011,12 @@ The option can be customized either by
group or
2. by setting the file local keyword =LATEX_FOOTNOTE_COMMAND=
+*** Options for ~#+cite_export: biblatex~ can use the package's option syntax
+
+When using =biblatex= to export bibliographies, you can use the format
+as specified in the =biblatex= package documentation as
+=key=val,key=val,...=
+
** New features
*** ~org-paste-subtree~ now handles =C-u= and =C-u C-u= prefix arguments specially
diff --git a/lisp/oc-biblatex.el b/lisp/oc-biblatex.el
index 36c0ee7e5..97f10710c 100644
--- a/lisp/oc-biblatex.el
+++ b/lisp/oc-biblatex.el
@@ -190,20 +190,23 @@ INITIAL is an initial style of comma-separated options, as a string or nil.
STYLE is the style definition as a string or nil.
Return a string."
- (let ((options-no-style
- (and initial
- (let ((re (rx string-start (or "bibstyle" "citestyle" "style"))))
+ (let* ((options-no-style
+ (and initial
+ (let ((re (rx string-start (or "bibstyle" "citestyle" "style"))))
(seq-filter
(lambda (option) (not (string-match re option)))
(split-string (org-unbracket-string "[" "]" initial)
"," t " \t")))))
- (style-options
- (cond
- ((null style) nil)
- ((not (string-match "/" style)) (list (concat "style=" style)))
- (t
- (list (concat "bibstyle=" (substring style nil (match-beginning 0)))
- (concat "citestyle=" (substring style (match-end 0))))))))
+ ;; Check whether the string is in key=val,...
+ (biblatex-options-p (and (stringp style) (string-match-p "\\`[^,=]+=[^,]+\\(,[^=]+=[^,]+\\)\\'" style)))
+ (style-options
+ (cond
+ ((null style) nil)
+ ;; assume it is a valif options string for biblatex if it is in key=val,... format
+ ((not (string-match "/" style)) (list (if biblatex-options-p style (concat "style=" style))))
+ (t
+ (list (concat "bibstyle=" (substring style nil (match-beginning 0)))
+ (concat "citestyle=" (substring style (match-end 0))))))))
(if (or options-no-style style-options)
(format "[%s]"
(mapconcat #'identity
--
2.34.1
next prev parent reply other threads:[~2024-04-25 5:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-13 7:14 PATCH allow explicit style= in #+cite_export: biblatex Pedro Andres Aranda Gutierrez
2024-04-13 14:33 ` Ihor Radchenko
2024-04-14 5:22 ` Pedro Andres Aranda Gutierrez
2024-04-14 5:30 ` Pedro Andres Aranda Gutierrez
2024-04-14 7:16 ` Pedro Andres Aranda Gutierrez
2024-04-17 6:22 ` Pedro Andres Aranda Gutierrez
2024-04-17 7:00 ` Pedro Andres Aranda Gutierrez
2024-04-17 15:45 ` Pedro Andres Aranda Gutierrez
2024-04-21 13:21 ` Ihor Radchenko
2024-04-21 15:38 ` Pedro Andres Aranda Gutierrez
2024-04-22 19:46 ` Ihor Radchenko
[not found] ` <CAO48Bk_2xjGrN9Qgfe7hpnDnw=do5geKe3XnEA8wJr_dn8SZYg@mail.gmail.com>
[not found] ` <87ttjspaor.fsf@localhost>
[not found] ` <CAO48Bk91MjUAi-AUbhKfKEZGQcJbb1yZWCNoM8U+cObUCH0bVw@mail.gmail.com>
2024-04-24 17:06 ` Ihor Radchenko
2024-04-25 5:34 ` Pedro Andres Aranda Gutierrez [this message]
2024-04-26 12:24 ` Ihor Radchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAO48Bk-uG-n1tyyP7PrhgQRVpgGmqSDdonQJkHPNqV0=iF9bDA@mail.gmail.com' \
--to=paaguti@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=yantar92@posteo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).