fletcher / MultiMarkdown-6

Lightweight markup processor to produce HTML, LaTeX, and more.
https://fletcher.github.io/MultiMarkdown-6/
Other
632 stars 91 forks source link

Rethink MMD/LaTeX citations #23

Closed fletcher closed 7 years ago

fletcher commented 7 years ago

Over the years there have been various requests to change the way citations work with MMD and LaTeX/BibTeX/natbib/etc. This includes things related to citep, citet, etc.

I don't claim to remember all of the proposals, so now is your chance to bring them up again and argue your case!

nemesit commented 7 years ago

yeah I think this syntax is a bit weird

[foo\][\bar][#citeKey]
[foo\][\bar][#citeKey;]

maybe change this and the way to choose between citep and citet to something more obvious.
I like that the syntax is close to other that of other features e.g. including images. For the most part I use TextExpander to expand mmd syntax e.g. ,,mdcite will give me defaults and options to select between different ways to cite. So in the end the syntax only matters for readability purposes (for me)

fletcher commented 7 years ago

To avoid making the code unduly complicated, I think that both of the arguments (foo and bar) should be wrapped inside a single pair of brackets ([...]). What happens inside the brackets can be customized.

Options could include:

[[foo][bar]][#citekey]
[foo/bar][#citekey]
[foo|bar][#citekey]

or something else;

As for the citep and citet, I wonder how often somone uses both variants in the same document? An option would be to specify one of the two in the metadata. This would avoid the need for the semicolon.

muziejus commented 7 years ago

I use both in the same document, as it's typical in literary studies to use parens when citing a novel or something that is cited repeatedly/throughout the article, but footnotes when citing something just once or twice.

However, I use the one requiring the ; more often, meaning there are often mistakes where I've forgotten the semicolon! The semicolon seems to be an arbitrary modifier, but I can't think of a better solution.

As I've mentioned on the email list, I remap \citep and \citet anyway in my .md file, as I use biblatex:

<!--
  \newcommand{\citep}[2][]{\pnotecite[#1]{#2}} % Parenthetical: [page][#Citekey]
  \newcommand{\citet}[2][]{\autocite[#1]{#2}} % Textual, so footnote here: [page][#Citekey;]
-->
fletcher commented 7 years ago

I've implemented citations in MMD-6 (both as reference and inline variants, just like footnotes, abbreviations, and glossary terms).

I'm still open to tweaking the syntax to address some of the things above, if anyone has any good ideas.

fletcher commented 7 years ago

The latest commit to the development branch includes 2 changes:

  1. HTML Footnotes use <sup>1</sup> instead of [1].

  2. HTML Citations use (1) instead of [1].