Skip to content
This repository has been archived by the owner on Jan 6, 2022. It is now read-only.

add support for in-text author or "narrative" citation configuration #13

Closed
bdarcus opened this issue Apr 17, 2020 · 6 comments
Closed

Comments

@bdarcus
Copy link
Member

bdarcus commented Apr 17, 2020

Brief Abstract

Arguably the biggest outstanding feature request for CSL is to support in-text "narrative" citations, where the author is moved outside the citation proper. Examples: "Doe (2018)" and "Doe [1]".

In the LaTeX world, this feature is represented in the natbib \citet command.

Style Requirements

Beyond the general support for the feature requested by a lot of users, APA requires different author rendering when multiple authors are within parenthesis compared to outside of them.

Examples from APA (note the difference in how the "and" is represented in each):

Research by Wegener and Petty (1994) supported...
(Wegener & Petty, 1994)

Level of Current CSL Support

Partial.

It is possible to build on the suppress author functionality to offer simple author-in-text cases in CSL 1.0. Indeed, pandoc-citeproc already does this.

Most CSL implementations, however, require authors to manually write the author name in-text, and then to suppress the author output. Many authors consider this a hassle and prone to errors.

But it is not possible with CSL 1.0 to support any case where the author rendering within the citation is different than when its outside of it (as with the APA example above).

Implementation

Suggested

We could add a new cs:intext element, a sibling of cs:citation with the same RNC pattern, to configure the rendering of the intext author rendering, and then use that output to assemble the narrative citation.

Alternatives

There are other ways to configure this (multiple cs:layout elements per citation, for example), but they introduce other problems that in the end would suggest more invasive CSL changes.

Compatibility Implications

Processors could ignore the new element, but would have to add new code to support it. Such new code should be relatively uncomplicated, as it would build on existing functionality (like suppress author and substitution).

Some styles (those where the author rendering is different outside of the citation) would need to be updated.

@bdarcus bdarcus added this to To do in CSL 2.0 Development via automation Apr 17, 2020
@bdarcus bdarcus added this to Proposed in Proposal Review Apr 17, 2020
@dstillman
Copy link

(For background, see zotero/zotero#1580 for our discussion on this in Zotero, which culminated in @fbennett's draft implementation in citeproc-js. I believe this proposal follows the conclusions from that implementation.)

@bdarcus bdarcus added the 2.0 label Apr 18, 2020
@bdarcus
Copy link
Member Author

bdarcus commented Apr 18, 2020

(For background, see zotero/zotero#1580 for our discussion on this in Zotero, which culminated in @fbennett's draft implementation in citeproc-js. I believe this proposal follows the conclusions from that implementation.)

That is indeed the intention here, and with the subsequent PR on the schema repo.

citation-style-language/schema#173

@denismaier
Copy link
Member

Should we move this to the accepted column? I think we all agree that there's a need for that feature so this could count as accepted. Implementation is a different question, but that should be discussed on the other board. Am I wrong here?

@bdarcus bdarcus added 1.1 and removed 2.0 labels Apr 20, 2020
@bdarcus bdarcus moved this from Proposed to Accepted for Future Release in Proposal Review Apr 20, 2020
@bdarcus
Copy link
Member Author

bdarcus commented Apr 20, 2020 via email

@denismaier
Copy link
Member

Good. You're right. It can be done with CSL 1.0. Do you think it should already be in the next release. If yes, we should move it to a CSL 1.1 board (and remove it from the CSL 2.0 board in any case).

@bdarcus
Copy link
Member Author

bdarcus commented Apr 20, 2020 via email

@bdarcus bdarcus removed the 1.1 label Apr 21, 2020
@bdarcus bdarcus added this to the CSL 1.1 milestone Apr 21, 2020
@bdarcus bdarcus closed this as completed Jun 8, 2020
CSL 2.0 Development automation moved this from To do to Done Jun 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Proposal Review
  
Accepted
Development

No branches or pull requests

3 participants