52 lines
1.3 KiB
Lua
52 lines
1.3 KiB
Lua
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
|
|
|
|
|
|
|