Code Monkey home page Code Monkey logo

Comments (12)

ProgramFan avatar ProgramFan commented on June 14, 2024

This is caused by the too small ordered list label width in your xsl. The default label width is 1.2em and you can fix it directly in your docbook xsl. See http://docbook.sourceforge.net/release/xsl/1.77.0/doc/fo/orderedlist.label.width.html for detail.

from asciidoctor-bibtex.

ProgramFan avatar ProgramFan commented on June 14, 2024

Since asciidoctor-fopub is not actively maintailed, I would recommend using asciidoctor-pdf instead to generate PDF directly from asciidoc documents.

from asciidoctor-bibtex.

getreu avatar getreu commented on June 14, 2024

Thank you!
The value I recommend is:

 <xsl:param name="orderedlist.label.width">1.9em</xsl:param>

Since asciidoctor-fopub is not actively maintained, I would recommend using asciidoctor-pdf instead to generate PDF directly from asciidoc documents.

I can not. For academic writing I need footnotes and hyphenation.
It is true that asciidoctor-fopub is neglected by our community.
I fully agree with @mojavelinux stateing:

"If the need arises, you can make full use of the huge choice of tools available for a DocBook workflow using Asciidoctor’s DocBook converter. That’s why mapping to an enterprise documentation format like DocBook remains a key use case for AsciiDoc."

As asciidotor-fopub alone keeps our HTML5 backend and asciidoctor-pdf in sync with docbook, we definitely should find a maintainer for it. I can contribute my style changes to get the asciidoctor-fopub output closer, but my xml knowledge is very limited. Anyway someone needs to interface with the docbook community and defend docbook standards in the asciidoctor community.

(PS: cc: mailing-list)

from asciidoctor-bibtex.

mojavelinux avatar mojavelinux commented on June 14, 2024

It's important to keep in mind that technically, asciidoctor-fopub isn't needed. It's just a toolkit that wraps the DocBook toolchain. There are other toolchain interfaces available, including a2x from AsciiDoc Python. asciidoctor-fopub was an experiment to create a toolkit that only relied on Java. I was able to demonstrate that is possible. We needed that before Asciidoctor PDF existed. Then Asciidoctor PDF happened. But that doesn't mean it has to be the only path to creating a PDF. If you take the DocBook files, you can feed them to any toolkit that runs DocBook. That's why I'm not convinced maintaining asciidoctor-fopub is the right effort. Perhaps it needs to evolve. If someone wants to run with it, I'd certainly support that.

And yes, I will get footnotes working in Asciidoctor PDF. It just takes time to figure out and implement. Hyphens can be done today via an extension. On a rainy afternoon, I might find time to contribute that the extensions lab.

from asciidoctor-bibtex.

mojavelinux avatar mojavelinux commented on June 14, 2024

The value I recommend is...

Keep in mind that fopub accepts xsl parameters. You can pass additional parameters such as this one to override what is set by default.

from asciidoctor-bibtex.

ProgramFan avatar ProgramFan commented on June 14, 2024

@getreu, I understand your needs, since I am also a asciidoctor-fopub user myself. But I agree with @mojavelinux that asciidoctor-fopub isn't needed technically. If you like, you can try pandoc to generate pdf from docbook produced by asciidoctor. It shall work, but I have not tried that.

from asciidoctor-bibtex.

ProgramFan avatar ProgramFan commented on June 14, 2024

I use the docbook backend mainly for Word document export (asciidoc -(asciidoctor)-> docbook -(pandoc)-> Word docx). I use fopub to generate pdf with CJK fonts before asciidoctor-pdf-cjk was born.

from asciidoctor-bibtex.

getreu avatar getreu commented on June 14, 2024

@mojavelinux and @ProgramFan ,

please read my answer
here

from asciidoctor-bibtex.

mojavelinux avatar mojavelinux commented on June 14, 2024

If you like, you can try pandoc to generate pdf from docbook produced by asciidoctor.

I'm not suggesting that you have to abandon the DocBook toolchain. I'm simply saying that asciidoctor-fopub isn't needed to use the DocBook toolchain. It's just a convenient way to run it (and adds an alternative theme).

All pandoc does is invoke latex (or xelatex). However, it does a dreadful job. I view pandoc as a blunt object. It works when you need to bust something up, but don't expect it to look pretty when you're done. It should be a last resort.

(If you want to make LaTeX, just use a2x or asciidoctor-latex).

from asciidoctor-bibtex.

ProgramFan avatar ProgramFan commented on June 14, 2024

I have mistakenly treat asciidoctor-fopub as another docbook toolchain. Now I understand that it is not and it should never be. asciidoctor-fopub is just a convinient wrapper to a selection of docbook tools and a asciidoctor-like theme to convert docbook to pdf documents.

So as far as docbook tools is concerned, asciidoctor-fopub has done its job pretty well. For a tool which is doing its job well, it is just normal to see no further commits. But this does not mean that asciidoctor-fopub is abandoned. It is still serving the needs live and well. Eventually, there are indeed progresses in asciidoctor-fopub, for example bumbping fop to 2.1.

Problems with the bundled theme is completely another problem. The theme conceptually shall not belong to asciidoctor-fopub. It is just one theme in the broad world of Docbook. Different person has different needs and preferences on the theme. So it is hard or even impossible to support all preferences. For example, most asciidoc document I write does not use ordered list with over 9 items, so the default 1.2em label width works pretty well. And I want the xref target to show Fig 1.1 instead of the figure caption. My preferences on the theme can and shall be addressed by maintaining my own copy of the docbook xsl, not by asking upstream to modify the bundled theme to fit my preference.

So I do not think asciidoctor-fopub is abondoned. It's live and well.

from asciidoctor-bibtex.

mojavelinux avatar mojavelinux commented on June 14, 2024

That's a pretty excellent summary.

What I think asciidoctor-fopub should focus on is documenting how to maintain your own XSL as a theme. There are a whole bunch of variables that asciidoctor-fopub introduces into the XSL stylesheet that make theming pretty reasonable. We may just need more variables (a lot like what the theme in Asciidoctor PDF is doing). See https://github.com/asciidoctor/asciidoctor-fopub/blob/master/src/dist/docbook-xsl/common.xsl#L5-L46.

Someone might also decide that they don't like how fopub is packaged and may want to resolve that. Using Gradle as the frontend can be awkward for some people.

from asciidoctor-bibtex.

getreu avatar getreu commented on June 14, 2024

We may just need more variables (a lot like what the theme in Asciidoctor PDF is doing).

Yes. I also added 2 variables in my pull request.

The theme conceptually shall not belong to asciidoctor-fopub

It should ship one default asciidoctor-theme that is coherent with our html5 theme. Customization can be offered through the above variables. The tricky part is to integrate with our extensions like maths or asciidoctor-bibtex and others.
Please see also our discussion here: http://discuss.asciidoctor.org/Does-Asciidoctor-silently-abondon-docbook-td4968.html#a4975

from asciidoctor-bibtex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.