zepinglee / citeproc-lua

A Lua implementation of the Citation Style Language (CSL)
MIT License
62 stars 7 forks source link

What is the plan for commands beyond cite? #17

Closed bdarcus closed 1 year ago

bdarcus commented 2 years ago

Just wondering, how are you planning to support citation commands beyond the default \cite?

I see your reasonable discussion of this in the manual, but there is still room for additional options.

For example, citet/textcite can be supported now, and is in some other implementations (pandoc, org, etc). To do it conceptually is basically "author + suppress author".

The support planned for 1.1 is really so that one can define different author rendering in text, and in parentheses (as is required in APA actually).

But FWIW, citeproc-el, which is used in the new org-mode csl processor, has added some additional rendering options.

https://github.com/andras-simonyi/citeproc-el

After going through this with the org-mode citation design, I do think commands are a bit of a rabbit hole, however; it's hard to know what the right balance is.

Conceptually, CSL is designed around an approach similar to the biblatex high-level ("style-independent") commands, like autocite. Perhaps one option is to take a handful of biblatex (and/or natbib; not sure) commands that fit with CSL's design? Maybe textcite, fullcite, nocite to start?

PS - does this mean you've looked at CSL 1.1? Do you see any problem with supporting it in the future?

zepinglee commented 2 years ago

Thanks for your reminder. I didn't think of the suppress-author way. I suppose it's not hard to implement similar commands like \citet/\textcite, citeauthor, \citeyear. BTW, \nocite is already implemented but I forgot to document it.

I just noticed the CSL 1.1 plan in this post (https://citationstyles.org/2020/07/11/seeking-public-comment-on-CSL-1-0-2/) but I haven't looked into the discussions about 1.1. I'll check them later.

zepinglee commented 1 year ago

I've added the narrative \textcite and \citet commands as well as the author-only \citeauthor. It takes quite some time because I have to rewrite a large part of the Lua engine to support special citation forms (author-only, suppress-author and composite).

Conceptually, CSL is designed around an approach similar to the biblatex high-level ("style-independent") commands, like autocite. Perhaps one option is to take a handful of biblatex (and/or natbib; not sure) commands that fit with CSL's design? Maybe textcite, fullcite, nocite to start?

It's true that biblatex provides a lot more citation commands but I doubt the other ones are as useful as \textcite and \citeauthor (Perhaps \footcite is also useful). I'll add any of them if it's really needed.

HiramTheHero commented 1 month ago

Is there any current support for a \fullcite equivalent? I don't see anything located within the documentation. If I misunderstood the documentation, I apologize.

zepinglee commented 1 month ago

Is there any current support for a \fullcite equivalent? I don't see anything located within the documentation. If I misunderstood the documentation, I apologize.

The \fullcite isn't provided yet. What is the usage scenario of this command?

bdarcus commented 1 month ago

Is there any current support for a \fullcite equivalent? I don't see anything located within the documentation. If I misunderstood the documentation, I apologize.

The \fullcite isn't provided yet. What is the usage scenario of this command?

A CV.

HiramTheHero commented 1 month ago

Thank you for your response. In my case I need to create an annotated bibliography using APA 7 formatting. It requires me to use the \fullcite command.