summaryrefslogtreecommitdiff
path: root/biblio/citation-style-language/citeproc-output.lua
diff options
context:
space:
mode:
Diffstat (limited to 'biblio/citation-style-language/citeproc-output.lua')
-rw-r--r--biblio/citation-style-language/citeproc-output.lua48
1 files changed, 27 insertions, 21 deletions
diff --git a/biblio/citation-style-language/citeproc-output.lua b/biblio/citation-style-language/citeproc-output.lua
index 6aca4533da..97cc53fc4a 100644
--- a/biblio/citation-style-language/citeproc-output.lua
+++ b/biblio/citation-style-language/citeproc-output.lua
@@ -1191,7 +1191,7 @@ local LatexWriter = Markup:new()
LatexWriter.markups = {
["bibstart"] = function (engine)
- return string.format("\\begin{thebibliography}{%s}\n\n", engine.registry.longest_label)
+ return string.format("\\begin{thebibliography}{%s}\n", engine.registry.longest_label)
end,
["bibend"] = "\\end{thebibliography}",
["@font-style/normal"] = "{\\normalshape %s}",
@@ -1209,15 +1209,17 @@ LatexWriter.markups = {
["@vertical-align/baseline"] = false,
["@cite/entry"] = false,
["@bibliography/entry"] = function (str, context)
- if not string.match(str, "\\bibitem") then
+ if string.match(str, "\\bibitem") then
+ str = str .. "\n"
+ else
str = "\\bibitem{".. context.id .. "}\n" .. str .. "\n"
end
return str
end,
- ["@display/block"] = false,
- ["@display/left-margin"] = '\n <div class="csl-left-margin">%s</div>',
- ["@display/right-inline"] = '<div class="csl-right-inline">%s</div>\n ',
- ["@display/indent"] = '<div class="csl-indent">%s</div>\n ',
+ -- ["@display/block"] = false,
+ -- ["@display/left-margin"] = '\n <div class="csl-left-margin">%s</div>',
+ -- ["@display/right-inline"] = '<div class="csl-right-inline">%s</div>',
+ -- ["@display/indent"] = '<div class="csl-indent">%s</div>\n ',
}
function LatexWriter:write_escaped(str, context)
@@ -1256,25 +1258,27 @@ function LatexWriter:write_formatted(inline, context)
end
function LatexWriter:write_display(inline, context)
- local plainter_text_writer = output_module.PlainTextWriter:new()
- local str = plainter_text_writer:write_inline(inline)
- local len = utf8.len(str)
- if len > context.engine.registry.maxoffset then
- context.engine.registry.maxoffset = len
- context.engine.registry.longest_label = str
+ if inline.div == "left-margin" then
+ local plainter_text_writer = output_module.PlainTextWriter:new()
+ local str = plainter_text_writer:write_inline(inline)
+ local len = utf8.len(str)
+ if len > context.engine.registry.maxoffset then
+ context.engine.registry.maxoffset = len
+ context.engine.registry.longest_label = str
+ end
end
local res = self:write_children(inline, context)
- if inline.display == "left-margin" then
+ if inline.div == "left-margin" then
if string.match(res, "%]") then
res = "{" .. res .. "}"
end
res = string.format("\\bibitem[%s]{%s}\n", res, context.id)
- elseif inline.display == "right-inline" then
+ elseif inline.div == "right-inline" then
return res
- elseif inline.display == "block" then
+ elseif inline.div == "block" then
return ""
end
return res
@@ -1341,12 +1345,14 @@ function HtmlWriter:write_formatted(inline, context)
end
function HtmlWriter:write_display(inline, context)
- local plainter_text_writer = output_module.PlainTextWriter:new()
- local str = plainter_text_writer:write_inline(inline)
- local len = utf8.len(str)
- if len > context.engine.registry.maxoffset then
- context.engine.registry.maxoffset = len
- context.engine.registry.longest_label = str
+ if inline.div == "left-margin" then
+ local plainter_text_writer = output_module.PlainTextWriter:new()
+ local str = plainter_text_writer:write_inline(inline)
+ local len = utf8.len(str)
+ if len > context.engine.registry.maxoffset then
+ context.engine.registry.maxoffset = len
+ context.engine.registry.longest_label = str
+ end
end
if #inline.inlines == 0 then