# Are itemize and EBGaramond compatible?

This MWE works:

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{luainputenc}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{ebgaramond}

\makeatother

\usepackage{babel}
\begin{document}
Here is some plain text in Garamond
\end{document}


But it I put the text in itemize like this:

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{luainputenc}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{ebgaramond}

\makeatother

\usepackage{babel}
\begin{document}
\begin{itemize}
\item Here is some plain text in Garamond
\end{itemize}

\end{document}


I get an error:

! LaTeX Error: Font family TS1+EBGaramond-LF' unknown.


This is using pdflatex and texlive 2013 on fedora.

It does compile with luatex or xetex

Any idea what is going on?

-

Here's an edited version of your example that should theoretically work with all engines:

\documentclass{article}
\usepackage{ifluatex,ifxetex}

\ifluatex\else\ifxetex\else
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\fi\fi

\usepackage[english]{babel}

\usepackage{ebgaramond}

\begin{document}
\begin{itemize}
\item Here is some plain text in Garamond
\end{itemize}

\end{document}


However, there is a bug in the distributed file TS1EBGaramond-OsF.fd where the last few lines have LF instead of OsF: it should be

%% Generated by autoinst on 2013/02/13
%%
\ProvidesFile{TS1EBGaramond-OsF.fd}
[2013/02/13 (autoinst)  Font definitions for TS1/EBGaramond-OsF.]

\expandafter\ifx\csname EBGaramond@scale\endcsname\relax
\let\EBGaramond@@scale\@empty
\else
\edef\EBGaramond@@scale{s*[\csname EBGaramond@scale\endcsname]}%
\fi

\DeclareFontFamily{TS1}{EBGaramond-OsF}{}

\DeclareFontShape{TS1}{EBGaramond-OsF}{m}{n}{
<-> \EBGaramond@@scale EBGaramond12-Regular-osf-ts1
}{}

\DeclareFontShape{TS1}{EBGaramond-OsF}{m}{it}{
<-> \EBGaramond@@scale EBGaramond12-Italic-osf-ts1
}{}

\DeclareFontShape{TS1}{EBGaramond-OsF}{m}{sl}{ <-> ssub * EBGaramond-OsF/m/it }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{b}{n}{ <-> ssub * EBGaramond-OsF/m/n }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{b}{it}{ <-> ssub * EBGaramond-OsF/m/it }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{b}{sl}{ <-> ssub * EBGaramond-OsF/m/it }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{bx}{n}{ <-> ssub * EBGaramond-OsF/m/n }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{bx}{it}{ <-> ssub * EBGaramond-OsF/m/it }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{bx}{sl}{ <-> ssub * EBGaramond-OsF/m/it }{}

\endinput


but the last seven \DeclareFontShape declarations have LF instead of OsF in all places. Probably that part has been copied by the similar TS1EBGaramond-LF.fd and not edited.

Therefore you get the error message you mention when compiling with pdflatex, because the font description file refers to an unknown font family.

There are some possible workarounds.

1. Copy the distributed TS1EBGaramond-OsF.fd file to the document directory and edit it so that it appears as above.

2. Directly edit the distributed file (risky)

3. Add the necessary code to keep pdflatex happy:

\documentclass[english]{article}
\usepackage{ifluatex,ifxetex}

\ifluatex\else\ifxetex\else
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\fi\fi

\usepackage{babel}

\usepackage{ebgaramond}

\ifluatex\else\ifxetex\else
\normalfont
\makeatletter
\input{TS1EBGaramond-LF.fd}
\input{TS1EBGaramond-OsF.fd}
\makeatother
\DeclareFontShape{TS1}{EBGaramond-OsF}{m}{sl}{ <-> ssub * EBGaramond-OsF/m/it }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{b}{n}{ <-> ssub * EBGaramond-OsF/m/n }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{b}{it}{ <-> ssub * EBGaramond-OsF/m/it }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{b}{sl}{ <-> ssub * EBGaramond-OsF/m/it }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{bx}{n}{ <-> ssub * EBGaramond-OsF/m/n }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{bx}{it}{ <-> ssub * EBGaramond-OsF/m/it }{}
\DeclareFontShape{TS1}{EBGaramond-OsF}{bx}{sl}{ <-> ssub * EBGaramond-OsF/m/it }{}
\fi\fi

\begin{document}
\begin{itemize}
\item Here is some plain text in Garamond
\end{itemize}

\end{document}


In any case, you should mention the problem to the package maintainer.

-
Thanks. This works, as does Herbert's workaround. Should I report to the texlive mailing list or to the author listed on ctan? If the latter, how do I make contact? – user8786 Oct 1 '13 at 7:03
@user8786: To the author if possible. The (documentation of) the package should have contact information for the author. A suggestion: Do us a favour and change your username to something more telling than "user8786". – Martin Schröder Oct 1 '13 at 8:04
Note that the version of the EBGaramond support package released 2014/06/22 has fixed the problem – egreg Apr 2 at 21:51
@egreg Which version of TeX Live is the fix in? – Faheem Mitha Apr 3 at 8:58

\textbullet is not defined. Use

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{ebgaramond}
\renewcommand\labelitemi{$\bullet$}

\usepackage{babel}
\begin{document}
\begin{itemize}
\item Here is some plain text in Garamond
\end{itemize}

\end{document}


or use

\usepackage[lf]{ebgaramond}


then it defines \textbullet.

By the way: Using luainputenc with utf8 makes no sense. utf is used by default. And a version for all engines is:

\documentclass[english]{article}
\usepackage[lf]{ebgaramond}
\ifluatex\else\ifxetex\else\usepackage[utf8]{inputenc}\fi\fi
\usepackage{babel}

\begin{document}
\begin{itemize}
\item Here is some plain text in Garamond
\end{itemize}

\end{document}


this runs with pdflatex, xelatex and lualatex

-
I would recommend to define \textbillet instead: \def\textbullet{$\bullet$} – Boris Sep 30 '13 at 15:16
Of course \textbullet` is defined. The error has nothing to do with the fact it is defined or not. – egreg Sep 30 '13 at 15:47