diff options
Diffstat (limited to 'src/sdp/ao_abstract_doc_source.d')
-rw-r--r-- | src/sdp/ao_abstract_doc_source.d | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/sdp/ao_abstract_doc_source.d b/src/sdp/ao_abstract_doc_source.d index d8eb7d2..9bb5def 100644 --- a/src/sdp/ao_abstract_doc_source.d +++ b/src/sdp/ao_abstract_doc_source.d @@ -696,7 +696,9 @@ template SiSUdocAbstraction() { if ((type["heading"] == State.on) && (line_occur["heading"] > State.off)) { /+ heading object (current line empty) +/ - obj_cite_number = ocn_emit(type["ocn_status"]); + obj_cite_number = (to!int(an_object["lev_markup_number"]) == 0) + ? (ocn_emit(3)) + : (obj_cite_number = ocn_emit(type["ocn_status"])); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -2842,11 +2844,15 @@ template SiSUdocAbstraction() { struct OCNemitter { int obj_cite_number, obj_cite_number_; int ocn_emitter(int ocn_status_flag) - in { assert(ocn_status_flag <= 2); } + in { assert(ocn_status_flag <= 3); } body { - obj_cite_number=(ocn_status_flag == 0) - ? ++obj_cite_number_ - : 0; + if (ocn_status_flag == 3) { + obj_cite_number = obj_cite_number_ = 1; + } else { + obj_cite_number=(ocn_status_flag == 0) + ? ++obj_cite_number_ + : 0; + } assert(obj_cite_number >= 0); return obj_cite_number; } |