Re: How to encode subfigures?

Dave Pawson <[email protected]>
Newsgroups gmane.text.docbook.misc
Message-ID <CAEncD4fhnASXVcSyKvbi7OJafcWbxJhVGNfXVnu6KQ_O7UKwEQ@mail.gmail.com>
Have you tried table layout?
From the appearance, that would be most suitable.

HTH

On 8 July 2017 at 16:14, Thibaut Cuvelier <[email protected]> wrote:
> Dear list,
>
> I am trying to convert LaTeX subfigures into DocBook, but I cannot find a
> way to do so. What I currently have is something like this:
>
> \begin{figure}
>     \centering
>     \begin{subfigure}[b]{0.45\textwidth}
>         \includegraphics[width=\textwidth]{A}
>         \caption{Caption A}
>     \end{subfigure}
>     ~
>     \begin{subfigure}[b]{0.45\textwidth}
>         \includegraphics[width=\textwidth]{B}
>         \caption{Caption B}
>     \end{subfigure}
>     \caption{Pictures}
> \end{figure}
>
> The result looks like this:
>
>     A                         B
>     Fig. 1.1: Caption A       Fig. 1.2: Caption B
>                 Fig 1: Pictures
>
> How can I encode something like this in proper DocBook? The only reference I
> could find is
> https://stackoverflow.com/questions/9177130/docbook-more-images-in-one-figure/39990292#39990292,
> but that really looks like bad DocBook in my opinion… Functionality-wise, I
> also have concerns about the way to make reference to a subfigure. Indeed,
> when putting xml:id at the mediaobject level, I cannot use xref in order to
> point to them:
>
> Don't know what gentext to create for xref to: "mediaobject"
>
> My DocBook example:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <?xml-model href="http://docbook.org/xml/5.1/rng/docbook.rng"
> schematypens="http://relaxng.org/ns/structure/1.0"?>
> <?xml-model href="http://docbook.org/xml/5.1/sch/docbook.sch"
> type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
> <article xmlns="http://docbook.org/ns/docbook"
>     xmlns:xlink="http://www.w3.org/1999/xlink" version="5.1">
>     <title>AE</title>
>     <para>Ref: <xref linkend="fig"/>; <xref linkend="a"/>; <xref
> linkend="b"/></para>
>     <figure xml:id="fig">
>         <title>Main figure</title>
>         <mediaobject xml:id="a">
>             <textobject><simpara>A</simpara></textobject>
>         </mediaobject>
>         <mediaobject xml:id="b">
>             <textobject><simpara>B</simpara></textobject>
>         </mediaobject>
>     </figure>
> </article>
>
> My most natural solution would be to allow figure within figure, i.e. things
> like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <?xml-model href="http://docbook.org/xml/5.1/rng/docbook.rng"
> schematypens="http://relaxng.org/ns/structure/1.0"?>
> <?xml-model href="http://docbook.org/xml/5.1/sch/docbook.sch"
> type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
> <article xmlns="http://docbook.org/ns/docbook"
>     xmlns:xlink="http://www.w3.org/1999/xlink" version="5.1">
>     <title>AE</title>
>     <para>Ref: <xref linkend="fig"/>; <xref linkend="a"/>; <xref
> linkend="b"/></para>
>     <figure xml:id="fig">
>         <title>Main figure</title>
>         <figure>
>             <title>A</title>
>             <mediaobject xml:id="a">
>                 <textobject><simpara>figure</simpara></textobject>
>             </mediaobject>
>         </figure>
>         <figure>
>             <title>B</title>
>             <mediaobject xml:id="b">
>                 <textobject><simpara>figure</simpara></textobject>
>             </mediaobject>
>         </figure>
>     </figure>
> </article>
>
> Do you have a better way of encoding subfigures (with cross-referencing) or
> is it completely out of scope for current DocBook (in which case I can
> submit a PR for DocBook 5.2)?
>
> Thank you in advance!
> Thibaut Cuvelier



-- 
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.
http://www.dpawson.co.uk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.