diff --git a/lib/asciidoctor-bibtex/extensions.rb b/lib/asciidoctor-bibtex/extensions.rb index 452a53c..e464b16 100644 --- a/lib/asciidoctor-bibtex/extensions.rb +++ b/lib/asciidoctor-bibtex/extensions.rb @@ -109,9 +109,13 @@ def process(document) # Second pass: replace citations with citation texts. prose_blocks.each do |block| if block.context == :list_item || block.context == :table_cell - line = block.text - line = processor.replace_citation_macros(line) - block.text = line + # NOTE: we access the instance variable @text directly to prevent + # asciidoctor from changing the raw texts. + line = block.instance_variable_get(:@text) + if !line.empty? + line = processor.replace_citation_macros(line) + block.instance_variable_set(:@text, line) + end else block.lines.each_with_index do |line, index| line = processor.replace_citation_macros(line) diff --git a/samples/all-in-one/sample.adoc b/samples/all-in-one/sample.adoc index 6da7f34..99a8869 100644 --- a/samples/all-in-one/sample.adoc +++ b/samples/all-in-one/sample.adoc @@ -23,7 +23,7 @@ prevent problems with a2x. References can be inserted in lists, too: -1. See cite:[Lane12a]. +1. This is a complex *item* with _formats_. See cite:[Lane12a]. 2. See cite:[Anderson98]. 3. See cite:[Anderson04].