Cleaned up the repo and updated the test suite
This commit is contained in:
parent
e9cfad51cd
commit
8053321816
23
Makefile
Normal file
23
Makefile
Normal file
|
@ -0,0 +1,23 @@
|
|||
.PHONY: test-all test-internal
|
||||
|
||||
SHELL=/bin/bash
|
||||
return_statement_line_number := $(shell grep -nE '^return' text-crossrefs.lua | cut -d ':' -f 1)
|
||||
line_before_return := $(shell echo $$(($(return_statement_line_number) - 1)))
|
||||
|
||||
test-all: test-internal test-context test-latex test-opendocument
|
||||
|
||||
test-internal: text-crossrefs.lua
|
||||
-rm --interactive=never test/tmp.lua
|
||||
sed -n 1,$(line_before_return)p text-crossrefs.lua > test/tmp.lua
|
||||
cat test/test-functions.lua >> test/tmp.lua
|
||||
chmod -w test/tmp.lua
|
||||
pandoc -L test/tmp.lua <<< ''
|
||||
@echo -e '==========================\nAll internal tests passed.\n==========================\n'
|
||||
rm --interactive=never test/tmp.lua
|
||||
|
||||
test-%: text-crossrefs.lua sample.md
|
||||
TESTED_FORMAT=$* pandoc -t native -L text-crossrefs.lua sample.md > test/tmp-$*.native
|
||||
diff test/tmp-$*.native test/sample-$*.native
|
||||
@echo -e '\n===============\ntest passed.\n===============\n'
|
||||
rm test/tmp-$*.native
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
---
|
||||
tcrf-pagenote-separator: '\ ('
|
||||
tcrf-pagenote-at-end: ')'
|
||||
header-includes: |
|
||||
\input{tex-aux/tcrfenum}
|
||||
---
|
||||
|
||||
(About the notes, see [toc-notes-begin>toc-notes-end]{.tcrf}.)
|
||||
|
|
16
test.md
16
test.md
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
tcrf-pagenote-separator: '\ ('
|
||||
tcrf-pagenote-at-end: ')'
|
||||
---
|
||||
|
||||
Émile Gaboriau published [_L'Affaire Lerouge_ in
|
||||
1866]{#publication}.[^1]
|
||||
|
||||
[^1]: It is a very [fine piece of literature]{#my-evaluation}.
|
||||
|
||||
[It was very popular.]{#reception}
|
||||
|
||||
See [publication]{.ref} for the publication date. I expressed
|
||||
my thoughts about it [my-evaluation]{.ref type=pagenote}.
|
||||
|
||||
Page range: [publication>reception]{.ref}
|
386
test/sample-context.native
Normal file
386
test/sample-context.native
Normal file
|
@ -0,0 +1,386 @@
|
|||
[ Para
|
||||
[ Str "(About"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes,"
|
||||
, Space
|
||||
, Str "see"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "context")
|
||||
"\\tcrfenum{{toc-notes-begin to toc-notes-end}}"
|
||||
]
|
||||
, Str ".)"
|
||||
]
|
||||
, Para
|
||||
[ Str "\201mile"
|
||||
, Space
|
||||
, Str "Gaboriau"
|
||||
, Space
|
||||
, Str "published"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "publication" , [] , [] )
|
||||
[ Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
|
||||
, Space
|
||||
, Str "in"
|
||||
, SoftBreak
|
||||
, Str "1866"
|
||||
]
|
||||
, Str "."
|
||||
, RawInline (Format "context") ""
|
||||
, Note
|
||||
[ Para
|
||||
[ Str "It"
|
||||
, Space
|
||||
, Str "is"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "very"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "my-evaluation" , [] , [] )
|
||||
[ Str "fine"
|
||||
, Space
|
||||
, Str "piece"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, Str "literature"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, RawInline (Format "context") "[note:my-evaluation]"
|
||||
]
|
||||
, Para
|
||||
[ Str ""
|
||||
, Span
|
||||
( "reception" , [] , [] )
|
||||
[ Str "It"
|
||||
, Space
|
||||
, Str "was"
|
||||
, Space
|
||||
, Str "very"
|
||||
, Space
|
||||
, Str "popular."
|
||||
]
|
||||
]
|
||||
, Para
|
||||
[ Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline (Format "context") "\\tcrfenum{{publication}}" ]
|
||||
, Space
|
||||
, Str "for"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "publication"
|
||||
, Space
|
||||
, Str "date."
|
||||
, Space
|
||||
, Str "I"
|
||||
, Space
|
||||
, Str "expressed"
|
||||
, SoftBreak
|
||||
, Str "my"
|
||||
, Space
|
||||
, Str "thoughts"
|
||||
, Space
|
||||
, Str "about"
|
||||
, Space
|
||||
, Str "it"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [ ( "reftype" , "pagenote" ) ] )
|
||||
[ RawInline
|
||||
(Format "context") "\\tcrfenum[pagenote]{{my-evaluation}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
, Para
|
||||
[ Str "If"
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "want"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "know"
|
||||
, Space
|
||||
, Str "more"
|
||||
, Space
|
||||
, Str "about"
|
||||
, Space
|
||||
, Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
|
||||
, Str ","
|
||||
, Space
|
||||
, Str "see"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "context") "\\tcrfenum{{publication to reception}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
, Para
|
||||
[ Str "Here"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "some"
|
||||
, Space
|
||||
, Str "precisions."
|
||||
, RawInline (Format "context") ""
|
||||
, Note
|
||||
[ Para
|
||||
[ Str ""
|
||||
, Span
|
||||
( "format" , [] , [] )
|
||||
[ Str "Whatever" , Space , Str "format" ]
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "choose,"
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "refer-to-note" , [] , [] )
|
||||
[ Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
]
|
||||
, Space
|
||||
, Str "by"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "identifier"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "which-identifier" , [] , [] )
|
||||
[ Str "any"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, Str "its"
|
||||
, Space
|
||||
, Str "spans."
|
||||
, Space
|
||||
, Str "You"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, Str "even"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "nested-spans" , [] , [] )
|
||||
[ Str "nest" , Space , Str "spans" ]
|
||||
, Str "!"
|
||||
]
|
||||
]
|
||||
]
|
||||
, RawInline (Format "context") "[note:format]"
|
||||
]
|
||||
, Para
|
||||
[ Str ""
|
||||
, Span
|
||||
( "toc-notes-begin" , [] , [] )
|
||||
[ Str "I"
|
||||
, Space
|
||||
, Str "want"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
]
|
||||
, Str ":"
|
||||
]
|
||||
, BulletList
|
||||
[ [ Plain
|
||||
[ Str "How"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, Str "I"
|
||||
, Space
|
||||
, Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
, Space
|
||||
, Str "by"
|
||||
, Space
|
||||
, Str "its"
|
||||
, Space
|
||||
, Str "number?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "context") "\\tcrfenum{{refer-to-note}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "formats"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "supported?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline (Format "context") "\\tcrfenum{{format}}" ]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "if"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "note"
|
||||
, Space
|
||||
, Str "contains"
|
||||
, Space
|
||||
, Str "multiple"
|
||||
, Space
|
||||
, Str "spans"
|
||||
, Space
|
||||
, Str "with"
|
||||
, Space
|
||||
, Str "identifiers?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "context") "\\tcrfenum{{which-identifier}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "happens"
|
||||
, Space
|
||||
, Str "if"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "span"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Str "contained"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "span?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "context") "\\tcrfenum{{nested-spans}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [ ( "reftype" , "note" ) ] )
|
||||
[ RawInline
|
||||
(Format "context")
|
||||
"\\tcrfenum[note]{{my-evaluation}{format}{refer-to-note}}"
|
||||
]
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "Where"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "context")
|
||||
"\\tcrfenum{{my-evaluation}{format}}"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
, Para [ Str "" , Span ( "toc-notes-end" , [] , [] ) [] ]
|
||||
]
|
386
test/sample-latex.native
Normal file
386
test/sample-latex.native
Normal file
|
@ -0,0 +1,386 @@
|
|||
[ Para
|
||||
[ Str "(About"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes,"
|
||||
, Space
|
||||
, Str "see"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "latex")
|
||||
"\\tcrfenum{{toc-notes-begin to toc-notes-end}}"
|
||||
]
|
||||
, Str ".)"
|
||||
]
|
||||
, Para
|
||||
[ Str "\201mile"
|
||||
, Space
|
||||
, Str "Gaboriau"
|
||||
, Space
|
||||
, Str "published"
|
||||
, Space
|
||||
, RawInline (Format "latex") "\\label{publication}"
|
||||
, Span
|
||||
( "publication" , [] , [] )
|
||||
[ Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
|
||||
, Space
|
||||
, Str "in"
|
||||
, SoftBreak
|
||||
, Str "1866"
|
||||
]
|
||||
, Str "."
|
||||
, RawInline (Format "latex") ""
|
||||
, Note
|
||||
[ Para
|
||||
[ Str "It"
|
||||
, Space
|
||||
, Str "is"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "very"
|
||||
, Space
|
||||
, RawInline (Format "latex") "\\label{my-evaluation}"
|
||||
, Span
|
||||
( "my-evaluation" , [] , [] )
|
||||
[ Str "fine"
|
||||
, Space
|
||||
, Str "piece"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, Str "literature"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, RawInline (Format "latex") ""
|
||||
]
|
||||
, Para
|
||||
[ RawInline (Format "latex") "\\label{reception}"
|
||||
, Span
|
||||
( "reception" , [] , [] )
|
||||
[ Str "It"
|
||||
, Space
|
||||
, Str "was"
|
||||
, Space
|
||||
, Str "very"
|
||||
, Space
|
||||
, Str "popular."
|
||||
]
|
||||
]
|
||||
, Para
|
||||
[ Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline (Format "latex") "\\tcrfenum{{publication}}" ]
|
||||
, Space
|
||||
, Str "for"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "publication"
|
||||
, Space
|
||||
, Str "date."
|
||||
, Space
|
||||
, Str "I"
|
||||
, Space
|
||||
, Str "expressed"
|
||||
, SoftBreak
|
||||
, Str "my"
|
||||
, Space
|
||||
, Str "thoughts"
|
||||
, Space
|
||||
, Str "about"
|
||||
, Space
|
||||
, Str "it"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [ ( "reftype" , "pagenote" ) ] )
|
||||
[ RawInline
|
||||
(Format "latex") "\\tcrfenum[pagenote]{{my-evaluation}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
, Para
|
||||
[ Str "If"
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "want"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "know"
|
||||
, Space
|
||||
, Str "more"
|
||||
, Space
|
||||
, Str "about"
|
||||
, Space
|
||||
, Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
|
||||
, Str ","
|
||||
, Space
|
||||
, Str "see"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "latex") "\\tcrfenum{{publication to reception}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
, Para
|
||||
[ Str "Here"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "some"
|
||||
, Space
|
||||
, Str "precisions."
|
||||
, RawInline (Format "latex") ""
|
||||
, Note
|
||||
[ Para
|
||||
[ RawInline (Format "latex") "\\label{format}"
|
||||
, Span
|
||||
( "format" , [] , [] )
|
||||
[ Str "Whatever" , Space , Str "format" ]
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "choose,"
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, RawInline (Format "latex") "\\label{refer-to-note}"
|
||||
, Span
|
||||
( "refer-to-note" , [] , [] )
|
||||
[ Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
]
|
||||
, Space
|
||||
, Str "by"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "identifier"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, RawInline (Format "latex") "\\label{which-identifier}"
|
||||
, Span
|
||||
( "which-identifier" , [] , [] )
|
||||
[ Str "any"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, Str "its"
|
||||
, Space
|
||||
, Str "spans."
|
||||
, Space
|
||||
, Str "You"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, Str "even"
|
||||
, Space
|
||||
, RawInline (Format "latex") "\\label{nested-spans}"
|
||||
, Span
|
||||
( "nested-spans" , [] , [] )
|
||||
[ Str "nest" , Space , Str "spans" ]
|
||||
, Str "!"
|
||||
]
|
||||
]
|
||||
]
|
||||
, RawInline (Format "latex") ""
|
||||
]
|
||||
, Para
|
||||
[ RawInline (Format "latex") "\\label{toc-notes-begin}"
|
||||
, Span
|
||||
( "toc-notes-begin" , [] , [] )
|
||||
[ Str "I"
|
||||
, Space
|
||||
, Str "want"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
]
|
||||
, Str ":"
|
||||
]
|
||||
, BulletList
|
||||
[ [ Plain
|
||||
[ Str "How"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, Str "I"
|
||||
, Space
|
||||
, Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
, Space
|
||||
, Str "by"
|
||||
, Space
|
||||
, Str "its"
|
||||
, Space
|
||||
, Str "number?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline (Format "latex") "\\tcrfenum{{refer-to-note}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "formats"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "supported?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline (Format "latex") "\\tcrfenum{{format}}" ]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "if"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "note"
|
||||
, Space
|
||||
, Str "contains"
|
||||
, Space
|
||||
, Str "multiple"
|
||||
, Space
|
||||
, Str "spans"
|
||||
, Space
|
||||
, Str "with"
|
||||
, Space
|
||||
, Str "identifiers?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "latex") "\\tcrfenum{{which-identifier}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "happens"
|
||||
, Space
|
||||
, Str "if"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "span"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Str "contained"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "span?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline (Format "latex") "\\tcrfenum{{nested-spans}}"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [ ( "reftype" , "note" ) ] )
|
||||
[ RawInline
|
||||
(Format "latex")
|
||||
"\\tcrfenum[note]{{my-evaluation}{format}{refer-to-note}}"
|
||||
]
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "Where"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "latex") "\\tcrfenum{{my-evaluation}{format}}"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
, Para
|
||||
[ RawInline (Format "latex") "\\label{toc-notes-end}"
|
||||
, Span ( "toc-notes-end" , [] , [] ) []
|
||||
]
|
||||
]
|
397
test/sample-opendocument.native
Normal file
397
test/sample-opendocument.native
Normal file
|
@ -0,0 +1,397 @@
|
|||
[ Para
|
||||
[ Str "(About"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes,"
|
||||
, Space
|
||||
, Str "see"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"pp.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"toc-notes-begin\">000</text:bookmark-ref>\8211<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"toc-notes-end\">000</text:bookmark-ref>"
|
||||
]
|
||||
, Str ".)"
|
||||
]
|
||||
, Para
|
||||
[ Str "\201mile"
|
||||
, Space
|
||||
, Str "Gaboriau"
|
||||
, Space
|
||||
, Str "published"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "publication" , [] , [] )
|
||||
[ Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
|
||||
, Space
|
||||
, Str "in"
|
||||
, SoftBreak
|
||||
, Str "1866"
|
||||
]
|
||||
, Str "."
|
||||
, RawInline (Format "opendocument") ""
|
||||
, Note
|
||||
[ Para
|
||||
[ Str "It"
|
||||
, Space
|
||||
, Str "is"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "very"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "my-evaluation" , [] , [] )
|
||||
[ Str "fine"
|
||||
, Space
|
||||
, Str "piece"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, Str "literature"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, RawInline (Format "opendocument") ""
|
||||
]
|
||||
, Para
|
||||
[ Str ""
|
||||
, Span
|
||||
( "reception" , [] , [] )
|
||||
[ Str "It"
|
||||
, Space
|
||||
, Str "was"
|
||||
, Space
|
||||
, Str "very"
|
||||
, Space
|
||||
, Str "popular."
|
||||
]
|
||||
]
|
||||
, Para
|
||||
[ Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"publication\">000</text:bookmark-ref>"
|
||||
]
|
||||
, Space
|
||||
, Str "for"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "publication"
|
||||
, Space
|
||||
, Str "date."
|
||||
, Space
|
||||
, Str "I"
|
||||
, Space
|
||||
, Str "expressed"
|
||||
, SoftBreak
|
||||
, Str "my"
|
||||
, Space
|
||||
, Str "thoughts"
|
||||
, Space
|
||||
, Str "about"
|
||||
, Space
|
||||
, Str "it"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [ ( "reftype" , "pagenote" ) ] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"my-evaluation\">000</text:bookmark-ref>\160(n.\160<text:note-ref text:note-class=\"footnote\" text:reference-format=\"text\" text:ref-name=\"ftn0\">000</text:note-ref>)"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
, Para
|
||||
[ Str "If"
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "want"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "know"
|
||||
, Space
|
||||
, Str "more"
|
||||
, Space
|
||||
, Str "about"
|
||||
, Space
|
||||
, Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
|
||||
, Str ","
|
||||
, Space
|
||||
, Str "see"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"pp.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"publication\">000</text:bookmark-ref>\8211<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"reception\">000</text:bookmark-ref>"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
, Para
|
||||
[ Str "Here"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "some"
|
||||
, Space
|
||||
, Str "precisions."
|
||||
, RawInline (Format "opendocument") ""
|
||||
, Note
|
||||
[ Para
|
||||
[ Str ""
|
||||
, Span
|
||||
( "format" , [] , [] )
|
||||
[ Str "Whatever" , Space , Str "format" ]
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "choose,"
|
||||
, Space
|
||||
, Str "you"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "refer-to-note" , [] , [] )
|
||||
[ Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
]
|
||||
, Space
|
||||
, Str "by"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "identifier"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "which-identifier" , [] , [] )
|
||||
[ Str "any"
|
||||
, Space
|
||||
, Str "of"
|
||||
, Space
|
||||
, Str "its"
|
||||
, Space
|
||||
, Str "spans."
|
||||
, Space
|
||||
, Str "You"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, Str "even"
|
||||
, Space
|
||||
, Str ""
|
||||
, Span
|
||||
( "nested-spans" , [] , [] )
|
||||
[ Str "nest" , Space , Str "spans" ]
|
||||
, Str "!"
|
||||
]
|
||||
]
|
||||
]
|
||||
, RawInline (Format "opendocument") ""
|
||||
]
|
||||
, Para
|
||||
[ Str ""
|
||||
, Span
|
||||
( "toc-notes-begin" , [] , [] )
|
||||
[ Str "I"
|
||||
, Space
|
||||
, Str "want"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
]
|
||||
, Str ":"
|
||||
]
|
||||
, BulletList
|
||||
[ [ Plain
|
||||
[ Str "How"
|
||||
, Space
|
||||
, Str "can"
|
||||
, Space
|
||||
, Str "I"
|
||||
, Space
|
||||
, Str "refer"
|
||||
, Space
|
||||
, Str "to"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "note"
|
||||
, Space
|
||||
, Str "by"
|
||||
, Space
|
||||
, Str "its"
|
||||
, Space
|
||||
, Str "number?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"refer-to-note\">000</text:bookmark-ref>"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "formats"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "supported?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"format\">000</text:bookmark-ref>"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "if"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "note"
|
||||
, Space
|
||||
, Str "contains"
|
||||
, Space
|
||||
, Str "multiple"
|
||||
, Space
|
||||
, Str "spans"
|
||||
, Space
|
||||
, Str "with"
|
||||
, Space
|
||||
, Str "identifiers?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"which-identifier\">000</text:bookmark-ref>"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "happens"
|
||||
, Space
|
||||
, Str "if"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "span"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Str "contained"
|
||||
, Space
|
||||
, Str "in"
|
||||
, Space
|
||||
, Str "a"
|
||||
, Space
|
||||
, Str "span?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Str "See"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"nested-spans\">000</text:bookmark-ref>"
|
||||
]
|
||||
, Str "."
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "What"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [ ( "reftype" , "note" ) ] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"nn.\160<text:note-ref text:note-class=\"footnote\" text:reference-format=\"text\" text:ref-name=\"ftn0\">000</text:note-ref>, <text:note-ref text:note-class=\"footnote\" text:reference-format=\"text\" text:ref-name=\"ftn1\">000</text:note-ref> and <text:note-ref text:note-class=\"footnote\" text:reference-format=\"text\" text:ref-name=\"ftn1\">000</text:note-ref>"
|
||||
]
|
||||
]
|
||||
]
|
||||
, [ Plain
|
||||
[ Str "Where"
|
||||
, Space
|
||||
, Str "are"
|
||||
, Space
|
||||
, Str "the"
|
||||
, Space
|
||||
, Str "notes?"
|
||||
, Space
|
||||
, Str "\8594"
|
||||
, Space
|
||||
, Span
|
||||
( "" , [ "tcrf" ] , [] )
|
||||
[ RawInline
|
||||
(Format "opendocument")
|
||||
"pp.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"my-evaluation\">000</text:bookmark-ref> and <text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"format\">000</text:bookmark-ref>"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
, Para [ Str "" , Span ( "toc-notes-end" , [] , [] ) [] ]
|
||||
]
|
36
test/test-functions.lua
Normal file
36
test/test-functions.lua
Normal file
|
@ -0,0 +1,36 @@
|
|||
local refs
|
||||
|
||||
refs = parse_references_enum('mylabel')
|
||||
assert(#refs == 1)
|
||||
assert(refs[1].anchor == 'mylabel')
|
||||
assert(not refs[1].end_of_range)
|
||||
assert(make_raw_content_tex(refs, 'page', true)
|
||||
== '\\tcrfenum{{mylabel}}')
|
||||
assert(make_raw_content_tex(refs, 'page', false)
|
||||
== '\\tcrfenum[noprefix]{{mylabel}}')
|
||||
assert(make_raw_content_tex(refs, 'note', true)
|
||||
== '\\tcrfenum[note]{{mylabel}}')
|
||||
assert(make_raw_content_tex(refs, 'note', false)
|
||||
== '\\tcrfenum[note][noprefix]{{mylabel}}')
|
||||
|
||||
refs = parse_references_enum('rangebeg>rangeend')
|
||||
assert(#refs == 1)
|
||||
assert(refs[1].anchor == 'rangebeg')
|
||||
assert(refs[1].end_of_range == 'rangeend')
|
||||
assert(make_raw_content_tex(refs, 'page', true)
|
||||
== '\\tcrfenum{{rangebeg to rangeend}}')
|
||||
|
||||
refs = parse_references_enum('first, second')
|
||||
assert(#refs == 2)
|
||||
assert(refs[1].anchor == 'first')
|
||||
assert(refs[2].anchor == 'second')
|
||||
assert(make_raw_content_tex(refs, 'page', true)
|
||||
== '\\tcrfenum{{first}{second}}')
|
||||
|
||||
refs = parse_references_enum('first, rangebeg>rangeend')
|
||||
assert(#refs == 2)
|
||||
assert(refs[1].anchor == 'first')
|
||||
assert(refs[2].anchor == 'rangebeg')
|
||||
assert(refs[2].end_of_range == 'rangeend')
|
||||
assert(make_raw_content_tex(refs, 'page', true)
|
||||
== '\\tcrfenum{{first}{rangebeg to rangeend}}')
|
Loading…
Reference in New Issue
Block a user