Skip to content

Commit c6379bd

Browse files
jdutanttarleb
authored andcommitted
Adds ending abstracts with a horizontal rule
To place an abstract at the beginning of a paper that doesn't start with a heading.
1 parent 1090d1e commit c6379bd

File tree

7 files changed

+109
-9
lines changed

7 files changed

+109
-9
lines changed

abstract-to-meta/Makefile

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
DIFF ?= diff --strip-trailing-cr -u
22

3-
test: sample.md abstract-to-meta.lua
4-
@pandoc --lua-filter=abstract-to-meta.lua --standalone --to=markdown $< \
5-
| $(DIFF) expected.md -
3+
test: sample1.md sample2.md abstract-to-meta.lua
4+
@pandoc --lua-filter=abstract-to-meta.lua --standalone --to=markdown \
5+
sample1.md | $(DIFF) expected1.md -
6+
@pandoc --lua-filter=abstract-to-meta.lua --standalone --to=markdown \
7+
sample2.md | $(DIFF) expected2.md -
68

7-
expected.md: sample.md abstract-to-meta.lua
9+
expected: sample1.md expected1.md sample2.md expected2.md abstract-to-meta.lua
10+
11+
expected1.md: sample1.md abstract-to-meta.lua
12+
pandoc --lua-filter=abstract-to-meta.lua --standalone --output $@ $<
13+
14+
expected2.md: sample2.md abstract-to-meta.lua
815
pandoc --lua-filter=abstract-to-meta.lua --standalone --output $@ $<
916

1017
.PHONY: test

abstract-to-meta/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,21 @@ satisfy this condition.^[1]
3535

3636
[1]: This requires the `auto_identifier` extension. It is
3737
enabled by default.
38+
39+
The abstract can be placed anywhere in the document.
40+
41+
The filter assumes that the abstract runs up until the next
42+
heading or a [horizontal rule], whichever comes first). Thus the
43+
abstract can be placed at the beginning of a document whose text
44+
doesn't start with a heading:
45+
46+
# Abstract
47+
48+
The abstract text includes this.
49+
50+
* * * *
51+
52+
This text is the beginning of the document.
53+
54+
55+
[horizontal rule]: https://pandoc.org/MANUAL.html#horizontal-rules

abstract-to-meta/abstract-to-meta.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ function abstract_from_blocklist (blocks)
2020
body_blocks[#body_blocks + 1] = block
2121
end
2222
elseif looking_at_abstract then
23-
abstract[#abstract + 1] = block
23+
if block.t == 'HorizontalRule' then
24+
looking_at_abstract = false
25+
else
26+
abstract[#abstract + 1] = block
27+
end
2428
else
2529
body_blocks[#body_blocks + 1] = block
2630
end
File renamed without changes.

abstract-to-meta/expected2.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
abstract: |
3+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
4+
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
5+
minim veniam, quis nostrud exercitation ullamco laboris nisi ut
6+
aliquip ex ea commodo consequat. Duis aute irure dolor in
7+
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
8+
pariatur.
9+
10+
- one
11+
- two
12+
- three
13+
14+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
15+
officia deserunt mollit anim id est laborum.
16+
---
17+
18+
::: {.frontmatter}
19+
Mauris vel erat tincidunt, venenatis elit ac, luctus augue. Aliquam sed
20+
hendrerit augue. Donec finibus mi et dolor semper, non malesuada nulla
21+
ullamcorper. Fusce auctor ullamcorper nunc, sit amet molestie nunc
22+
ornare ac. Nunc vulputate non ante vitae hendrerit. Pellentesque
23+
habitant morbi tristique senectus et netus et malesuada fames ac turpis
24+
egestas. Ut maximus enim molestie ex egestas, a tincidunt quam rhoncus.
25+
Quisque tincidunt est arcu, quis aliquet justo varius a. Fusce nec massa
26+
neque.
27+
:::
28+
29+
# Lorem Ipsum
30+
31+
Quo dolore molestiae et laboriosam occaecati explicabo corrupti. Earum
32+
expedita ducimus quaerat est quam ut molestiae. Illum deleniti vel
33+
labore facilis et cum est. Est nemo est vel ad. Assumenda consequatur
34+
rerum officiis atque officia. Est nihil iste cumque ad qui.

abstract-to-meta/sample.md renamed to abstract-to-meta/sample1.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ deserunt mollit anim id est laborum.
2525

2626
# Lorem Ipsum
2727

28-
Quo dolore molestiae et laboriosam occaecati explicabo corrupti. Earum expedita
29-
ducimus quaerat est quam ut molestiae. Illum deleniti vel labore facilis et cum
30-
est. Est nemo est vel ad. Assumenda consequatur rerum officiis atque officia.
31-
Est nihil iste cumque ad qui.
28+
Quo dolore molestiae et laboriosam occaecati explicabo corrupti.
29+
Earum expedita ducimus quaerat est quam ut molestiae. Illum
30+
deleniti vel labore facilis et cum est. Est nemo est vel ad.
31+
Assumenda consequatur rerum officiis atque officia. Est nihil iste
32+
cumque ad qui.

abstract-to-meta/sample2.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
::: {.frontmatter}
2+
# Abstract
3+
4+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
5+
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
6+
enim ad minim veniam, quis nostrud exercitation ullamco laboris
7+
nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
8+
reprehenderit in voluptate velit esse cillum dolore eu fugiat
9+
nulla pariatur.
10+
11+
- one
12+
- two
13+
- three
14+
15+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
16+
officia deserunt mollit anim id est laborum.
17+
18+
---
19+
20+
Mauris vel erat tincidunt, venenatis elit ac, luctus augue.
21+
Aliquam sed hendrerit augue. Donec finibus mi et dolor semper, non
22+
malesuada nulla ullamcorper. Fusce auctor ullamcorper nunc, sit
23+
amet molestie nunc ornare ac. Nunc vulputate non ante vitae
24+
hendrerit. Pellentesque habitant morbi tristique senectus et netus
25+
et malesuada fames ac turpis egestas. Ut maximus enim molestie ex
26+
egestas, a tincidunt quam rhoncus. Quisque tincidunt est arcu,
27+
quis aliquet justo varius a. Fusce nec massa neque.
28+
:::
29+
30+
# Lorem Ipsum
31+
32+
Quo dolore molestiae et laboriosam occaecati explicabo corrupti.
33+
Earum expedita ducimus quaerat est quam ut molestiae. Illum
34+
deleniti vel labore facilis et cum est. Est nemo est vel ad.
35+
Assumenda consequatur rerum officiis atque officia. Est nihil iste
36+
cumque ad qui.

0 commit comments

Comments
 (0)