1

What is the preferred way of using bibliographies with Tex4ebook? I have tried using bibtex and biblatex but cannot get the bibliography to show on the epub.

I tried the method in In which order execute htlatex and bibtex?, but it doesn't produce any references?

I'm using the latest Miktex if that's relevant.

Thank you.

@Michal.21

The log file is at https://1drv.ms/u/s!AuihY7Zd3CrNdgot943134AzNDc

Thank you.

Update 2:

Miktex has an old file: biblatex.4ht (2015-02-04-14:23).

I replaced it with your version and now the sequence make4ht - biber - make4ht gives a proper html file with hyperlinks for the reference. A single make4ht gives the reference without the links. Tex4ebook still doesn't work.

Thank you.

5
  • I don't get such warnings in the log. Could you try to use the current biblatex.4ht file? It is possible that Miktex uses a wrong version.
    – michal.h21
    Dec 21, 2016 at 11:50
  • so it seems that miktex has really old biblatex.4ht version. could you also try to install tex4ebook manually?
    – michal.h21
    Dec 21, 2016 at 13:56
  • @michal.h21It didn't work either. I suspect my Miktex is corrupted. I will try a new install or switch to Texlive. Many thanks.
    – user41974
    Dec 22, 2016 at 3:41
  • I should update tex4ebook as well, there was a lot of changes recently, I wanted to wait until I finish some features, but it is possible that the version in TeX distributions has some issues which I can't see, as I use the development version.
    – michal.h21
    Dec 22, 2016 at 7:51
  • @michal.h21 An update for the distributions would be very useful. Also why not include the helper functions like addfont4ht.sty as well in the archive so users have everything they need to run tex4ebook. Thanks.
    – user41974
    Dec 22, 2016 at 10:03

2 Answers 2

4

You can use the make4ht build file to call biber or bibtex directly in the tex4ebook run. Save the following file as mybuild.mk4:

Make:add("biber","biber ${input}")
Make:htlatex {}
Make:biber {}
Make:htlatex {}

You can select the build file using -e option (alternatively, you can name it as your TeX file, but with .mk4 extension)

tex4ebook -e mybuild.mk4 filename.tex

The following sample file

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[czech]{babel}
\usepackage{biblatex}
\addbibresource{xampl.bib}
\title{Základní dokument v češtině}
\author{Michal Hoftich}
\begin{document}
\maketitle
\tableofcontents
\section{Úvod}
Příliš žluťoučký kůň \textit{úpěl} \textbf{ďábelské ódy} \parencite{article-full}

\printbibliography
\end{document}

Is displayed in this way:

enter image description here

11
  • Thanks for the response but I still don't get the references. I tried the MWE from github.com/plk/biblatex/issues/310 and it doesn't give the reference either. Normal LaTex works fine and gives the reference.
    – user41974
    Dec 21, 2016 at 2:09
  • @user41974 that example works fine for me. Do you get any compilation errors? Could you try to compile it using make4ht instead of tex4ebook?
    – michal.h21
    Dec 21, 2016 at 8:07
  • @Michael.h21 make4ht doesn't work either. Looking at the log file it gives "LaTeX Warning: There were undefined references. Package biblatex Warning: Please (re)run Biber". I did this and ran make4ht again but it doesn't help. Are you using Miktex?
    – user41974
    Dec 21, 2016 at 10:20
  • @Michael.h21 It also gives an error "l.20 --- TeX4ht warning --- Problem with 'list' environment. Expected syntax: \begin{list}{label}{spacing} \item.... \end{list} ---" near the end of the log file.
    – user41974
    Dec 21, 2016 at 10:25
  • @user41974 no, I am using TL on Linux. could you update your question with full log of tex4ebook run? It should be possible to get it using tex4ebook -e mybuild.mk4 filename > full.log
    – michal.h21
    Dec 21, 2016 at 11:20
3

Save the following as mybuild.mk4 and run with tex4ebook -e mybuild.mk4 filename.tex, notice the extra htlatex to complete the cycle. It worked for me.

Make:add("biber","biber ${input}")
Make:htlatex {}
Make:biber {}
Make:htlatex {}
Make:htlatex {}
2
  • Welcome to the TeX.SE. Please, can you add an explanation, with a complete code or observation?
    – Sebastiano
    Nov 10, 2020 at 15:29
  • 2
    I suggest to use latexmk, i.e. Make:latexmk {} (this is a new feature), which computes automatically what bib engine you need and the times of latex to run.
    – Yai0Phah
    Nov 10, 2020 at 18:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .