add useful lua filters
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
if FORMAT:match 'latex' then
|
||||
function Link (elem)
|
||||
|
||||
local abbrev = ''
|
||||
if elem.c[3][1]:sub(2, 4) == 'fig' then
|
||||
abbrev = 'fig.'
|
||||
end
|
||||
|
||||
if elem.c[3][1]:sub(2, 4) == 'sec' then
|
||||
abbrev = 'section'
|
||||
end
|
||||
|
||||
if elem.c[1][2][1] == 'uri' then
|
||||
return elem
|
||||
else
|
||||
|
||||
if elem.c[2][1] ~= nil then
|
||||
|
||||
if elem.c[2][1].text == 'x' then
|
||||
return {
|
||||
pandoc.Str(abbrev),
|
||||
pandoc.RawInline('latex', '~\\nameref{'),
|
||||
pandoc.RawInline('latex', elem.c[3][1]:sub(2)),
|
||||
pandoc.RawInline('latex', '}'),
|
||||
pandoc.Str(', page'),
|
||||
pandoc.RawInline('latex', '~\\pageref{'),
|
||||
pandoc.RawInline('latex', elem.c[3][1]:sub(2)),
|
||||
pandoc.RawInline('latex', '}')
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
elem,
|
||||
pandoc.Str(' ('),
|
||||
pandoc.Str(abbrev),
|
||||
pandoc.RawInline('latex', '~\\ref{'),
|
||||
pandoc.RawInline('latex', elem.c[3][1]:sub(2)),
|
||||
pandoc.RawInline('latex', '}'),
|
||||
pandoc.Str(', page'),
|
||||
pandoc.RawInline('latex', '~\\pageref{'),
|
||||
pandoc.RawInline('latex', elem.c[3][1]:sub(2)),
|
||||
pandoc.RawInline('latex', '}'),
|
||||
pandoc.Str(')'),
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user