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". Here is what is in there. Remarks follow. --8<---------------cut here---------------start------------->8--- This library registers the `biblatex' citation processor, which provides the "export" capability for citations. You may activate it globally with (setq org-cite-export-processor '(biblatex)) or at the document level, with #+cite_export: biblatex The processor relies on "biblatex" LaTeX package. As such it ensures that the package is properly required in the document's preamble. More accurately, it will re-use any "\usepackage{biblatex}" already present in the document (e.g., through `org-latex-packages-alist'), or insert one using options defined in `org-cite-biblatex-options'. In any case, the library will override style-related options with those specified with the citation processor, in `org-cite-export-processor' or "cite_export" keyword. If you need to use different styles for bibliography and citations, you can separate them with "bibstyle/citestyle" syntax. E.g., #+cite_export: natbib authortitle/authortitle-ibid The library supports the following citation styles: - 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. The default style creates "autocite" commands. When citation and style permit, the library automatically generates "multicite" versions of the commands above. Bibliography is printed using "\printbibliography" command. Additional options may be passed to it through a property list attached to the "print_bibliography" keyword. E.g., #+print_bibliography: :section 2 :heading subbibliography Values including spaces must be surrounded with double quotes. If you need to use a key multiple times, you can separate its values with commas, but without any space in-between: #+print_bibliography: :keyword abc,xyz :title "Primary Sources" --8<---------------cut here---------------end--------------->8--- The first thing worth noticing is that I changed syntax for "print_bibliography" keyword. Previously, it was #+print_bibliography: style but specifying a local style was not so useful. So, now, it accepts a property list instead, as it was suggested in a related message about filtering bibliography. The library distinguishes two citation styles: one for the package itself (e.g., when using "bibstyle/citestyle" syntax), and one for generating the commands (when using #+cite_export: biblatex ... style). Using "style" for both may be misleading. We may use "citation type" to designate constructs like [cite/something:...] instead. 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. In any case, feel free to suggest more styles/types to the list. Is there any crucial feature missing? I didn't test it much so it probably contains silly bugs. Sorry about that. Feedback is highly appreciated. Regards, -- Nicolas Goaziou
On Tue, May 18, 2021, 11:45 AM Nicolas Goaziou <mail@nicolasgoaziou.fr> 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
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
On Wed, May 19, 2021 at 6:05 AM Denis Maier <denismaier@mailbox.org> 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
Am 19.05.2021 um 12:43 schrieb Bruce D'Arcus: > On Wed, May 19, 2021 at 6:05 AM Denis Maier <denismaier@mailbox.org> 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
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
Hello,
Denis Maier <denismaier@mailbox.org> 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
On Wed, May 19, 2021 at 9:45 AM Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> "bare" variant means "without parenthesis", I think.
To be more precise/general, it means without enclosing punctuation;
parentheses, brackets, etc.
Bruce
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
On Wed, May 19, 2021 at 10:31 AM Denis Maier <denismaier@mailbox.org> 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
Denis Maier <denismaier@mailbox.org> 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,
"Bruce D'Arcus" <bdarcus@gmail.com> writes: > On Tue, May 18, 2021, 11:45 AM Nicolas Goaziou <mail@nicolasgoaziou.fr> 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
Am 19.05.2021 um 17:23 schrieb Nicolas Goaziou: > Denis Maier <denismaier@mailbox.org> 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 | |-----------+---------------+--------------| | plain | noauthor-caps | Cite* | | plain | noauthor | cite* | | plain | caps | Cite | | plain | | cite | |-----------+---------------+--------------| | (default) | caps | Autocite | | (default) | | autocite | > > 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. Well, see the revised table above. WDYT? Denis
On Thu, May 20, 2021 at 4:18 AM Denis Maier <denismaier@mailbox.org> 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
On Thu, May 20, 2021 at 3:22 AM Rudolf Adamkovič <salutis@me.com> 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
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
On Thu, May 20, 2021 at 7:56 AM Bruce D'Arcus <bdarcus@gmail.com> 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
Am 20.05.2021 um 12:36 schrieb Bruce D'Arcus: > On Thu, May 20, 2021 at 4:18 AM Denis Maier <denismaier@mailbox.org> 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 > >
Am 20.05.2021 um 12:36 schrieb Bruce D'Arcus: > On Thu, May 20, 2021 at 4:18 AM Denis Maier <denismaier@mailbox.org> 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
On Thu, May 20, 2021 at 9:07 AM Denis Maier <denismaier@mailbox.org> wrote: > > Am 20.05.2021 um 12:36 schrieb Bruce D'Arcus: > > On Thu, May 20, 2021 at 4:18 AM Denis Maier <denismaier@mailbox.org> 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
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
Am 20.05.2021 um 15:22 schrieb Bruce D'Arcus: > On Thu, May 20, 2021 at 9:07 AM Denis Maier <denismaier@mailbox.org> wrote: >> >> Am 20.05.2021 um 12:36 schrieb Bruce D'Arcus: >>> On Thu, May 20, 2021 at 4:18 AM Denis Maier <denismaier@mailbox.org> 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
On Thu, May 20, 2021 at 9:57 AM Denis Maier <denismaier@mailbox.org> 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
Am 20.05.2021 um 16:11 schrieb Bruce D'Arcus: > On Thu, May 20, 2021 at 9:57 AM Denis Maier <denismaier@mailbox.org> 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
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
On Thu, May 20, 2021 at 10:29 AM Denis Maier <denismaier@mailbox.org> 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
Hello,
"Bruce D'Arcus" <bdarcus@gmail.com> writes:
> On Thu, May 20, 2021 at 9:57 AM Denis Maier <denismaier@mailbox.org> 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
Hello,
Denis Maier <denismaier@mailbox.org> 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
Hi,
Am 20.05.2021 um 19:06 schrieb Nicolas Goaziou:
> Hello,
>
> "Bruce D'Arcus" <bdarcus@gmail.com> writes:
>
>> On Thu, May 20, 2021 at 9:57 AM Denis Maier <denismaier@mailbox.org> 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
Am 20.05.2021 um 19:15 schrieb Nicolas Goaziou:
> Hello,
>
> Denis Maier <denismaier@mailbox.org> 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
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 <denismaier@mailbox.org> writes: > Hi, > > Am 20.05.2021 um 19:06 schrieb Nicolas Goaziou: >> Hello, >> >> "Bruce D'Arcus" <bdarcus@gmail.com> writes: >> >>> On Thu, May 20, 2021 at 9:57 AM Denis Maier >>> <denismaier@mailbox.org> 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
On Thu, May 20, 2021 at 6:37 PM Thomas S. Dye <tsd@tsdye.online> 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
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 <bdarcus@gmail.com> writes: > On Thu, May 20, 2021 at 6:37 PM Thomas S. Dye <tsd@tsdye.online> > 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
On Tue, May 18, 2021 at 11:45 AM Nicolas Goaziou <mail@nicolasgoaziou.fr> 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
Hello,
"Bruce D'Arcus" <bdarcus@gmail.com> writes:
> On Tue, May 18, 2021 at 11:45 AM Nicolas Goaziou <mail@nicolasgoaziou.fr> 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
On Fri, May 21, 2021 at 9:13 AM Nicolas Goaziou <mail@nicolasgoaziou.fr> 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
Hello, Denis Maier <denismaier@mailbox.org> 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
Hello,
Denis Maier <denismaier@mailbox.org> 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
[-- Attachment #1: Type: text/plain, Size: 8146 bytes --] 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 command mapping). You will see, for example, that we map this style to citeyear in natbib, but to the more general “style-independent” biblatex command “autocite*”, which produces the same output as citeyear in author-date styles. We have suggested the style name “noauthor” here instead, since it mirrors “nocite”, and is shorter than “supressauthor”. It seems possible some natbib users may be confused by this, but we expect it to be a temporary confusion, and on balance this is a better approach, as the styles can be consistent across output formats and styles. On “title”, we found the biblatex manual says about these commands: "They are intended for use in the flow of text. Note that all text commands are excluded from citation tracking." We understand this to say "they are not real citation commands." Another question we pondered was whether all those cite/text (and probably default) natbib variants make sense in practice. We have left them in, on the basis we won't really know until people start using this. But it's worth noting that a lot of those variants don't appear to have (certainly not in this table) equivalent biblatex commands. So users will have to be aware of that, and how the fall back system works (for example, text/bare-caps-full will in practice just fall back to text for biblatex). I think that covers everything. If you have any questions on this, please let us know of course. And, of course, if you use natbib or biblatex a lot, now would be a good time to weigh in. Bruce PS - finally, here's the "extended" table, for illustration: | Style | Variant | BibLaTeX Command | |--------------+---------------------+------------------| | locators (l) | parens (p) | pnotecite | | locators (l) | caps-parens (cp) | Pnotecite | | locators (l) | foot (fn) | fnotecite | |--------------+---------------------+------------------| | note (no) | | footcite | |--------------+---------------------+------------------| | title (ti) | full (f) | citetitle* | | title (ti) | | citetitle | |--------------+---------------------+------------------| | smart (sm) | caps (c) | Smartcite | | smart (sm) | | smartcite | |--------------+---------------------+------------------| | super (su) | | supercite | |--------------+---------------------+------------------| | foot (ft) | | footcite | |--------------+---------------------+------------------| | parens (p) | caps-noauthor (cna) | Parencite* | | parens (p) | noauthor (na) | parencite* | | parens (p) | caps (c) | Parencite | | parens (p) | | parencite | |--------------+---------------------+------------------| [-- Attachment #2: mapping.org --] [-- Type: application/octet-stream, Size: 4068 bytes --] * Core | 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 | |---------------+----------------------+----------------+------------------| * Possible future extensions | Style | Variant | BibLaTeX Command | |--------------+---------------------+------------------| | locators (l) | parens (p) | pnotecite | | locators (l) | caps-parens (cp) | Pnotecite | | locators (l) | foot (fn) | fnotecite | |--------------+---------------------+------------------| | note (no) | | footcite | |--------------+---------------------+------------------| | title (ti) | full (f) | citetitle* | | title (ti) | | citetitle | |--------------+---------------------+------------------| | smart (sm) | caps (c) | Smartcite | | smart (sm) | | smartcite | |--------------+---------------------+------------------| | super (su) | | supercite | |--------------+---------------------+------------------| | foot (ft) | | footcite | |--------------+---------------------+------------------| | parens (p) | caps-noauthor (cna) | Parencite* | | parens (p) | noauthor (na) | parencite* | | parens (p) | caps (c) | Parencite | | parens (p) | | parencite | |--------------+---------------------+------------------|
Hello, "Bruce D'Arcus" <bdarcus@gmail.com> 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
Nicolas, András,
I wanted to pull this example out from oc-biblatex for consideration in oc-csl:
On Tue, May 18, 2021 at 11:45 AM Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> Bibliography is printed using "\printbibliography" command. Additional
> options may be passed to it through a property list attached to the
> "print_bibliography" keyword. E.g.,
>
> #+print_bibliography: :section 2 :heading subbibliography
>
> Values including spaces must be surrounded with double quotes. If you need
> to use a key multiple times, you can separate its values with commas, but
> without any space in-between:
>
> #+print_bibliography: :keyword abc,xyz :title "Primary Sources"
This is a great addition for that module, but I'm wondering what to do
with documents written using this in oc-csl.
I don't believe citeproc-el currently supports any of these features,
and it looks like the citeproc-el API doesn't even have an optional
parameter to put details like these.
As a consequence, if one adds an example like the above, so that one
has two print_bibliography lines, one will get two, duplicate
bibliography lists outside of oc-biblatex.
So two questions:
1. Do you have any interest in adding support for this in citeproc-el
at some point András?
2. Is the current behavior acceptable? If not, any better options? I'm
not sure there is, but thought I'd ask anyway. Biblatex users familiar
with this feature might have some ideas on this?
I guess I just want to call your attention to this, in the event you
had any thoughts on if and how to support this going forward.
Bruce
Hello, "Bruce D'Arcus" <bdarcus@gmail.com> writes: >> Bibliography is printed using "\printbibliography" command. Additional >> options may be passed to it through a property list attached to the >> "print_bibliography" keyword. E.g., >> >> #+print_bibliography: :section 2 :heading subbibliography > I don't believe citeproc-el currently supports any of these features, > and it looks like the citeproc-el API doesn't even have an optional > parameter to put details like these. > > As a consequence, if one adds an example like the above, so that one > has two print_bibliography lines, one will get two, duplicate > bibliography lists outside of oc-biblatex. I don't understand how you reach that consequence… If the citation processor does not understand the properties, it simply ignores them, but obeys to "print_bibliography" directive anyhow. Have you tried it? I'm not sure to understand your concern. Regards, -- Nicolas Goaziou
On Sat, May 29, 2021 at 11:15 AM Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: > > Hello, > > "Bruce D'Arcus" <bdarcus@gmail.com> writes: > > >> Bibliography is printed using "\printbibliography" command. Additional > >> options may be passed to it through a property list attached to the > >> "print_bibliography" keyword. E.g., > >> > >> #+print_bibliography: :section 2 :heading subbibliography > > > I don't believe citeproc-el currently supports any of these features, > > and it looks like the citeproc-el API doesn't even have an optional > > parameter to put details like these. > > > > As a consequence, if one adds an example like the above, so that one > > has two print_bibliography lines, one will get two, duplicate > > bibliography lists outside of oc-biblatex. > > I don't understand how you reach that consequence… If the citation > processor does not understand the properties, it simply ignores them, > but obeys to "print_bibliography" directive anyhow. > > Have you tried it? I'm not sure to understand your concern. Yes. I think we're saying the same thing, but maybe I need to clarify the implications better? See below. Let me illustrate with a full example, where the @einstein entry has a "keyword" field of "primary." The use case is a user wanting a bibliography with two sections, which is a common case for this feature. Note that I am unsure of the exact invocation to achieve this with biblatex (as in, it's probably wrong), but I don't think that matters to illustrate the point. >>>>> #+language: en #+bibliography: test.bib #+cite_export: csl 1. simple: [cite:@latexcompanion] 2. primary source: [cite:@einstein] 3. affixes: [cite/text:see @latexcompanion chapter 2 p.23] 4. quote, punctuation: “my quote” [cite/text/caps:@latexcompanion]. * Bibliography ** Primary Sources #+print_bibliography: :keyword primary :title "Primary Sources" ** Secondary Sources #+print_bibliography: :title "Secondary Source" <<<<< Here's the output from oc-csl: >>>>> 1. simple: (Goossens, Mittelbach, and Samarin 1993) 2. primary source: (Einstein 1905) 3. affixes: (see Goossens, Mittelbach, and Samarin 1993, chaps. 2 p.23) 4. quote, punctuation: “my quote” (Goossens, Mittelbach, and Samarin 1993). 1 Bibliography ══════════════ 1.1 Primary Sources ─────────────────── Einstein, Albert. 1905. “Zur Elektrodynamik Bewegter Körper. (German) [on the Electrodynamics of Moving Bodies].” /Annalen Der Physik/ 322 (10):891–921. Goossens, Michel, Frank Mittelbach, and Alexander Samarin. 1993. /The LaTeX Companion/. Reading, Massachusetts: Addison-Wesley. 1.2 Secondary Sources ───────────────────── Einstein, Albert. 1905. “Zur Elektrodynamik Bewegter Körper. (German) [on the Electrodynamics of Moving Bodies].” /Annalen Der Physik/ 322 (10):891–921. Goossens, Michel, Frank Mittelbach, and Alexander Samarin. 1993. /The LaTeX Companion/. Reading, Massachusetts: Addison-Wesley. <<<<< So two duplicate lists. Does that clarify? The other common case I am familiar with is a bibliography per section of a document. It may not be practical to do anything other than current behavior, but I was hoping some biblatex experts might have some thoughts. And, of course, wanting to flag this for András to think about, since ideally citeproc-el would support this. Bruce
"Bruce D'Arcus" <bdarcus@gmail.com> writes: > So two duplicate lists. > > Does that clarify? Indeed, thanks. > The other common case I am familiar with is a bibliography per section > of a document. > > It may not be practical to do anything other than current behavior, > but I was hoping some biblatex experts might have some thoughts. > > And, of course, wanting to flag this for András to think about, since > ideally citeproc-el would support this. OK. I'll let experts discuss the topic. Regards,
Dear All, I think a useful default/baseline for handling the occurrence of multiple #+print_bibliography keywords would be to implement the "chapter use case", which, for each #+print_bibliography, would collect only the citations occurring after to previous #+print_bibliography (if there is one) and before the current one, and print out an independent bibliography corresponding to the citations. All citations in this section would refer to this bibliography, and would be disambiguated accordingly. This could be implemented without any dedicated support on the processor's side, the basic processor could support this as well. Sectioned bibliographies, on the other hand, seem to be more complicated, and require processor-side support. best regards, András
On Mon, May 31, 2021 at 2:11 PM András Simonyi <andras.simonyi@gmail.com> wrote:
>
> Dear All,
>
> I think a useful default/baseline for handling the occurrence of
> multiple #+print_bibliography keywords would be to implement the
> "chapter use case", which, for each #+print_bibliography, would
> collect only the citations occurring after to previous
> #+print_bibliography (if there is one) and before the current one, and
> print out an independent bibliography corresponding to the citations.
> All citations in this section would refer to this bibliography, and
> would be disambiguated accordingly.
This would have two advantages:
1) add support for the "per section/chapter" use case András notes to oc-csl
2) avoid duplicate bibliographies in the example I raised; what we
might call "multi-section bibliography" use case; then if and when
citeproc-el adds support this, the documents would be gracefully
enhanced
Bruce