Skip to content

Commit f9835be

Browse files
committed
use \footnotetext and \footnotemark to implement LaTeX footnotes
1 parent 170be64 commit f9835be

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/cmark/latex.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -447,15 +447,21 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node,
447447
break;
448448

449449
case CMARK_NODE_FOOTNOTE_DEFINITION:
450-
break;
451-
case CMARK_NODE_FOOTNOTE_REFERENCE:
452450
if (entering) {
453-
LIT("\\footnote{");
454-
// How can I get the footnote content here?
451+
LIT("\\footnotetext[");
452+
OUT(cmark_chunk_to_cstr(renderer->mem, &node->as.literal), false, LITERAL);
453+
LIT("]{");
455454
} else {
456455
LIT("}");
457456
}
458457
break;
458+
case CMARK_NODE_FOOTNOTE_REFERENCE:
459+
if (entering) {
460+
LIT("\\footnotemark[");
461+
OUT(cmark_chunk_to_cstr(renderer->mem, &node->parent_footnote_def->as.literal), false, LITERAL);
462+
LIT("]");
463+
}
464+
break;
459465

460466
default:
461467
assert(false);

0 commit comments

Comments
 (0)