]> git.lyx.org Git - features.git/commitdiff
DocBook: allow empty paragraphs before the <info> section.
authorThibaut Cuvelier <tcuvelier@lyx.org>
Sun, 2 Aug 2020 14:52:33 +0000 (16:52 +0200)
committerThibaut Cuvelier <tcuvelier@lyx.org>
Mon, 3 Aug 2020 14:04:57 +0000 (16:04 +0200)
autotests/export/docbook/bibliography_precooked_aastex.xml
src/output_docbook.cpp

index 89b1714bfe3966346615170ec407f60c3d7083bc..37dada807b4de308c172ed30b6f222861f5ff146 100644 (file)
@@ -3,6 +3,23 @@
   See http://www.lyx.org/ for more information -->
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <info>
+<title>Collapsed Cores in Globular Clusters,  Gauge-Boson Couplings, and AASTeX Examples</title>
+<author><personname>S. Djorgovski and Ivan R. King</personname></author>
+<author><affiliation>Astronomy Department, University of California, Berkeley, CA 94720</affiliation></author>
+<author><affiliation role="alternate">Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</affiliation></author>
+<author><affiliation role="alternate">Society of Fellows, Harvard University.</affiliation></author>
+<author><affiliation role="alternate">present address: Center for Astrophysics60 Garden Street, Cambridge, MA 02138</affiliation></author>
+<author><personname>C. D. Biemesderfer</personname></author>
+<author><affiliation>National Optical Astronomy Observatories, Tucson, AZ 85719</affiliation></author>
+<author><affiliation role="alternate">Visiting Programmer, Space Telescope Science Institute</affiliation></author>
+<author><affiliation role="alternate">Patron, Alonso's Bar and Grill</affiliation></author>
+<author><email>aastex-help@aas.org</email></author>
+<author><personname>R. J. Hanisch</personname></author>
+<author><affiliation>Space Telescope Science Institute, Baltimore, MD 21218</affiliation></author>
+<author><affiliation role="alternate">Patron, Alonso's Bar and Grill</affiliation></author>
+<abstract>
+<para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
+</abstract>
 </info>
 <section>
 <title>Introduction</title>
index 5e15edcee9b47b84d50432e5bd0f6d29f903f064..2199239f890e6279e5967c3261ff637abbdc84a1 100644 (file)
@@ -764,15 +764,34 @@ DocBookDocumentSectioning hasDocumentSectioning(ParagraphList const &paragraphs,
 }
 
 
-DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type const bpit, pit_type const epit) {
+bool hasOnlyNotes(Paragraph const & par)
+{
+       for (int i = 0; i < par.size(); ++i)
+               if (!par.isInset(i) || !dynamic_cast<InsetNote *>(par.insetList().get(i)))
+                       return false;
+       return true;
+}
+
+
+DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type bpit, pit_type const epit) {
        set<pit_type> shouldBeInInfo;
        set<pit_type> mustBeInInfo;
 
+       // Find the first non empty paragraph by mutating bpit.
+       while (bpit < epit) {
+               Paragraph const &par = paragraphs[bpit];
+               if (par.empty() || hasOnlyNotes(par))
+                       bpit += 1;
+               else
+                       break;
+       }
+
+       // Find the last info-like paragraph.
        pit_type cpit = bpit;
        while (cpit < epit) {
                // Skip paragraphs only containing one note.
                Paragraph const &par = paragraphs[cpit];
-               if (par.size() == 1 && dynamic_cast<InsetNote*>(paragraphs[cpit].insetList().get(0))) {
+               if (hasOnlyNotes(par)) {
                        cpit += 1;
                        continue;
                }