Skip to content

Conversation

yihui
Copy link
Contributor

@yihui yihui commented Oct 11, 2024

This is the best I could achieve with my poor knowledge of C. Ideally, we should render footnotes into \footnote{} in the case of CMARK_NODE_FOOTNOTE_REFERENCE, but I can't figure out how I can get the footnote content from the node there (maybe that's just not possible). I'd very much appreciate help here.

Fixes github/cmark-gfm#314

@jeroen
Copy link
Member

jeroen commented Oct 14, 2024

This is the best I could achieve with my poor knowledge of C. Ideally, we should render footnotes into \footnote{} in the case of CMARK_NODE_FOOTNOTE_REFERENCE, but I can't figure out how I can get the footnote content from the node there (maybe that's just not possible). I'd very much appreciate help here.

Could you give some example markdown input with the intended output (to match pandoc or similar), perhaps I can help.

@yihui
Copy link
Contributor Author

yihui commented Oct 14, 2024

Sure:

Hello[^1]

[^1]: A footnote.

should generate

Hello\footnote{A footnote.}

Currently I'm generating

Hello\footnotemark[1]

\footnotetext[1]{A footnote.}

which is fine but not ideal.

@jeroen
Copy link
Member

jeroen commented Jul 7, 2025

I have lost track of the discussion, sorry :(

It seems indeed upstream cmark-gfm is not actively maintained so we need to do it ourselves.

I can see why it is not ideal but indeed it would be much more complicated to move text content from the footnote reference back to the corresponding footnote mark location. So if you are still interested we can merge this solution.

@jeroen jeroen merged commit 6c29d2c into r-lib:main Jul 7, 2025
17 checks passed
@jeroen
Copy link
Member

jeroen commented Jul 7, 2025

commonmark 2.0.0 is now on cran.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement footnotes for LaTeX output
2 participants