emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: org-cite: make 'suppress-author' a citation 'style'


From: Denis Maier
Subject: Re: org-cite: make 'suppress-author' a citation 'style'
Date: Mon, 26 Apr 2021 09:53:09 +0200

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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]