emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* org-cite: make 'suppress-author' a citation 'style'
@ 2021-04-24 10:52 Bruce D'Arcus
  2021-04-24 12:28 ` Bruce D'Arcus
  2021-04-24 17:08 ` Nicolas Goaziou
  0 siblings, 2 replies; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-24 10:52 UTC (permalink / raw)
  To: org-mode-email

Hi Nicolas,

As I was working on adding a function to generate the new cite syntax,
an idea occurred to me that I'd like to raise, that would simplify
this model and syntax.

I ran the idea by the pandoc list just to confirm my thinking was
reasonable, since that has a lot of experience using these plain-text
citations.

https://groups.google.com/g/pandoc-discuss/c/zbntclaBWDc/m/DCx-mpfcDQAJ

Let's review:

In org-cite, we have citations, and citation items.

Citations may have optional styles.

Citation items may have an optional "suppress-author" "variant",
indicated with a "-". So:

[cite:-doe19;doe20]

The idea:

This distinction is wrong, and we should treat "suppress-author" as a
citation style instead.

The result would be:

[cite/supress-author:doe19;doe20]

Or even can keep the shorthand:

[cite/-:doe19;doe20]

In fact, with the change, could even remove it entirely

If you read the discussion in the pandoc list, there is mild, but I
don't think convincing, pushback.

Part of that pushback is an artifact of the fact that pandoc citations
don't have a notion of citation style, where you specify things like

OTOH, pandoc and (haskell) citeproc author John MacFarlane agrees that
in retrospect the pandoc decision was probably wrong, in part because
of another related issue.

Supress-author is a convention that CSL implementations settled on,
arguably a hack, to get around lack of explicit support for natbib
citet-like citations (though this is being added in the next version).

So to get "Doe (2019) argues" you would need to write "Doe [@doe19]"
in pandoc, for example.

But if you can do this in org-cite, "suppress-author" is no longer needed:

"[cite/text:@doe19] argues ..."

Both should probably be possible, but the textual (aka narrative)
style is what most users are looking for there IMO.

I think a positive side-effect is this model would match better LaTeX
output models (natbib and biblatex namely).

WDYT?

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-24 10:52 org-cite: make 'suppress-author' a citation 'style' Bruce D'Arcus
@ 2021-04-24 12:28 ` Bruce D'Arcus
  2021-04-24 17:08 ` Nicolas Goaziou
  1 sibling, 0 replies; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-24 12:28 UTC (permalink / raw)
  To: org-mode-email

Correction, though it doesn't change the conclusion.

On Sat, Apr 24, 2021 at 6:52 AM Bruce D'Arcus <bdarcus@gmail.com> wrote:

> So to get "Doe (2019) argues" you would need to write "Doe [@doe19]"
> in pandoc, for example.

Incorrect: the pandoc syntax for citet-like rendering is:

@doe19

So to drop the brackets.

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-24 10:52 org-cite: make 'suppress-author' a citation 'style' Bruce D'Arcus
  2021-04-24 12:28 ` Bruce D'Arcus
@ 2021-04-24 17:08 ` Nicolas Goaziou
  2021-04-24 17:28   ` Bruce D'Arcus
  1 sibling, 1 reply; 21+ messages in thread
From: Nicolas Goaziou @ 2021-04-24 17:08 UTC (permalink / raw)
  To: Bruce D'Arcus; +Cc: org-mode-email

Hello,

"Bruce D'Arcus" <bdarcus@gmail.com> writes:

> This distinction is wrong, and we should treat "suppress-author" as a
> citation style instead.
>
> The result would be:
>
> [cite/supress-author:doe19;doe20]
>
> Or even can keep the shorthand:
>
> [cite/-:doe19;doe20]
>
> In fact, with the change, could even remove it entirely

We introduced :suppress-author because someone requested it at some
point. I don't remember who, but it may be worth asking that person.

I think there are two points to consider before removing suppress-author
syntax:

1. does it make sense to apply it independently on references within
   a full citation?

2. does it make sense to apply it on top of another style?

If both answers are no, this can definitely go away.

> Or even can keep the shorthand:
> 
> [cite/-:doe19;doe20]

Note that Org Citation library does not recognize styles. It is up to
the processor to interpret it as a short-hand for "suppress-author".

Regards,
-- 
Nicolas Goaziou


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-24 17:08 ` Nicolas Goaziou
@ 2021-04-24 17:28   ` Bruce D'Arcus
  2021-04-24 19:36     ` Bruce D'Arcus
  2021-04-26  7:51     ` Richard Lawrence
  0 siblings, 2 replies; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-24 17:28 UTC (permalink / raw)
  To: Bruce D'Arcus, org-mode-email, Richard Lawrence

[-- Attachment #1: Type: text/plain, Size: 1683 bytes --]

On Sat, Apr 24, 2021, 1:08 PM Nicolas Goaziou <mail@nicolasgoaziou.fr>
wrote:

> Hello,
>
> "Bruce D'Arcus" <bdarcus@gmail.com> writes:
>
> > This distinction is wrong, and we should treat "suppress-author" as a
> > citation style instead.
> >
> > The result would be:
> >
> > [cite/supress-author:doe19;doe20]
> >
> > Or even can keep the shorthand:
> >
> > [cite/-:doe19;doe20]
> >
> > In fact, with the change, could even remove it entirely
>
> We introduced :suppress-author because someone requested it at some
> point. I don't remember who, but it may be worth asking that person.
>

I did some quick searching.

Wow; this goes back a long time!

Anyway, Richard Lawrence summarized previous discussions, which includes
this detail, in this 2015 post:

https://lists.gnu.org/archive/html/emacs-orgmode/2015-02/msg00932.html

Not sure if he introduced the idea or not, but if not, he should know.

I think there are two points to consider before removing suppress-author
> syntax:
>
> 1. does it make sense to apply it independently on references within
>    a full citation?
>
> 2. does it make sense to apply it on top of another style?
>

Yes; excellent summary.

As I say, my impulse is to say no to both, outside some corner cases that
people could work around in other ways.

But I hope people will challenge me if this is a bad idea.

And hopefully Richard can weigh in.

If both answers are no, this can definitely go away.
>
> > Or even can keep the shorthand:
> >
> > [cite/-:doe19;doe20]
>
> Note that Org Citation library does not recognize styles. It is up to
> the processor to interpret it as a short-hand for "suppress-author".
>

Right; I understand.

Bruce

>

[-- Attachment #2: Type: text/html, Size: 3377 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-24 17:28   ` Bruce D'Arcus
@ 2021-04-24 19:36     ` Bruce D'Arcus
  2021-04-24 20:09       ` Nicolas Goaziou
  2021-04-26  7:51     ` Richard Lawrence
  1 sibling, 1 reply; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-24 19:36 UTC (permalink / raw)
  To: Bruce D'Arcus, org-mode-email, Richard Lawrence

I also came across this post from 2018 from Andras ...

https://orgmode.org/list/87in8jaywk.fsf@all.hu/

... which includes a link to his proposal on what we now call styles,
but there he calls (a la the TeX world) commands:

https://github.com/andras-simonyi/citeproc-el/wiki/Citation-types-and-commands

There, he includes "suppress author" as one among those.

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-24 19:36     ` Bruce D'Arcus
@ 2021-04-24 20:09       ` Nicolas Goaziou
  2021-04-24 22:51         ` Bruce D'Arcus
  0 siblings, 1 reply; 21+ messages in thread
From: Nicolas Goaziou @ 2021-04-24 20:09 UTC (permalink / raw)
  To: Bruce D'Arcus; +Cc: Richard Lawrence, org-mode-email

Hello,

"Bruce D'Arcus" <bdarcus@gmail.com> writes:

> I also came across this post from 2018 from Andras ...
>
> https://orgmode.org/list/87in8jaywk.fsf@all.hu/
>
> ... which includes a link to his proposal on what we now call styles,
> but there he calls (a la the TeX world) commands:
>
> https://github.com/andras-simonyi/citeproc-el/wiki/Citation-types-and-commands
>
> There, he includes "suppress author" as one among those.

In both links, he considers stacking a style with suppress-author, for
example "bare" and "bare + s.a". 

So that would be an argument for keeping suppress-author.

Regards,
-- 
Nicolas Goaziou


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-24 20:09       ` Nicolas Goaziou
@ 2021-04-24 22:51         ` Bruce D'Arcus
  2021-04-25  5:55           ` András Simonyi
  0 siblings, 1 reply; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-24 22:51 UTC (permalink / raw)
  To: Bruce D'Arcus, org-mode-email, Richard Lawrence

On Sat, Apr 24, 2021 at 4:09 PM Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
>
> Hello,
>
> "Bruce D'Arcus" <bdarcus@gmail.com> writes:
>
> > I also came across this post from 2018 from Andras ...
> >
> > https://orgmode.org/list/87in8jaywk.fsf@all.hu/
> >
> > ... which includes a link to his proposal on what we now call styles,
> > but there he calls (a la the TeX world) commands:
> >
> > https://github.com/andras-simonyi/citeproc-el/wiki/Citation-types-and-commands
> >
> > There, he includes "suppress author" as one among those.
>
> In both links, he considers stacking a style with suppress-author, for
> example "bare" and "bare + s.a".

Maybe I'm missing something, but can those not be represented with flat styles?

E.g. "bare + s.a." is simply something like "date"?

> So that would be an argument for keeping suppress-author.

The question I raised is less whether that's needed, and more whether
it's a property of the citation, or the individual items within the
citation.

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-24 22:51         ` Bruce D'Arcus
@ 2021-04-25  5:55           ` András Simonyi
  2021-04-25 12:50             ` Bruce D'Arcus
  0 siblings, 1 reply; 21+ messages in thread
From: András Simonyi @ 2021-04-25  5:55 UTC (permalink / raw)
  To: Bruce D'Arcus; +Cc: org-mode-email

Dear All,

my 2c on this issue: citeproc-el supports per cite author suppression
under the hood, but citeproc-org always maps "suppress author" mode
citations to suppressing only the first cite, because my impression
was also that this is a citation-level option. This is how the
proposal on the citeproc-el wiki treats it too (which was, BTW, joint
work with Denis Maier).

best regards,
András

On Sun, 25 Apr 2021 at 00:52, Bruce D'Arcus <bdarcus@gmail.com> wrote:
>
> On Sat, Apr 24, 2021 at 4:09 PM Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> >
> > Hello,
> >
> > "Bruce D'Arcus" <bdarcus@gmail.com> writes:
> >
> > > I also came across this post from 2018 from Andras ...
> > >
> > > https://orgmode.org/list/87in8jaywk.fsf@all.hu/
> > >
> > > ... which includes a link to his proposal on what we now call styles,
> > > but there he calls (a la the TeX world) commands:
> > >
> > > https://github.com/andras-simonyi/citeproc-el/wiki/Citation-types-and-commands
> > >
> > > There, he includes "suppress author" as one among those.
> >
> > In both links, he considers stacking a style with suppress-author, for
> > example "bare" and "bare + s.a".
>
> Maybe I'm missing something, but can those not be represented with flat styles?
>
> E.g. "bare + s.a." is simply something like "date"?
>
> > So that would be an argument for keeping suppress-author.
>
> The question I raised is less whether that's needed, and more whether
> it's a property of the citation, or the individual items within the
> citation.
>
> Bruce
>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-25  5:55           ` András Simonyi
@ 2021-04-25 12:50             ` Bruce D'Arcus
  2021-04-25 19:48               ` András Simonyi
  0 siblings, 1 reply; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-25 12:50 UTC (permalink / raw)
  To: András Simonyi; +Cc: org-mode-email

On Sun, Apr 25, 2021 at 1:55 AM András Simonyi <andras.simonyi@gmail.com> wrote:
>
> Dear All,
>
> my 2c on this issue: citeproc-el supports per cite author suppression
> under the hood, but citeproc-org always maps "suppress author" mode
> citations to suppressing only the first cite, because my impression
> was also that this is a citation-level option.

How would you deal with these?

#+begin_example
[cite/-:@doe20; @doe21]
[cite/-:@doe20; see also @smith19]
[cite/text:@doe20; see also @smith19]
#+end_example

My thought is you want to treat the author of the first listed cite as
suppressed, or placed in-text in the last case, but that you wouldn't
touch the other author?

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-25 12:50             ` Bruce D'Arcus
@ 2021-04-25 19:48               ` András Simonyi
  2021-04-25 20:12                 ` Bruce D'Arcus
  0 siblings, 1 reply; 21+ messages in thread
From: András Simonyi @ 2021-04-25 19:48 UTC (permalink / raw)
  To: Bruce D'Arcus; +Cc: org-mode-email

Dear All,

On Sun, 25 Apr 2021 at 14:50, Bruce D'Arcus <bdarcus@gmail.com> wrote:
> How would you deal with these?
>
> #+begin_example
> [cite/-:@doe20; @doe21]
> [cite/-:@doe20; see also @smith19]
> [cite/text:@doe20; see also @smith19]
> #+end_example
>
> My thought is you want to treat the author of the first listed cite as
> suppressed, or placed in-text in the last case, but that you wouldn't
> touch the other author?

yes, exactly -- since it's difficult to see (at least for me) how the
context could supply the author information for the subsequent cites.

best regards,
András


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-25 19:48               ` András Simonyi
@ 2021-04-25 20:12                 ` Bruce D'Arcus
  2021-04-26  7:53                   ` Denis Maier
  0 siblings, 1 reply; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-25 20:12 UTC (permalink / raw)
  To: András Simonyi; +Cc: org-mode-email

On Sun, Apr 25, 2021 at 3:48 PM András Simonyi <andras.simonyi@gmail.com> wrote:
>
> Dear All,
>
> On Sun, 25 Apr 2021 at 14:50, Bruce D'Arcus <bdarcus@gmail.com> wrote:
> > How would you deal with these?
> >
> > #+begin_example
> > [cite/-:@doe20; @doe21]
> > [cite/-:@doe20; see also @smith19]
> > [cite/text:@doe20; see also @smith19]
> > #+end_example
> >
> > My thought is you want to treat the author of the first listed cite as
> > suppressed, or placed in-text in the last case, but that you wouldn't
> > touch the other author?
>
> yes, exactly -- since it's difficult to see (at least for me) how the
> context could supply the author information for the subsequent cites.

So the output for the first one would be:

(2020, 2021)

..., and not:

(2020, Doe 2021)

As in, you would suppress the author not on the first cite (what you
wrote in the original reply), but the author of the first cite?

To me, that's the only wrinkle of having this a citation-level style;
that a processor would need to be smart enough to handle cases like
that, for output styles that require it.

But otherwise it's easier and more efficient for the user.

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-24 17:28   ` Bruce D'Arcus
  2021-04-24 19:36     ` Bruce D'Arcus
@ 2021-04-26  7:51     ` Richard Lawrence
  2021-04-26  9:33       ` Bruce D'Arcus
  1 sibling, 1 reply; 21+ messages in thread
From: Richard Lawrence @ 2021-04-26  7:51 UTC (permalink / raw)
  To: Bruce D'Arcus, Bruce D'Arcus, org-mode-email

Hi all,

"Bruce D'Arcus" <bdarcus@gmail.com> writes:

>> We introduced :suppress-author because someone requested it at some
>> point. I don't remember who, but it may be worth asking that person.
>>
>
> I did some quick searching.
>
> Wow; this goes back a long time!
>
> Anyway, Richard Lawrence summarized previous discussions, which includes
> this detail, in this 2015 post:
>
> https://lists.gnu.org/archive/html/emacs-orgmode/2015-02/msg00932.html
>
> Not sure if he introduced the idea or not, but if not, he should know.

I don't remember exactly anymore, and a quick search does not turn up
the source, but I can say in general that the concern back then was to
make the citation syntax at least as flexible as the BibLaTeX citation
commands, to support users who currently use BibLaTeX (and don't have
much interest in non-LaTeX output).

> I think there are two points to consider before removing suppress-author
>> syntax:
>>
>> 1. does it make sense to apply it independently on references within
>>    a full citation?

I don't remember what my thinking was exactly, but it was probably
something like this: (a) we need citations with multiple references; (b)
in some such citations we may need to suppress the author of some
references without suppressing the author of others; (c) thus
:suppress-author must be a reference-level property, not a property of
the whole citation object and (d) uniformity demands that every
reference should have it (even if it doesn't make sense in practice to
apply it to references in the middle of the list).

That said, here is a possible use case for this: suppose you are
referencing multiple works from a given author and want to avoid
printing the author's name multiple times, but also want to include a
further reference to a work by another author:

e.g. you can write

Smith claims foo [(cite): -@Smith2019; -@Smith2020; see also @Jones2018].

to render

Smith claims foo (2019; 2020; see also Jones 2018).

Does that help?

-- 
Best,
Richard


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-25 20:12                 ` Bruce D'Arcus
@ 2021-04-26  7:53                   ` Denis Maier
  2021-04-26  9:05                     ` Denis Maier
  2021-04-26  9:34                     ` Joost Kremers
  0 siblings, 2 replies; 21+ messages in thread
From: Denis Maier @ 2021-04-26  7:53 UTC (permalink / raw)
  To: Bruce D'Arcus, András Simonyi; +Cc: org-mode-email

Hi,

just some general remarks on that issue: I tend to think that treating 
"suppress-author" as a mode/style/command would indeed be appropriate. 
As the minus shorthand is inherited from pandoc, it might be worth 
pointing out that pandoc's syntax owes quite a lot to the markdown 
philosophy, which is also emphasized by pandoc:

 > Markdown is intended to be as easy-to-read and easy-to-write as is 
feasible.
 >
 > Readability, however, is emphasized above all else
(https://daringfireball.net/projects/markdown/syntax#philosophy)

That is, markdown tries to use a syntax as concise as possible, without 
verbose commands and such. See e.g. this discussion: 
https://groups.google.com/g/pandoc-discuss/c/ydG9CI_XEEU/m/3LHxvp23BAAJ

The price for this is a certain opaqueness, and, to a certain degree, a 
loss of precision, expressiveness and extensibility.

Anyway, back to the modes question:

#+begin_example
[@doe]

[-@doe]

@doe

@doe [34]

-@doe [34]
#+end_example

gives us in pandos AST:

#+begin_pandoc_ast
[Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 1, 
citationHash = 0}] [Str "[@doe]"]]
,Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 2, 
citationHash = 0}] [Str "[-@doe]"]]
,Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 3, 
citationHash = 0}] [Str "@doe"]]
,Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
citationSuffix = [Str "34"], citationMode = AuthorInText, 
citationNoteNum = 4, citationHash = 0}] [Str "@doe",Space,Str "[34]"]]
,Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
citationSuffix = [Str "34"], citationMode = SuppressAuthor, 
citationNoteNum = 5, citationHash = 0}] [Str "@doe",Space,Str "[34]"]]]
#+end_pandoc_ast

So, suppress author is essentially a mode here.

FWIW, it might also be interesting to look at biblatex:
biblatex has a textcite command:
\textcite{doe2021} => Doe (2021)

Now, if you want to cite multiple entries, each with prefix and suffix, 
you'll need a special variant \textcites!
\textcites[12]{foo}[34]{bar} argue ...
=> Foo (2021, p. 12) and Bar (2021, p. 34) argue ...

I'm not sure how that fits into the org context. Interestingly, I 
couldn't find an easy way to get "Doe (2021, p.34; see also Smith 2020) 
... argues". You'd probably have to resort to lower level commands such 
as \citeauthor in combination with other commands.
\citeauthor{doe} \parencites*[34]{doe}{smith}

Denis

Am 25.04.2021 um 22:12 schrieb Bruce D'Arcus:
> On Sun, Apr 25, 2021 at 3:48 PM András Simonyi <andras.simonyi@gmail.com> wrote:
>>
>> Dear All,
>>
>> On Sun, 25 Apr 2021 at 14:50, Bruce D'Arcus <bdarcus@gmail.com> wrote:
>>> How would you deal with these?
>>>
>>> #+begin_example
>>> [cite/-:@doe20; @doe21]
>>> [cite/-:@doe20; see also @smith19]
>>> [cite/text:@doe20; see also @smith19]
>>> #+end_example
>>>
>>> My thought is you want to treat the author of the first listed cite as
>>> suppressed, or placed in-text in the last case, but that you wouldn't
>>> touch the other author?
>>
>> yes, exactly -- since it's difficult to see (at least for me) how the
>> context could supply the author information for the subsequent cites.
> 
> So the output for the first one would be:
> 
> (2020, 2021)
> 
> ..., and not:
> 
> (2020, Doe 2021)
> 
> As in, you would suppress the author not on the first cite (what you
> wrote in the original reply), but the author of the first cite?
> 
> To me, that's the only wrinkle of having this a citation-level style;
> that a processor would need to be smart enough to handle cases like
> that, for output styles that require it.
> 
> But otherwise it's easier and more efficient for the user.
> 
> Bruce
> 
> 



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-26  7:53                   ` Denis Maier
@ 2021-04-26  9:05                     ` Denis Maier
  2021-04-26  9:34                     ` Joost Kremers
  1 sibling, 0 replies; 21+ messages in thread
From: Denis Maier @ 2021-04-26  9:05 UTC (permalink / raw)
  To: Bruce D'Arcus, András Simonyi; +Cc: org-mode-email

Am 26.04.2021 um 09:53 schrieb Denis Maier:
> Hi,
> 
> just some general remarks on that issue: I tend to think that treating 
> "suppress-author" as a mode/style/command would indeed be appropriate. 
> As the minus shorthand is inherited from pandoc, it might be worth 
> pointing out that pandoc's syntax owes quite a lot to the markdown 
> philosophy, which is also emphasized by pandoc:
> 
>> Markdown is intended to be as easy-to-read and easy-to-write as is 
> feasible.
>>
>> Readability, however, is emphasized above all else
> (https://daringfireball.net/projects/markdown/syntax#philosophy)
> 
> That is, markdown tries to use a syntax as concise as possible, without 
> verbose commands and such. See e.g. this discussion: 
> https://groups.google.com/g/pandoc-discuss/c/ydG9CI_XEEU/m/3LHxvp23BAAJ
> 
> The price for this is a certain opaqueness, and, to a certain degree, a 
> loss of precision, expressiveness and extensibility.
> 
> Anyway, back to the modes question:
> 
> #+begin_example
> [@doe]
> 
> [-@doe]
> 
> @doe
> 
> @doe [34]
> 
> -@doe [34]
> #+end_example
> 
> gives us in pandos AST:
> 
> #+begin_pandoc_ast
> [Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
> citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 1, 
> citationHash = 0}] [Str "[@doe]"]]
> ,Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
> citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 2, 
> citationHash = 0}] [Str "[-@doe]"]]
> ,Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
> citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 3, 
> citationHash = 0}] [Str "@doe"]]
> ,Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
> citationSuffix = [Str "34"], citationMode = AuthorInText, 
> citationNoteNum = 4, citationHash = 0}] [Str "@doe",Space,Str "[34]"]]
> ,Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
> citationSuffix = [Str "34"], citationMode = SuppressAuthor, 
> citationNoteNum = 5, citationHash = 0}] [Str "@doe",Space,Str "[34]"]]]
> #+end_pandoc_ast
> 
> So, suppress author is essentially a mode here.

Addendum:

[@doe; -@foo]

gives us:

[Para [Cite [Citation {citationId = "doe", citationPrefix = [], 
citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 1, 
citationHash = 0},Citation {citationId = "foo", citationPrefix = [], 
citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 1, 
citationHash = 0}] [Str "[@doe;",Space,Str "-@foo]"]]

So, each citation in that cite has an individual mode, which goes in the 
direction indicated by Richard Lawrence in his earlier message. Maybe 
that speaks for two levels of styles, one pertaining to the whole 
citation group, one to the individual citations. Does that make sense?

> 
> FWIW, it might also be interesting to look at biblatex:
> biblatex has a textcite command:
> \textcite{doe2021} => Doe (2021)
> 
> Now, if you want to cite multiple entries, each with prefix and suffix, 
> you'll need a special variant \textcites!
> \textcites[12]{foo}[34]{bar} argue ...
> => Foo (2021, p. 12) and Bar (2021, p. 34) argue ...
> 
> I'm not sure how that fits into the org context. Interestingly, I 
> couldn't find an easy way to get "Doe (2021, p.34; see also Smith 2020) 
> ... argues". You'd probably have to resort to lower level commands such 
> as \citeauthor in combination with other commands.
> \citeauthor{doe} \parencites*[34]{doe}{smith}
> 
> Denis
> 
> Am 25.04.2021 um 22:12 schrieb Bruce D'Arcus:
>> On Sun, Apr 25, 2021 at 3:48 PM András Simonyi 
>> <andras.simonyi@gmail.com> wrote:
>>>
>>> Dear All,
>>>
>>> On Sun, 25 Apr 2021 at 14:50, Bruce D'Arcus <bdarcus@gmail.com> wrote:
>>>> How would you deal with these?
>>>>
>>>> #+begin_example
>>>> [cite/-:@doe20; @doe21]
>>>> [cite/-:@doe20; see also @smith19]
>>>> [cite/text:@doe20; see also @smith19]
>>>> #+end_example
>>>>
>>>> My thought is you want to treat the author of the first listed cite as
>>>> suppressed, or placed in-text in the last case, but that you wouldn't
>>>> touch the other author?
>>>
>>> yes, exactly -- since it's difficult to see (at least for me) how the
>>> context could supply the author information for the subsequent cites.
>>
>> So the output for the first one would be:
>>
>> (2020, 2021)
>>
>> ..., and not:
>>
>> (2020, Doe 2021)
>>
>> As in, you would suppress the author not on the first cite (what you
>> wrote in the original reply), but the author of the first cite?
>>
>> To me, that's the only wrinkle of having this a citation-level style;
>> that a processor would need to be smart enough to handle cases like
>> that, for output styles that require it.
>>
>> But otherwise it's easier and more efficient for the user.
>>
>> Bruce
>>
>>
> 
> 
> 


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-26  7:51     ` Richard Lawrence
@ 2021-04-26  9:33       ` Bruce D'Arcus
  2021-04-27  7:36         ` Richard Lawrence
  0 siblings, 1 reply; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-26  9:33 UTC (permalink / raw)
  To: Richard Lawrence; +Cc: org-mode-email

On Mon, Apr 26, 2021 at 3:51 AM Richard Lawrence
<richard.lawrence@uni-tuebingen.de> wrote:

...

> That said, here is a possible use case for this: suppose you are
> referencing multiple works from a given author and want to avoid
> printing the author's name multiple times, but also want to include a
> further reference to a work by another author:
>
> e.g. you can write
>
> Smith claims foo [(cite): -@Smith2019; -@Smith2020; see also @Jones2018].
>
> to render
>
> Smith claims foo (2019; 2020; see also Jones 2018).
>
> Does that help?

Yes; thank you!

You identified the same case Andras and I discussed just above.

I think the solution is simple; with the updated syntax:

[cite/-:@Smith2019;@Smith2020; see also @Jones2018].

So the rule is (and this is for the processor to worry about, of
course, not org), when a suppress-author style is specified, the
suppression only applies to the author of the first citation
item/reference. That would generate the output you noted.

A processor like citeproc.el already knows how to group and sort by
author, so it could also be smart enough to handle that, without
requiring the user to individually mark some for suppression.

I worry we're making the general and simple case needlessly
complicated with the current model and syntax for this.

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-26  7:53                   ` Denis Maier
  2021-04-26  9:05                     ` Denis Maier
@ 2021-04-26  9:34                     ` Joost Kremers
  2021-04-26 11:36                       ` Bruce D'Arcus
  1 sibling, 1 reply; 21+ messages in thread
From: Joost Kremers @ 2021-04-26  9:34 UTC (permalink / raw)
  To: emacs-orgmode


On Mon, Apr 26 2021, Denis Maier wrote:
> [...] Interestingly, I 
> couldn't find an easy way to get "Doe (2021, p.34; see also Smith 2020) 
> ... argues". You'd probably have to resort to lower level commands such 
> as \citeauthor in combination with other commands.
> \citeauthor{doe} \parencites*[34]{doe}{smith}

Actually, that won't print the author name of =smith=. AFAIK If you want to
suppress the author in the first citation but not in the second, you need to be
even more low-level:

\citeauthor{Chomsky1995} (\cite*[34]{Chomsky1995}, \cite{Kayne1994})

At least that's the only way I've been able to find.

IOW it seems that in biblatex, suppress-author (obtained by the asterisk
following the command) is a property of the citation command, even if it
includes multiple citations. OTOH there are real cases (I have written
references such as the example here myself) where you want it to be a property
of the individual citation.

The thing about biblatex is that it offers low-level commands that allow you to
create unusual citations (my default LaTeX header contains three definitions of
citation commands that biblatex doesn't provide but which I use quite a lot). So
I would argue that it's better to keep the syntax =-@key=, just to keep the
system flexible in case the need arises.

-- 
Joost Kremers
Life has its moments


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-26  9:34                     ` Joost Kremers
@ 2021-04-26 11:36                       ` Bruce D'Arcus
  0 siblings, 0 replies; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-26 11:36 UTC (permalink / raw)
  To: Joost Kremers; +Cc: org-mode-email

On Mon, Apr 26, 2021 at 5:56 AM Joost Kremers <joostkremers@fastmail.fm> wrote:

...

> IOW it seems that in biblatex, suppress-author (obtained by the asterisk
> following the command) is a property of the citation command, even if it
> includes multiple citations. OTOH there are real cases (I have written
> references such as the example here myself) where you want it to be a property
> of the individual citation.

It would help at this point if you could show an example, as I can't
think of one that can't be addressed.

As I replied to Richard, a citation with references to different
authors can already be addressed.

> The thing about biblatex is that it offers low-level commands that allow you to
> create unusual citations (my default LaTeX header contains three definitions of
> citation commands that biblatex doesn't provide but which I use quite a lot). So
> I would argue that it's better to keep the syntax =-@key=, just to keep the
> system flexible in case the need arises.

Adding complexity for hypotheticals has costs though.

We should be able to identify a concrete case here that won't work
with the change I suggest, but that we agree should be supported.

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-26  9:33       ` Bruce D'Arcus
@ 2021-04-27  7:36         ` Richard Lawrence
  2021-04-27  7:52           ` Denis Maier
  0 siblings, 1 reply; 21+ messages in thread
From: Richard Lawrence @ 2021-04-27  7:36 UTC (permalink / raw)
  To: Bruce D'Arcus; +Cc: org-mode-email

"Bruce D'Arcus" <bdarcus@gmail.com> writes:

>> e.g. you can write
>>
>> Smith claims foo [(cite): -@Smith2019; -@Smith2020; see also @Jones2018].
>>
>> to render
>>
>> Smith claims foo (2019; 2020; see also Jones 2018).

> You identified the same case Andras and I discussed just above.
>
> I think the solution is simple; with the updated syntax:
>
> [cite/-:@Smith2019;@Smith2020; see also @Jones2018].
>
> So the rule is (and this is for the processor to worry about, of
> course, not org), when a suppress-author style is specified, the
> suppression only applies to the author of the first citation
> item/reference. That would generate the output you noted.

I think I see what you mean after parsing this a few times, but I would
rephrase the rule, since the way you phrased it initially seemed to
contradict the example. The point of my example was that author
suppression should also apply to the author of the *second* reference in
the list, though that happens to be the same author as the author of the
first item. So maybe the rule is more like: "when a suppress-author
style is specified, the suppression only applies to the initial segment
of citation items/references that have the same author as the first
reference"?

-- 
Best,
Richard


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-27  7:36         ` Richard Lawrence
@ 2021-04-27  7:52           ` Denis Maier
  2021-04-27  8:24             ` Richard Lawrence
  2021-04-27 10:05             ` Bruce D'Arcus
  0 siblings, 2 replies; 21+ messages in thread
From: Denis Maier @ 2021-04-27  7:52 UTC (permalink / raw)
  To: Richard Lawrence, Bruce D'Arcus; +Cc: org-mode-email

Am 27.04.2021 um 09:36 schrieb Richard Lawrence:
> "Bruce D'Arcus" <bdarcus@gmail.com> writes:
> 
>>> e.g. you can write
>>>
>>> Smith claims foo [(cite): -@Smith2019; -@Smith2020; see also @Jones2018].
>>>
>>> to render
>>>
>>> Smith claims foo (2019; 2020; see also Jones 2018).
> 
>> You identified the same case Andras and I discussed just above.
>>
>> I think the solution is simple; with the updated syntax:
>>
>> [cite/-:@Smith2019;@Smith2020; see also @Jones2018].
>>
>> So the rule is (and this is for the processor to worry about, of
>> course, not org), when a suppress-author style is specified, the
>> suppression only applies to the author of the first citation
>> item/reference. That would generate the output you noted.
> 
> I think I see what you mean after parsing this a few times, but I would
> rephrase the rule, since the way you phrased it initially seemed to
> contradict the example. The point of my example was that author
> suppression should also apply to the author of the *second* reference in
> the list, though that happens to be the same author as the author of the
> first item. So maybe the rule is more like: "when a suppress-author
> style is specified, the suppression only applies to the initial segment
> of citation items/references that have the same author as the first
> reference"?

I think Bruce's point was that author suppresion list items other than 
the first lies in the jurisdiction of the citeproc, and has to be 
handled depending on citation style. (I.e., user input does /not/ matter 
here.)

[cite/-:@Smith2019;@Smith2020; see also @Jones2018].

=> Suppress author in the first item, Smith 2019.
=> whether the author's name in the second list item (Smith 2020) is 
shown depends on the citation style. Some styles repeat the author's 
name, others won't.

For comparison:

[cite:@Smith2019;@Smith2020; see also @Jones2018]

=> Don't suppress author in the first item, Smith 2019.
=> whether the author's name in the second list item (Smith 2020) is 
shown depends on the citation style. Some styles repeat the author's 
name, others won't.

Denis





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-27  7:52           ` Denis Maier
@ 2021-04-27  8:24             ` Richard Lawrence
  2021-04-27 10:05             ` Bruce D'Arcus
  1 sibling, 0 replies; 21+ messages in thread
From: Richard Lawrence @ 2021-04-27  8:24 UTC (permalink / raw)
  To: Denis Maier, Bruce D'Arcus; +Cc: org-mode-email

Denis Maier <denis.maier.lists@mailbox.org> writes:

> I think Bruce's point was that author suppresion list items other than 
> the first lies in the jurisdiction of the citeproc, and has to be 
> handled depending on citation style. (I.e., user input does /not/ matter 
> here.)

Ahhh OK, that makes it clearer. Thanks! Sorry for the noise -- I haven't
been able to follow this thread all that closely due to other work,
though I remain interested and willing to help.

-- 
Best,
Richard


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: org-cite: make 'suppress-author' a citation 'style'
  2021-04-27  7:52           ` Denis Maier
  2021-04-27  8:24             ` Richard Lawrence
@ 2021-04-27 10:05             ` Bruce D'Arcus
  1 sibling, 0 replies; 21+ messages in thread
From: Bruce D'Arcus @ 2021-04-27 10:05 UTC (permalink / raw)
  To: Denis Maier; +Cc: Richard Lawrence, org-mode-email

On Tue, Apr 27, 2021 at 3:52 AM Denis Maier
<denis.maier.lists@mailbox.org> wrote:

> I think Bruce's point was that author suppresion list items other than
> the first lies in the jurisdiction of the citeproc, and has to be
> handled depending on citation style. (I.e., user input does /not/ matter
> here.)

Yes, thank you; that's much better put.

Bruce


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-04-27 10:06 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-24 10:52 org-cite: make 'suppress-author' a citation 'style' Bruce D'Arcus
2021-04-24 12:28 ` Bruce D'Arcus
2021-04-24 17:08 ` Nicolas Goaziou
2021-04-24 17:28   ` Bruce D'Arcus
2021-04-24 19:36     ` Bruce D'Arcus
2021-04-24 20:09       ` Nicolas Goaziou
2021-04-24 22:51         ` Bruce D'Arcus
2021-04-25  5:55           ` András Simonyi
2021-04-25 12:50             ` Bruce D'Arcus
2021-04-25 19:48               ` András Simonyi
2021-04-25 20:12                 ` Bruce D'Arcus
2021-04-26  7:53                   ` Denis Maier
2021-04-26  9:05                     ` Denis Maier
2021-04-26  9:34                     ` Joost Kremers
2021-04-26 11:36                       ` Bruce D'Arcus
2021-04-26  7:51     ` Richard Lawrence
2021-04-26  9:33       ` Bruce D'Arcus
2021-04-27  7:36         ` Richard Lawrence
2021-04-27  7:52           ` Denis Maier
2021-04-27  8:24             ` Richard Lawrence
2021-04-27 10:05             ` Bruce D'Arcus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).