Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-26 Thread Nicolas Goaziou
Hello,

"Bruce D'Arcus"  writes:

> Denis Maier and I worked on this off-list.

Thank you for this work!

> Below is our suggested revised biblatex and natbib mapping table, with
> the (long) explanation below it, the "extended" table for illustration
> below that, and the org file with the tables attached,

I implemented "core" table in "oc-natbib.el" and "oc-biblatex.el".

Regards,
-- 
Nicolas Goaziou



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-25 Thread Bruce D'Arcus
On Fri, May 21, 2021 at 9:25 AM Bruce D'Arcus  wrote:
>
> On Fri, May 21, 2021 at 9:13 AM Nicolas Goaziou  wrote:

> > So maybe we should try to converge first. Then, I'll happily implement
> > the result!
>
> Will do; thanks!

Denis Maier and I worked on this off-list.

Below is our suggested revised biblatex and natbib mapping table, with
the (long) explanation below it, the "extended" table for illustration
below that, and the org file with the tables attached,

| Style | Variant  | NatBib Command | BibLaTeX Command |
|---+--++--|
| author (a)| caps-full (cf)   || Citeauthor   |
| author (a)| full (f) | citeauthor*| citeauthor   |
| author (a)| caps (c) | Citeauthor | Citeauthor*  |
| author (a)|  | citeauthor | citeauthor*  |
|---+--++--|
| noauthor (na) | bare | citeyear   |  |
| noauthor (na) |  | citeyearpar| autocite*|
|---+--++--|
| locators (l)  | bare-caps (bc)   || Notecite |
| locators (l)  | bare (b) || notecite |
| locators (l)  | caps (bc)|| Pnotecite|
| locators (l)  |  || pnotecite|
|---+--++--|
| nocite (n)|  | nocite | nocite   |
|---+--++--|
| text (t)  | bare (b) | citealp|  |
| text (t)  | caps (c) | Citep  | Textcite |
| text (t)  | full (f) | citep* |  |
| text (t)  | bare-caps (bc)   | Citealp|  |
| text (t)  | bare-full (bf)   | citealp*   |  |
| text (t)  | caps-full (cf)   | Citep* |  |
| text (t)  | bare-caps-full (bcf) | Citealp*   |  |
| text (t)  |  || textcite |
|---+--++--|
| (default) | caps (c) | Citep  | Autocite |
| (default) | bare (b) | citealp| cite |
| (default) | bare-caps (bc)   | Citealp| Cite |
| (default) | full (f) | citep* |  |
| (default) | bare-full (bf)   | citealp|  |
| (default) | caps-full (cf)   | Citep* |  |
| (default) | bare-caps-full (bcf) | Citealp*   |  |
| (default) |  | citep  | autocite |
|---+--++--|

The key change is we have split the one table in two, with a “core”
that should definitely be included, and a separate table “extended”
that could reflect later additions.

The “core” table above provides a sensible superset of what’s in
oc-natbib, and should be a solid starting point.

This “extended” table, at the very end, is mostly to accommodate cases
where biblatex users have a default note style and want to insert
parenthetical citations, or vice versa. We do not think this is
necessary initially, and some details are unclear about how best to do
this. In particular, parencite and footcite are low-level commands,
and in the core, we rely on mostly high-level "style-independent"
commands. Hence, we have put those examples in the separate table.

As you know, biblatex has an insane amount of options, and even more
implemented in other packages like chicago, so it’s hard to know what
to include, and effectively impossible to be comprehensive with this
approach. It might be at some point users will want to be able to
configure the mappings, but it does seem premature to worry about that
ATM.

Beyond the additional mappings, we also suggest two changes:

1. to rename the “year” style in both oc-natbib and oc-biblatex to the
broader “noauthor”, aka “suppress author”.
2. to remove the “title” style (below we moved it to the "extended" table)

Explanation:

Earlier iterations of org-cite had an option to “suppress-author” on
individual citation references using a minus sign. This has since been
removed, with the idea this can and should be handled with the style
system.

In both oc-natbib and oc-biblatex, the  “year” style achieves this for
author-date styles. But there’s broader value in the feature, and
“year” in that broader context is likely to be confusing, or simply
wrong (e.g require a different 

Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-21 Thread Nicolas Goaziou
Hello,

Denis Maier  writes:

> Is there a way to use styles that aren't loaded via biblatex package
> options, but as distinct package. E.g., biblatex-chicago is loaded as 
> \usepackage{biblatex-chicago}. Internally, the package will then load
> biblatex on its own.

You can add a package with, e.g, 

  #+latex_header: \usepackage{biblatex-chicago}

but style is controlled through style, bibstyle or citestyle options
from "biblatex" package.

Hopefully, the solution suggested by Thomas S. Dye works. Otherwise, we
will need a different mechanism for managing styles. I though about
doing something like

  #+cite_export: biblatex  package:style

e.g.,

  #+cite_export: biblatex biblatex-chicago:author-date

which would insert

  \usepackage[style=author-date]{biblatex-chicago}

instead of

  \usepackage[style=biblatex-chicago:author-date]{biblatex}

in the preamble of the document.

But we cannot presume all packages will use "style=..." syntax. So…
hopefully, the suggested solution works.

Crossing fingers,
-- 
Nicolas Goaziou



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-21 Thread Nicolas Goaziou
Hello,

Denis Maier  writes:

> Just one thing I was asking myself: Will/should users be able to
> customize that?

I considered it too, when I was writing oc-biblatex. For example, custom
commands could be a list of entries like

  (STYLE BASE-NAME MULTICITE? NO-OPTIONAL?)

E.g.,

  ("my-style/with-a-specifc-variant" "coolcite-alt" t nil)
  ("my-style" "coolcite" t nil)
  ...

However, I think this is a bit premature. Style/variant syntax has not
"sedimented" yet, and the oc-biblatex library has (understandably) close
to 0 users at the moment.

We should strive to provide a broad enough out-of-the-box experience
first.

> The function that handles the export doesn't look to complicated after
> all.

Indeed! It's a wonder no one implemented it earlier. ;)

Regards,
-- 
Nicolas Goaziou



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-21 Thread Bruce D'Arcus
On Fri, May 21, 2021 at 9:13 AM Nicolas Goaziou  wrote:

> > Also, not sure about the "full" sub-styles. Do those have an
> > equivalent in biblatex?
>
> This is not a bug report, but a suggestion for additional bindings,
> isn't it?

Yes; sorry :-)

> In any case, it sounds fine to me, but Denis Maier made a similar
> suggestion with the following table:
>
> So maybe we should try to converge first. Then, I'll happily implement
> the result!

Will do; thanks!

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-21 Thread Nicolas Goaziou
Hello,

"Bruce D'Arcus"  writes:

> On Tue, May 18, 2021 at 11:45 AM Nicolas Goaziou  
> wrote:
>
>> I didn't test it much so it probably contains silly bugs. Sorry about
>> that.
>
> OK, a simple bug report.
>
> cite/bare -> \cite (currently is autocite)
> cite/bare-caps -> \Cite (currently is autocite)
>
> Also, not sure about the "full" sub-styles. Do those have an
> equivalent in biblatex?

This is not a bug report, but a suggestion for additional bindings,
isn't it?

In any case, it sounds fine to me, but Denis Maier made a similar
suggestion with the following table:

| Style | Variant   | Command  |
|---+---+--|
| author| caps  | Citeauthor*  |
| author| full  | citeauthor   |
| author| caps-full | Citeauthor   |
| author|   | citeauthor   |
|---+---+--|
| title | full  | citetitle*   |
| title |   | citetitle|
|---+---+--|
| year  | full  | citeyear*|
| year  |   | citeyear |
|---+---+--|
| locators  | parens| pnotecite|
| locators  | parens-caps   | Pnotecite|
| locators  | foot  | fnotecite|
| locators  | caps  | Notecite |
| locators  |   | notecite |
|---+---+--|
| nocite|   | nocite   |
|---+---+--|
| note  | text  | footcitetext |
| note  |   | footcite |
|---+---+--|
| smart | caps  | Smartcite|
| smart |   | smartcite|
|---+---+--|
| super |   | supercite|
|---+---+--|
| foot  |   | footcite |
|---+---+--|
| text  | caps  | Textcite |
| text  |   | textcite |
|---+---+--|
| parens| noauthor-caps | Parencite*   |
| parens| noauthor  | parencite*   |
| parens| caps  | Parencite|
| parens|   | parencite|
|---+---+--|
| plain | noauthor-caps | Cite*|
| plain | noauthor  | cite*|
| plain | caps  | Cite |
| plain |   | cite |
|---+---+--|
| (default) | caps  | Autocite |
| (default) |   | autocite |

So maybe we should try to converge first. Then, I'll happily implement
the result!

Regards,
-- 
Nicolas Goaziou



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-21 Thread Bruce D'Arcus
On Tue, May 18, 2021 at 11:45 AM Nicolas Goaziou  wrote:

> I didn't test it much so it probably contains silly bugs. Sorry about
> that.

OK, a simple bug report.

cite/bare -> \cite (currently is autocite)
cite/bare-caps -> \Cite (currently is autocite)

Also, not sure about the "full" sub-styles. Do those have an
equivalent in biblatex?

If not, can also map to \cite or \Cite, depending.

Input:

1. [cite:@latexcompanion]
2. [cite/text:@latexcompanion]
3. [cite/text/caps:@latexcompanion]
4. [cite/text/caps-full:@latexcompanion]
5. [cite/bare:@latexcompanion]
6. [cite/bare-full:@latexcompanion]
7. [cite/bare-caps:@latexcompanion]

Current output:

\item \autocite{latexcompanion}
\item \textcite{latexcompanion}
\item \Textcite{latexcompanion}
\item \textcite{latexcompanion}
\item \autocite{latexcompanion}
\item \autocite{latexcompanion}
\item \autocite{latexcompanion}

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Thomas S. Dye

Bummer!

This non-minimal example (modified from a document that originally 
called biblatex-chicago directly) works for me:
  \usepackage[style=chicago-authordate, giveninits=true, 
  uniquename=mininit, noibid, sortcites=true, backend=biber, 
  bibencoding=utf8]{biblatex}


All the best,
Tom

Bruce D'Arcus  writes:

On Thu, May 20, 2021 at 6:37 PM Thomas S. Dye  
wrote:


Interested lurker here.  From the biblatex-chicago manual:

"You can load the package via the usual \usepackage{biblatex},
adding either style=chicago-notes or style=chicago-authordate"


Alas, I get errors when I use that invocation.

Only when I add this does it work correctly.

\usepackage[notes,backend=biber]{biblatex-chicago}

Bruce



--
Thomas S. Dye
https://tsdye.online/tsdye



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Bruce D'Arcus
On Thu, May 20, 2021 at 6:37 PM Thomas S. Dye  wrote:
>
> Interested lurker here.  From the biblatex-chicago manual:
>
> "You can load the package via the usual \usepackage{biblatex},
> adding either style=chicago-notes or style=chicago-authordate"

Alas, I get errors when I use that invocation.

Only when I add this does it work correctly.

\usepackage[notes,backend=biber]{biblatex-chicago}

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Thomas S. Dye

Interested lurker here.  From the biblatex-chicago manual:

"You can load the package via the usual \usepackage{biblatex}, 
adding either style=chicago-notes or style=chicago-authordate"


All the best,
Tom

Denis Maier  writes:


Hi,

Am 20.05.2021 um 19:06 schrieb Nicolas Goaziou:

Hello,

"Bruce D'Arcus"  writes:

On Thu, May 20, 2021 at 9:57 AM Denis Maier 
 wrote:


I'm not really sure we need bare substyles at all. At least 
in biblatex

it's the basis for the other commands.


Though see my followup message on autocite config.

Does that change this discussion?


Why?


I put it in the form of a question, because I'm not sure, but 
...


1. I wasn't sure Nicolas was aware of this config option, nor 
how one
would configure it currently (but it seems necessary in 
general)


There is `org-cite-biblatex-options' defcustom. Currently, it 
defaults
to nil, but you can set it to, e.g., "key=value,key2=value" if 
needed.

We can also change the default.


Is there a way to use styles that aren't loaded via biblatex 
package options,

but as distinct package. E.g., biblatex-chicago is loaded as
\usepackage{biblatex-chicago}. Internally, the package will then 
load biblatex

on its own.

Denis



--
Thomas S. Dye
https://tsdye.online/tsdye



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Am 20.05.2021 um 19:15 schrieb Nicolas Goaziou:

Hello,

Denis Maier  writes:


By the way, I have the impression we can easily get rid of the
bare-variants completely. If we don't need footcitetext (or if we rename
the variant to note/text as that would be more appropriate, we can
something like this:


| Style | Variant   | Command  |
|---+---+--|
| author| caps  | Citeauthor*  |
| author| full  | citeauthor   |
| author| caps-full | Citeauthor   |
| author|   | citeauthor   |
|---+---+--|
| title | full  | citetitle*   |
| title |   | citetitle|
|---+---+--|
| year  | full  | citeyear*|
| year  |   | citeyear |
|---+---+--|
| locators  | parens| pnotecite|
| locators  | parens-caps   | Pnotecite|
| locators  | foot  | fnotecite|
| locators  | caps  | Notecite |
| locators  |   | notecite |
|---+---+--|
| nocite|   | nocite   |
|---+---+--|
| note  | text  | footcitetext |
| note  |   | footcite |
|---+---+--|
| smart | caps  | Smartcite|
| smart |   | smartcite|
|---+---+--|
| super |   | supercite|
|---+---+--|
| foot  |   | footcite |
|---+---+--|
| text  | caps  | Textcite |
| text  |   | textcite |
|---+---+--|
| parens| noauthor-caps | Parencite*   |
| parens| noauthor  | parencite*   |
| parens| caps  | Parencite|
| parens|   | parencite|
|---+---+--|
| plain | noauthor-caps | Cite*|
| plain | noauthor  | cite*|
| plain | caps  | Cite |
| plain |   | cite |
|---+---+--|
| (default) | caps  | Autocite |
| (default) |   | autocite |

Well, see the revised table above. WDYT?


I'm fine with it. But I see a long discussion ensued. So, is it too
early to settle on this one, or shall I implement it?


Let's wait a bit more. Maybe others want to chime in.

Just one thing I was asking myself: Will/should users be able to 
customize that? The function that handles the export doesn't look to 
complicated after all.


Denis




Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Hi,

Am 20.05.2021 um 19:06 schrieb Nicolas Goaziou:

Hello,

"Bruce D'Arcus"  writes:


On Thu, May 20, 2021 at 9:57 AM Denis Maier  wrote:


I'm not really sure we need bare substyles at all. At least in biblatex
it's the basis for the other commands.


Though see my followup message on autocite config.

Does that change this discussion?


Why?


I put it in the form of a question, because I'm not sure, but ...

1. I wasn't sure Nicolas was aware of this config option, nor how one
would configure it currently (but it seems necessary in general)


There is `org-cite-biblatex-options' defcustom. Currently, it defaults
to nil, but you can set it to, e.g., "key=value,key2=value" if needed.
We can also change the default.


Is there a way to use styles that aren't loaded via biblatex package 
options, but as distinct package. E.g., biblatex-chicago is loaded as 
\usepackage{biblatex-chicago}. Internally, the package will then load 
biblatex on its own.


Denis



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Nicolas Goaziou
Hello,

Denis Maier  writes:

> By the way, I have the impression we can easily get rid of the 
> bare-variants completely. If we don't need footcitetext (or if we rename 
> the variant to note/text as that would be more appropriate, we can 
> something like this:
>
>
> | Style | Variant   | Command  |
> |---+---+--|
> | author| caps  | Citeauthor*  |
> | author| full  | citeauthor   |
> | author| caps-full | Citeauthor   |
> | author|   | citeauthor   |
> |---+---+--|
> | title | full  | citetitle*   |
> | title |   | citetitle|
> |---+---+--|
> | year  | full  | citeyear*|
> | year  |   | citeyear |
> |---+---+--|
> | locators  | parens| pnotecite|
> | locators  | parens-caps   | Pnotecite|
> | locators  | foot  | fnotecite|
> | locators  | caps  | Notecite |
> | locators  |   | notecite |
> |---+---+--|
> | nocite|   | nocite   |
> |---+---+--|
> | note  | text  | footcitetext |
> | note  |   | footcite |
> |---+---+--|
> | smart | caps  | Smartcite|
> | smart |   | smartcite|
> |---+---+--|
> | super |   | supercite|
> |---+---+--|
> | foot  |   | footcite |
> |---+---+--|
> | text  | caps  | Textcite |
> | text  |   | textcite |
> |---+---+--|
> | parens| noauthor-caps | Parencite*   |
> | parens| noauthor  | parencite*   |
> | parens| caps  | Parencite|
> | parens|   | parencite|
> |---+---+--|
> | plain | noauthor-caps | Cite*|
> | plain | noauthor  | cite*|
> | plain | caps  | Cite |
> | plain |   | cite |
> |---+---+--|
> | (default) | caps  | Autocite |
> | (default) |   | autocite |
>
> Well, see the revised table above. WDYT?

I'm fine with it. But I see a long discussion ensued. So, is it too
early to settle on this one, or shall I implement it?

Regards,
-- 
Nicolas Goaziou



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Nicolas Goaziou
Hello,

"Bruce D'Arcus"  writes:

> On Thu, May 20, 2021 at 9:57 AM Denis Maier  wrote:
>
>> >> I'm not really sure we need bare substyles at all. At least in biblatex
>> >> it's the basis for the other commands.
>> >
>> > Though see my followup message on autocite config.
>> >
>> > Does that change this discussion?
>>
>> Why?
>
> I put it in the form of a question, because I'm not sure, but ...
>
> 1. I wasn't sure Nicolas was aware of this config option, nor how one
> would configure it currently (but it seems necessary in general)

There is `org-cite-biblatex-options' defcustom. Currently, it defaults
to nil, but you can set it to, e.g., "key=value,key2=value" if needed.
We can also change the default.

Regards,
-- 
Nicolas Goaziou



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Bruce D'Arcus
On Thu, May 20, 2021 at 10:29 AM Denis Maier  wrote:
>
> Am 20.05.2021 um 16:11 schrieb Bruce D'Arcus:
...
> > 1. I wasn't sure Nicolas was aware of this config option, nor how one
> > would configure it currently (but it seems necessary in general)
>
> No, it's only necessary to configure this if you don't want the defaults.
>
> In authoryear styles you have autocite=inline by default
> In authortitle styles you have autocite=inline by default
> In verbose styles you have autocite=footnote by default
>
> So, if you use an authoryear/authortitle style, but want
> autocite=footnote you'll have to declare this as a package option.

Oh good!

> > 2. If you set default to autocite=inline, which is to say the
> > non-bare/plain style, the issue you note goes away?
> >
>
> Not sure. Autocite* => parencite*, but there's still no cite/bare* then.

Just to clarify:

There's no autocite command variant that produces the bare output?

But there are other more output-specific commands that do?

>From your followup to this:

> Another thought here:
> Yes, it could be [cite/parens/bare:...] but also [cite/note/bare:...].

Why is that necessary?

If I interpreted the above correctly, is not the limitation in
biblatex autocite?

E.g. Nicolas could map "cite/bare"  to whatever paren or note biblatex
variant, depending on the citation style?

> @Bruce: We don't have bare citation in CSL currently, right? Perhaps we
>  should add this to add some portability...

No, just as we don't have (yet) in-text, but processors have implemented it.

That's why I recommend on that table that citeproc-org/el supports it;
it's easy enough to add.

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Am 19.05.2021 um 17:23 schrieb Nicolas Goaziou:




\cite could be [cite/bare: ...]


This would be confusing. So far, "bare" is a style variant. Your
suggestion promotes it exceptionally to a full-fledged style. It hurts
my logic. :)




Could "\cite" be [cite/parens/bare:...] instead?


Another thought here:
Yes, it could be [cite/parens/bare:...] but also [cite/note/bare:...].

@Bruce: We don't have bare citation in CSL currently, right? Perhaps we 
 should add this to add some portability...


Denis



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Am 20.05.2021 um 16:11 schrieb Bruce D'Arcus:

On Thu, May 20, 2021 at 9:57 AM Denis Maier  wrote:


I'm not really sure we need bare substyles at all. At least in biblatex
it's the basis for the other commands.


Though see my followup message on autocite config.

Does that change this discussion?


Why?


I put it in the form of a question, because I'm not sure, but ...

1. I wasn't sure Nicolas was aware of this config option, nor how one
would configure it currently (but it seems necessary in general)


No, it's only necessary to configure this if you don't want the defaults.

In authoryear styles you have autocite=inline by default
In authortitle styles you have autocite=inline by default
In verbose styles you have autocite=footnote by default

So, if you use an authoryear/authortitle style, but want 
autocite=footnote you'll have to declare this as a package option.




2. If you set default to autocite=inline, which is to say the
non-bare/plain style, the issue you note goes away?



Not sure. Autocite* => parencite*, but there's still no cite/bare* then.


cite/year => \citeyear won't work as this will just print the year
without wrapping it in parentheses. It also won't trigger the ibid. in
the next citation.
cite/bare = \cite would also work in that particular citation, but an
author might remove the preceding sentence, which will make the ibid.
disappear. You will then have a regular bare citation (= "Doe 2020", or
"Doe, Title") instead of just the year or the title in parentheses.


OK, this is one of those nuances; I need to think on this one.


That's obviously an edge case. We can of course choose to start with a 
reasonable set of styles and extend later.


Denis



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Bruce D'Arcus
On Thu, May 20, 2021 at 9:57 AM Denis Maier  wrote:

> >> I'm not really sure we need bare substyles at all. At least in biblatex
> >> it's the basis for the other commands.
> >
> > Though see my followup message on autocite config.
> >
> > Does that change this discussion?
>
> Why?

I put it in the form of a question, because I'm not sure, but ...

1. I wasn't sure Nicolas was aware of this config option, nor how one
would configure it currently (but it seems necessary in general)
2. If you set default to autocite=inline, which is to say the
non-bare/plain style, the issue you note goes away?

> cite/year => \citeyear won't work as this will just print the year
> without wrapping it in parentheses. It also won't trigger the ibid. in
> the next citation.
> cite/bare = \cite would also work in that particular citation, but an
> author might remove the preceding sentence, which will make the ibid.
> disappear. You will then have a regular bare citation (= "Doe 2020", or
> "Doe, Title") instead of just the year or the title in parentheses.

OK, this is one of those nuances; I need to think on this one.

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Am 20.05.2021 um 15:22 schrieb Bruce D'Arcus:

On Thu, May 20, 2021 at 9:07 AM Denis Maier  wrote:


Am 20.05.2021 um 12:36 schrieb Bruce D'Arcus:

On Thu, May 20, 2021 at 4:18 AM Denis Maier  wrote:



But maybe cite/plain or cite/basic or so?


First, are those two suggestions just synonyms for cite/bare?


Yes. Nicolas complained about cite/bare so I've thought cite/plain may
be nicer. (See autocite=plain) But the biblatex manual uses itself the
term "bare".


OK.

I don't care; I suggested "bare" because the earlier "alt" was super vague.


Or are you indeed suggesting completely changing the current logic of
these styles and substyles? E.g "bare' substyle becomes rather a
"plain" or "basic" style?


I'm not really sure we need bare substyles at all. At least in biblatex
it's the basis for the other commands.


Though see my followup message on autocite config.

Does that change this discussion?


Why?

[...]



#+begin_example
At the beginning Doe argues this and that (2020, p. 20). He goes on to
say blabla, see ibid., p. 23.
#+end_example

In order to get the ibid., you'll need a \cite* instead of just a
\citeyear or so.


Shouldn't that example be covered in org-cite by, respectively ...

cite/year
cite/bare (or plain)


Hmm, yes. The example was not ideal. Works better in an author title style:

#+begin_example
At the beginning Doe argues this and that (Title, p. 20). Later, Doe 
then says blabla, see ibid., p. 23.

#+end_example

You'd get that with
#+begin_example
At the beginning Doe argues this and that \parencite*[20]{doe}. Later, 
Doe then says blabla, see \cite*[23]{doe}.

#+end_example

cite/year => \citeyear won't work as this will just print the year 
without wrapping it in parentheses. It also won't trigger the ibid. in 
the next citation.
cite/bare = \cite would also work in that particular citation, but an 
author might remove the preceding sentence, which will make the ibid. 
disappear. You will then have a regular bare citation (= "Doe 2020", or 
"Doe, Title") instead of just the year or the title in parentheses.




...?


And how would all of this map to natbib and citeproc? >
The style+substyles really should work well across the output formats,
and gracefully fallback if certain variants, particularly in biblatex,
aren't available in other formats.

Is that the case with your suggested changes?


The problem is indeed portability between csl and biblatex (and natbib).
I think it's unavoidable that users who use biblatex specific commands
loose that to a certain degree. Fallback mappings should be added, of
course, but they will only get you so far. We should probably indicate
which commands work in all packages so users can make their decisions
consciously.


Yes, it seems highly likely that some of biblatex just won't fully
work in other formats.

But ideally we'd limit that.


Absolutely!

Denis



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Am 20.05.2021 um 13:56 schrieb Bruce D'Arcus:

So backing up a bit, as I was getting confused, here's [1] one summary
of the different core biblatex commands.

- \cite [autocite=plain]: Citations are typeset as-is;
- \parencite [autocite=inline]: Citations are typeset in parentheses;
- \footcite [autocite=footnote]: Citations are typeset as footnotes;
- \supercite [autocite=superscript] (only available for the numeric
style family): Citations are typeset as superscripts.

Assuming that's correct, we're trying to sort out the relation between
those first two, and autocite; right?

I take that summary to mean this basic question can be handled by a
combination of autocite and export config; autocite=inline (or
autocite=footnote) as default export, but of course configurable?

Is that correct?


I think so, yes.


If yes, that seems straightforward; what's the problem we're trying to
solve beyond that?


Nothing really. The other things are merely additions...


Bruce

[1] https://tex.stackexchange.com/a/58592




Denis




Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Bruce D'Arcus
On Thu, May 20, 2021 at 9:07 AM Denis Maier  wrote:
>
> Am 20.05.2021 um 12:36 schrieb Bruce D'Arcus:
> > On Thu, May 20, 2021 at 4:18 AM Denis Maier  wrote:

> >> But maybe cite/plain or cite/basic or so?
> >
> > First, are those two suggestions just synonyms for cite/bare?
>
> Yes. Nicolas complained about cite/bare so I've thought cite/plain may
> be nicer. (See autocite=plain) But the biblatex manual uses itself the
> term "bare".

OK.

I don't care; I suggested "bare" because the earlier "alt" was super vague.

> > Or are you indeed suggesting completely changing the current logic of
> > these styles and substyles? E.g "bare' substyle becomes rather a
> > "plain" or "basic" style?
>
> I'm not really sure we need bare substyles at all. At least in biblatex
> it's the basis for the other commands.

Though see my followup message on autocite config.

Does that change this discussion?

...

> > If yes, I need to think on this more.
> >
> >> |---+---+--|
> >> | parens| noauthor-caps | Parencite*   |
> >> | parens| noauthor  | parencite*   |
> >> | parens| caps  | Parencite|
> >> | parens|   | parencite|
> >> |---+---+--|
> >> | plain | noauthor-caps | Cite*|
> >> | plain | noauthor  | cite*|
> >> | plain | caps  | Cite |
> >> | plain |   | cite |
> >> |---+---+--|
> >
> > Second, I don't understand some of the above.
> >
> > Why "noauthor", for example? Is that not handled currently with a "year" 
> > style?
> >
> > cite/year/caps
>
> First of all, what does capitalization of a number mean? There's no
> \Citeyear in biblatex, after all.

Right; I should not have used that example :-)

> But that aside, \citeauthor, \citetitle and \citeyear are lower level
> commands than \cite*{}.
> \cite* will work in author-date styles and in author-title styles. It
> will either print the date or the title. When using \citeyear directly
> you cannot easily switch to a different style. And: citeyear etc. don't
> use the internal trackers (ibid., idem., etc.).
>
> #+begin_example
> At the beginning Doe argues this and that (2020, p. 20). He goes on to
> say blabla, see ibid., p. 23.
> #+end_example
>
> In order to get the ibid., you'll need a \cite* instead of just a
> \citeyear or so.

Shouldn't that example be covered in org-cite by, respectively ...

cite/year
cite/bare (or plain)

...?

> > And how would all of this map to natbib and citeproc? >
> > The style+substyles really should work well across the output formats,
> > and gracefully fallback if certain variants, particularly in biblatex,
> > aren't available in other formats.
> >
> > Is that the case with your suggested changes?
>
> The problem is indeed portability between csl and biblatex (and natbib).
> I think it's unavoidable that users who use biblatex specific commands
> loose that to a certain degree. Fallback mappings should be added, of
> course, but they will only get you so far. We should probably indicate
> which commands work in all packages so users can make their decisions
> consciously.

Yes, it seems highly likely that some of biblatex just won't fully
work in other formats.

But ideally we'd limit that.

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Am 20.05.2021 um 12:36 schrieb Bruce D'Arcus:
> On Thu, May 20, 2021 at 4:18 AM Denis Maier  
wrote:

>
>> Could be, but also [cite/text/bare] or cite/foot/bare or cite/super/bare
>> as they all are essentially just wrappers around the plain cite command
>> (textcite is a bit different, but parencite and footcite really have the
>> same definition as cite, the only difference being that they add some
>> kind of wrapper.)
>> So, starting from parencite and then removing the wrapper would my logic
>> instead ;-)
>> But maybe cite/plain or cite/basic or so?
>
> First, are those two suggestions just synonyms for cite/bare?
Yes. Nicolas complained about cite/bare so I've thought cite/plain may 
be nicer. (See autocite=plain) But the biblatex manual uses itself the 
term "bare".



>
> Or are you indeed suggesting completely changing the current logic of
> these styles and substyles? E.g "bare' substyle becomes rather a
> "plain" or "basic" style?
I'm not really sure we need bare substyles at all. At least in biblatex 
it's the basis for the other commands.
But anyway: My first suggestion was cite/bare, and the reasoning behing 
that was:

cite: is equal to cite/default:
cite/default is equal to cite/auto
cite/auto is equal to cite/parens or cite/note
cite/bare could be understood as cite/auto/bare, which is cite/note/bare 
or cite/parens/bare


I just don't really like the notion of first adding a wrapper just to 
remove it afterwards.


>
> If yes, I need to think on this more.
>
>> |---+---+--|
>> | parens| noauthor-caps | Parencite*   |
>> | parens| noauthor  | parencite*   |
>> | parens| caps  | Parencite|
>> | parens|   | parencite|
>> |---+---+--|
>> | plain | noauthor-caps | Cite*|
>> | plain | noauthor  | cite*|
>> | plain | caps  | Cite |
>> | plain |   | cite |
>> |---+---+--|
>
> Second, I don't understand some of the above.
>
> Why "noauthor", for example? Is that not handled currently with a 
"year" style?

>
> cite/year/caps
First of all, what does capitalization of a number mean? There's no 
\Citeyear in biblatex, after all.
But that aside, \citeauthor, \citetitle and \citeyear are lower level 
commands than \cite*{}.
\cite* will work in author-date styles and in author-title styles. It 
will either print the date or the title. When using \citeyear directly 
you cannot easily switch to a different style. And: citeyear etc. don't 
use the internal trackers (ibid., idem., etc.).


#+begin_example
At the beginning Doe argues this and that (2020, p. 20). He goes on to 
say blabla, see ibid., p. 23.

#+end_example

In order to get the ibid., you'll need a \cite* instead of just a 
\citeyear or so.


>
> And how would all of this map to natbib and citeproc?>
> The style+substyles really should work well across the output formats,
> and gracefully fallback if certain variants, particularly in biblatex,
> aren't available in other formats.
>
> Is that the case with your suggested changes?
The problem is indeed portability between csl and biblatex (and natbib). 
I think it's unavoidable that users who use biblatex specific commands 
loose that to a certain degree. Fallback mappings should be added, of 
course, but they will only get you so far. We should probably indicate 
which commands work in all packages so users can make their decisions 
consciously.


Perhaps we should start thinking from the high level commands:

| CSL | biblatex|
|-+-|
| default | autocite (=parencite or footcite)   |
| in-text | textcite|
| suppress author | autocite* (=parencite* or footcite* |
|-+-|

FWIW, footcite* does not exist in all styles, so it will just behave 
like the regular footcite.


Denis



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Am 20.05.2021 um 12:36 schrieb Bruce D'Arcus:

On Thu, May 20, 2021 at 4:18 AM Denis Maier  wrote:


Could be, but also [cite/text/bare] or cite/foot/bare or cite/super/bare
as they all are essentially just wrappers around the plain cite command
(textcite is a bit different, but parencite and footcite really have the
same definition as cite, the only difference being that they add some
kind of wrapper.)
So, starting from parencite and then removing the wrapper would my logic
instead ;-)
But maybe cite/plain or cite/basic or so?


First, are those two suggestions just synonyms for cite/bare?


Yes. Nicolas complained about cite/bare so I've thought cite/plain may 
be nicer. (See autocite=plain) But the biblatex manual uses itself the 
term "bare".





Or are you indeed suggesting completely changing the current logic of
these styles and substyles? E.g "bare' substyle becomes rather a
"plain" or "basic" style?


I'm not really sure we need bare substyles at all. At least in biblatex 
it's the basis for the other commands.
But anyway: My first suggestion was cite/bare, and the reasoning behing 
that was:

cite: is equal to cite/default:
cite/default is equal to cite/auto
cite/auto is equal to cite/parens or cite/note
cite/bare could be understood as cite/auto/bare, which is cite/note/bare 
or cite/parens/bare


I just don't really like the notion of first adding a wrapper just to 
remove it afterwards.




If yes, I need to think on this more.


|---+---+--|
| parens| noauthor-caps | Parencite*   |
| parens| noauthor  | parencite*   |
| parens| caps  | Parencite|
| parens|   | parencite|
|---+---+--|
| plain | noauthor-caps | Cite*|
| plain | noauthor  | cite*|
| plain | caps  | Cite |
| plain |   | cite |
|---+---+--|


Second, I don't understand some of the above.

Why "noauthor", for example? Is that not handled currently with a "year" style?

cite/year/caps


First of all, what does capitalization of a number mean? There's no 
\Citeyear in biblatex, after all.
But that aside, \citeauthor, \citetitle and \citeyear are lower level 
commands than \cite*{}.
\cite* will work in author-date styles and in author-title styles. It 
will either print the date or the title. When using \citeyear directly 
you cannot easily switch to a different style. And: citeyear etc. don't 
use the internal trackers (ibid., idem., etc.).


#+begin_example
At the beginning Doe argues this and that (2020, p. 20). He goes on to 
say blabla, see ibid., p. 23.

#+end_example

In order to get the ibid., you'll need a \cite* instead of just a 
\citeyear or so.




And how would all of this map to natbib and citeproc? >
The style+substyles really should work well across the output formats,
and gracefully fallback if certain variants, particularly in biblatex,
aren't available in other formats.

Is that the case with your suggested changes?


The problem is indeed portability between csl and biblatex (and natbib). 
I think it's unavoidable that users who use biblatex specific commands 
loose that to a certain degree. Fallback mappings should be added, of 
course, but they will only get you so far. We should probably indicate 
which commands work in all packages so users can make their decisions 
consciously.


Perhaps we should start thinking from the high level commands:

| CSL | biblatex|
|-+-|
| default | autocite (=parencite or footcite)   |
| in-text | textcite|
| suppress author | autocite* (=parencite* or footcite* |
|-+-|

FWIW, footcite* does not exist in all styles, so it will just behave 
like the regular footcite.




Bruce

PS - I hadn't yet integrated sub-styles in this table, but we probably
need a table that does that.

https://github.com/bdarcus/bibtex-actions/wiki/Org-cite







Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Bruce D'Arcus
On Thu, May 20, 2021 at 7:56 AM Bruce D'Arcus  wrote:

> I take that summary to mean this basic question can be handled by a
> combination of autocite and export config; autocite=inline (or
> autocite=footnote) as default export, but of course configurable?

An example of using the autocite parameter to configure the autocite behavior:

\usepackage[style=apa,sortcites=true,sorting=nyt,backend=biber,autocite=inline]{biblatex}

Bruce

[1] https://tex.stackexchange.com/a/117405



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Bruce D'Arcus
So backing up a bit, as I was getting confused, here's [1] one summary
of the different core biblatex commands.

- \cite [autocite=plain]: Citations are typeset as-is;
- \parencite [autocite=inline]: Citations are typeset in parentheses;
- \footcite [autocite=footnote]: Citations are typeset as footnotes;
- \supercite [autocite=superscript] (only available for the numeric
style family): Citations are typeset as superscripts.

Assuming that's correct, we're trying to sort out the relation between
those first two, and autocite; right?

I take that summary to mean this basic question can be handled by a
combination of autocite and export config; autocite=inline (or
autocite=footnote) as default export, but of course configurable?

Is that correct?

If yes, that seems straightforward; what's the problem we're trying to
solve beyond that?

Bruce

[1] https://tex.stackexchange.com/a/58592



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Bruce D'Arcus
On Thu, May 20, 2021 at 3:22 AM Rudolf Adamkovič  wrote:

> I could test this. I write multiple posts in APA style every week, all
> with citations, and I cannot wait to use Org instead of LaTeX for all my
> work. Is it possible to test this with use-package somehow? Note, I am
> still fairly new to Emacs.

No; I've been using this.

https://gist.github.com/bdarcus/2645f99363fc47ddab2aae24c5d9e66c

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Bruce D'Arcus
On Thu, May 20, 2021 at 4:18 AM Denis Maier  wrote:

> Could be, but also [cite/text/bare] or cite/foot/bare or cite/super/bare
> as they all are essentially just wrappers around the plain cite command
> (textcite is a bit different, but parencite and footcite really have the
> same definition as cite, the only difference being that they add some
> kind of wrapper.)
> So, starting from parencite and then removing the wrapper would my logic
> instead ;-)
> But maybe cite/plain or cite/basic or so?

First, are those two suggestions just synonyms for cite/bare?

Or are you indeed suggesting completely changing the current logic of
these styles and substyles? E.g "bare' substyle becomes rather a
"plain" or "basic" style?

If yes, I need to think on this more.

> |---+---+--|
> | parens| noauthor-caps | Parencite*   |
> | parens| noauthor  | parencite*   |
> | parens| caps  | Parencite|
> | parens|   | parencite|
> |---+---+--|
> | plain | noauthor-caps | Cite*|
> | plain | noauthor  | cite*|
> | plain | caps  | Cite |
> | plain |   | cite |
> |---+---+--|

Second, I don't understand some of the above.

Why "noauthor", for example? Is that not handled currently with a "year" style?

cite/year/caps

And how would all of this map to natbib and citeproc?

The style+substyles really should work well across the output formats,
and gracefully fallback if certain variants, particularly in biblatex,
aren't available in other formats.

Is that the case with your suggested changes?

Bruce

PS - I hadn't yet integrated sub-styles in this table, but we probably
need a table that does that.

https://github.com/bdarcus/bibtex-actions/wiki/Org-cite



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Denis Maier

Am 19.05.2021 um 17:23 schrieb Nicolas Goaziou:

Denis Maier  writes:

In that case, I'd think that note/bare => footcitecite isn't
a particular good fit. Footcitetext puts the citation in a footnote,
just that it doesn't print a footnote mark in a running text.
(This is useful in cases where the regular footnote mechanism in LaTeX
doesn't work, e.g. in headings or tables. In these cases you' can
place the mark manually with \footnotemark, and later you specify the
text with \footnotetext, or in that case with \footcitetext.)


OK, I'll remove it.

What about also removing \footcite altogether? We could simply
automatically wrap the citation in a inline footnote before exporting
the document. No need for a special command.



No, I wouldn't suggest that unless you want to deal with capitalization 
at the beginning of footnotes, which \footcite does automatically.

#+begin_example
\documentclass{article}
\begin{filecontents}{\jobname.bib}
@book{doe,
author = {Doe, John},
title = {On using biblatex with orgmode},
year = {2021},
}
\end{filecontents}
\usepackage[style=authortitle-ibid]{biblatex}
\addbibresource{\jobname.bib}

\begin{document}
Test.\footcite{doe}
Test.\footcite{doe} % "ibid." -> "Ibid."

\citereset
Test.\footnote{\cite{doe}.}
Test.\footnote{\cite{doe}.} "ibid." stays "ibid."
\end{document}
#+end_example



Org already handles footnotes in headings and tables, so there may be no
need to footcitetext either…


Regarding:

| locators  | bare  | notecite |
| locators  | caps  | Pnotecite|
| locators  | bare-caps | Notecite |
| locators  |   | pnotecite|


fnotecite should be added.


Under what style/variant combination?


| locators  | bare  | notecite |
| locators  | caps  | Pnotecite|
| locators  | bare-caps | Notecite |
| locators  | foot  | fnotecite|
| locators  |   | pnotecite|



One problem is there is no "\cite", or "\parencite". I though they would
make a good fit for the default style, "\cite" being the "bare" variant
of "\parencite", and "\autocite" could be moved to a "auto" style. I'm
not sure where to put \cite, then.


Why not just add a cite/parens style?


OK.


\cite could be [cite/bare: ...]


This would be confusing. So far, "bare" is a style variant. Your
suggestion promotes it exceptionally to a full-fledged style. It hurts
my logic. :)

Could "\cite" be [cite/parens/bare:...] instead?


Could be, but also [cite/text/bare] or cite/foot/bare or cite/super/bare 
as they all are essentially just wrappers around the plain cite command 
(textcite is a bit different, but parencite and footcite really have the 
same definition as cite, the only difference being that they add some 
kind of wrapper.)
So, starting from parencite and then removing the wrapper would my logic 
instead ;-)

But maybe cite/plain or cite/basic or so?

By the way, I have the impression we can easily get rid of the 
bare-variants completely. If we don't need footcitetext (or if we rename 
the variant to note/text as that would be more appropriate, we can 
something like this:



| Style | Variant   | Command  |
|---+---+--|
| author| caps  | Citeauthor*  |
| author| full  | citeauthor   |
| author| caps-full | Citeauthor   |
| author|   | citeauthor   |
|---+---+--|
| title | full  | citetitle*   |
| title |   | citetitle|
|---+---+--|
| year  | full  | citeyear*|
| year  |   | citeyear |
|---+---+--|
| locators  | parens| pnotecite|
| locators  | parens-caps   | Pnotecite|
| locators  | foot  | fnotecite|
| locators  | caps  | Notecite |
| locators  |   | notecite |
|---+---+--|
| nocite|   | nocite   |
|---+---+--|
| note  | text  | footcitetext |
| note  |   | footcite |
|---+---+--|
| smart | caps  | Smartcite|
| smart |   | smartcite|
|---+---+--|
| super |   | supercite|
|---+---+--|
| foot  |   | footcite |
|---+---+--|
| text  | caps  | Textcite |
| text  |   | textcite |
|---+---+--|
| parens| noauthor-caps | Parencite*   |
| parens| noauthor  | parencite*   |
| parens| caps  | Parencite|
| parens|   | parencite|
|---+---+--|
| 

Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-20 Thread Rudolf Adamkovič
"Bruce D'Arcus"  writes:

> On Tue, May 18, 2021, 11:45 AM Nicolas Goaziou  wrote:
>
> I don't use biblatex either; hopefully some folks that do can test
> this.

I could test this. I write multiple posts in APA style every week, all
with citations, and I cannot wait to use Org instead of LaTeX for all my
work. Is it possible to test this with use-package somehow? Note, I am
still fairly new to Emacs.

Rudy

> Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Nicolas Goaziou
Denis Maier  writes:
> In that case, I'd think that note/bare => footcitecite isn't
> a particular good fit. Footcitetext puts the citation in a footnote,
> just that it doesn't print a footnote mark in a running text.
> (This is useful in cases where the regular footnote mechanism in LaTeX
> doesn't work, e.g. in headings or tables. In these cases you' can
> place the mark manually with \footnotemark, and later you specify the
> text with \footnotetext, or in that case with \footcitetext.)

OK, I'll remove it.

What about also removing \footcite altogether? We could simply
automatically wrap the citation in a inline footnote before exporting
the document. No need for a special command.

Org already handles footnotes in headings and tables, so there may be no
need to footcitetext either…

> Regarding:
>> | locators  | bare  | notecite |
>> | locators  | caps  | Pnotecite|
>> | locators  | bare-caps | Notecite |
>> | locators  |   | pnotecite|
>
> fnotecite should be added.

Under what style/variant combination?

>> One problem is there is no "\cite", or "\parencite". I though they would
>> make a good fit for the default style, "\cite" being the "bare" variant
>> of "\parencite", and "\autocite" could be moved to a "auto" style. I'm
>> not sure where to put \cite, then.
>
> Why not just add a cite/parens style?

OK.

> \cite could be [cite/bare: ...]

This would be confusing. So far, "bare" is a style variant. Your
suggestion promotes it exceptionally to a full-fledged style. It hurts
my logic. :)

Could "\cite" be [cite/parens/bare:...] instead?

> Regarding \autocite being the default:
> I think one strong argument in favor of this is that people may want
> to switch between different citation export processors. So if you
> typeset your article with latex you may want to use biblatex. But if
> the journal accepts submissions only as docx files you'll have to
> switch to a CSL-based citeproc. Here, the default is to wrap the
> citation either in a footnote or in parentheses, depending on the
> style.
> So, to ensure portability of documents across export systems [cite:
> @doe] should give similar results with different systems, and I think 
> \autocite would be the best choice. (By the way, it's also the way
> pandoc implements this.)

Users can disregard any default style chosen by the processor. If
I write:

  #+cite_export: biblatex whatever text

all [cite:...] objects will create \textcite commands, no matter what
the processor thinks about it.

So, an hypothetical

  #+cite_export: biblatex foo auto

could also turn all [cite:...] into \autocite commands and the document
would be portable.

The default processor style for citations is to be understood as
a fall-back style, not necessarily as "the style associated to
[cite:...]".

Anyway, I don't have a strong opinion about autocite being the default.
If it makes sense and we can put \cite elsewhere, let's use that.

Regards,



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Bruce D'Arcus
On Wed, May 19, 2021 at 10:31 AM Denis Maier  wrote:

> In that case, I'd think that note/bare => footcitecite isn't a
> particular good fit. Footcitetext puts the citation in a footnote, just
> that it doesn't print a footnote mark in a running text.

And, just as a general rule, not all sub-styles are relevant for all styles.

> > One problem is there is no "\cite", or "\parencite". I though they would
> > make a good fit for the default style, "\cite" being the "bare" variant
> > of "\parencite", and "\autocite" could be moved to a "auto" style. I'm
> > not sure where to put \cite, then.
>
> Why not just add a cite/parens style?

Probably makes sense.

> \cite could be [cite/bare: ...]
>
> Regarding \autocite being the default:
> I think one strong argument in favor of this is that people may want to
> switch between different citation export processors. So if you typeset
> your article with latex you may want to use biblatex. But if the journal
> accepts submissions only as docx files you'll have to switch to a
> CSL-based citeproc.

Yes, this is the use case I was thinking of when suggesting a lot of this.

In fact, it's an approach I'm likely to use myself!

> Here, the default is to wrap the citation either in
> a footnote or in parentheses, depending on the style.
> So, to ensure portability of documents across export systems [cite:
> @doe] should give similar results with different systems, and I think
> \autocite would be the best choice. (By the way, it's also the way
> pandoc implements this.)

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Denis Maier

Am 19.05.2021 um 15:44 schrieb Nicolas Goaziou:

Here is the summary:

| Style | Variant   | Command  |
|---+---+--|
| author| caps  | Citeauthor*  |
| author| full  | citeauthor   |
| author| caps-full | Citeauthor   |
| author|   | citeauthor   |
|---+---+--|
| locators  | bare  | notecite |
| locators  | caps  | Pnotecite|
| locators  | bare-caps | Notecite |
| locators  |   | pnotecite|
|---+---+--|
| nocite|   | nocite   |
|---+---+--|
| note  | bare  | footcitetext |
| note  |   | footcite |
|---+---+--|
| smart | caps  | Smartcite|
| smart |   | smartcite|
|---+---+--|
| super |   | supercite|
|---+---+--|
| text  | caps  | Textcite |
| text  |   | textcite |
|---+---+--|
| title | full  | citetitle*   |
| title |   | citetitle|
|---+---+--|
| year  | full  | citeyear*|
| year  |   | citeyear |
|---+---+--|
| (default) | caps  | Autocite |
| (default) |   | autocite |

"bare" variant means "without parenthesis", I think.


Am 19.05.2021 um 15:50 schrieb Bruce D'Arcus:

To be more precise/general, it means without enclosing punctuation;
parentheses, brackets, etc.



Thanks, both. So bare is just the citation without a wrapper.

In that case, I'd think that note/bare => footcitecite isn't a 
particular good fit. Footcitetext puts the citation in a footnote, just 
that it doesn't print a footnote mark in a running text.
(This is useful in cases where the regular footnote mechanism in LaTeX 
doesn't work, e.g. in headings or tables. In these cases you' can place 
the mark manually with \footnotemark, and later you specify the text 
with \footnotetext, or in that case with \footcitetext.)


Regarding:
> | locators  | bare  | notecite |
> | locators  | caps  | Pnotecite|
> | locators  | bare-caps | Notecite |
> | locators  |   | pnotecite|

fnotecite should be added.


One problem is there is no "\cite", or "\parencite". I though they would
make a good fit for the default style, "\cite" being the "bare" variant
of "\parencite", and "\autocite" could be moved to a "auto" style. I'm
not sure where to put \cite, then.


Why not just add a cite/parens style?
\cite could be [cite/bare: ...]

Regarding \autocite being the default:
I think one strong argument in favor of this is that people may want to 
switch between different citation export processors. So if you typeset 
your article with latex you may want to use biblatex. But if the journal 
accepts submissions only as docx files you'll have to switch to a 
CSL-based citeproc. Here, the default is to wrap the citation either in 
a footnote or in parentheses, depending on the style.
So, to ensure portability of documents across export systems [cite: 
@doe] should give similar results with different systems, and I think 
\autocite would be the best choice. (By the way, it's also the way 
pandoc implements this.)


Denis





Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Nicolas Goaziou
Hello,

Denis Maier  writes:

> \cite is the most basic cite command:
>
> In a author-year style:
> \cite => Doe 2020
> \textcite => Doe (2020)   
> \parencite=> (Doe 2020)
> \autocite => \parencite
>
> In note-based styles (e.g verbose):
>
> \cite => Doe, Title
> \footcite => [fn:: Doe, Title]
> \parencite=> (Doe, Title)
> \autocite => \footcite
>
>> 
>>> Also, footcite should be there.
>> Footcite is already there under the "note"/"fn" style.
>
> Good! (I was just a bit confused because biblatex has \footcite and
> \notecite.

Here is the summary:

| Style | Variant   | Command  |
|---+---+--|
| author| caps  | Citeauthor*  |
| author| full  | citeauthor   |
| author| caps-full | Citeauthor   |
| author|   | citeauthor   |
|---+---+--|
| locators  | bare  | notecite |
| locators  | caps  | Pnotecite|
| locators  | bare-caps | Notecite |
| locators  |   | pnotecite|
|---+---+--|
| nocite|   | nocite   |
|---+---+--|
| note  | bare  | footcitetext |
| note  |   | footcite |
|---+---+--|
| smart | caps  | Smartcite|
| smart |   | smartcite|
|---+---+--|
| super |   | supercite|
|---+---+--|
| text  | caps  | Textcite |
| text  |   | textcite |
|---+---+--|
| title | full  | citetitle*   |
| title |   | citetitle|
|---+---+--|
| year  | full  | citeyear*|
| year  |   | citeyear |
|---+---+--|
| (default) | caps  | Autocite |
| (default) |   | autocite |

"bare" variant means "without parenthesis", I think.

One problem is there is no "\cite", or "\parencite". I though they would
make a good fit for the default style, "\cite" being the "bare" variant
of "\parencite", and "\autocite" could be moved to a "auto" style. I'm
not sure where to put \cite, then.

Suggestions to change the table above are welcome.

Regards,
-- 
Nicolas Goaziou



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Bruce D'Arcus
On Wed, May 19, 2021 at 9:45 AM Nicolas Goaziou  wrote:

> "bare" variant means "without parenthesis", I think.

To be more precise/general, it means without enclosing punctuation;
parentheses, brackets, etc.

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Denis Maier

Hi,

Am 18.05.2021 um 17:13 schrieb Nicolas Goaziou:

Hello,

In a rebased "wip-cite-new" branch, I made an modest attempt to write
a `biblatex' citation processor, in the file "oc-biblatex.el"


Just in case anyone else stumbles over this:
You'll have the add
(require 'oc-biblatex)
to the cite-init.el file.




- author(a), including caps(c), full(f) and caps-full(f) variants,
- locators(l), including bare(b), caps(c) bare-caps(bc) variants,
- nocite(n),
- note(fn), including bare(b) variant,
- smart(sm), including caps(c) variant,
- super(s),
- text(t), including caps(c) variant,
- title(ti), including full(f) variant,
- year(y), including full(f) variant,
- default style, including caps(c) variant.


What's the intended meaning of these "bare" variants?
I was a bit confused by [cite/note/bare...] going to \footcitetext
What's the intention here?

Denis




Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Denis Maier

Am 19.05.2021 um 12:43 schrieb Bruce D'Arcus:

On Wed, May 19, 2021 at 6:05 AM Denis Maier  wrote:


Is there a way to get a simple \cite?


Hmm ... "cite/cite"?

What does "cite" do that "autocite" doesn't?


\cite is the most basic cite command:

In a author-year style:
\cite   => Doe 2020
\textcite   => Doe (2020)
\parencite  => (Doe 2020)
\autocite   => \parencite

In note-based styles (e.g verbose):

\cite   => Doe, Title
\footcite   => [fn:: Doe, Title]
\parencite  => (Doe, Title)
\autocite   => \footcite




Also, footcite should be there.


Footcite is already there under the "note"/"fn" style.


Good! (I was just a bit confused because biblatex has \footcite and 
\notecite.


Denis



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Bruce D'Arcus
On Wed, May 19, 2021 at 6:05 AM Denis Maier  wrote:

> Is there a way to get a simple \cite?

Hmm ... "cite/cite"?

What does "cite" do that "autocite" doesn't?

> Also, footcite should be there.

Footcite is already there under the "note"/"fn" style.

Bruce



Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-19 Thread Denis Maier

Am 18.05.2021 um 17:13 schrieb Nicolas Goaziou:

Hello,

In a rebased "wip-cite-new" branch, I made an modest attempt to write
a `biblatex' citation processor, in the file "oc-biblatex.el

As Bruces has already written, this doesn't look modest at all.

[...]



- author(a), including caps(c), full(f) and caps-full(f) variants,
- locators(l), including bare(b), caps(c) bare-caps(bc) variants,
- nocite(n),
- note(fn), including bare(b) variant,
- smart(sm), including caps(c) variant,
- super(s),
- text(t), including caps(c) variant,
- title(ti), including full(f) variant,
- year(y), including full(f) variant,
- default style, including caps(c) variant.


Is there a way to get a simple \cite?
Also, footcite should be there.



The default style creates "autocite" commands.


[...]


I don't use biblatex, but I'm not convinced by the default autocite
command. Wouldn't parencite be more predictable? Also, adding

   #+cite_export biblatex ... auto

to trigger autocite by default seems easy enough. 
I think autocite is a reasonable default. Parencite would be a bad fit 
for the verbose styles. And in author-year styles autocite is equivalent 
to parencite anyway.


Denis







Re: [wip-cite-new] Initial implementation of `biblatex' citation processor

2021-05-18 Thread Bruce D'Arcus
On Tue, May 18, 2021, 11:45 AM Nicolas Goaziou  wrote:

> In a rebased "wip-cite-new" branch, I made an modest attempt to write
> a `biblatex' citation processor ...

Looks a bit more than "modest"!

I don't use biblatex either; hopefully some folks that do can test this.

I'm not sure on autocite, for example, either; that will require
people who use biblatex to test it and see if it makes sense or not.

But looks good in general; a natural extension of the natbib processor.

Bruce