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
|
||
|
|
||
|
|
||
|
|