# symbol \eth already defined when using libertinus(-otf) and lualatex [pandoc]

Using `libertinus` as fontfamily within a yaml-header of a `.md`-file and trying to convert with pandoc (2.9.2) and the pdf-engine `lualatex` (TL 2020, LuaLaTeX 1.12.0) I get the following error-message:

``````! LaTeX Error: Command `\eth' already defined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
...

l.240 ...mbol{\eth}            {\mathord}{AMSb}{"67}
``````

Steps to reproduce Take this mwe for the `.md`-file

``````---
title: Test
author: Author
date: \today
fontfamily: libertinus
---
This is a test-file.

ÄÜÖß

1234567890
``````

the command for the conversion is

``````pandoc -s libertinus-test.md --pdf-engine=lualatex -o libertinus-test.pdf
``````

I figured out that the problem is the line with the math-packages:

https://github.com/jgm/pandoc/blob/9d0506e4047f797a0672d7767830b59f1710d191/data/templates/default.latex#L100

Note: As soon as I change the fontfamily to `libertine` it is no problem. But same problem also occurs with `libertinus-otf` (by HV).

There is also an issue for this topic: https://github.com/alif-type/libertinus/issues/327

• You have to convince `pandoc` not to load `amssymb`. Jun 18, 2020 at 8:59
• and how can I do that without changing the default template? Jun 18, 2020 at 9:00
• Notify the `pandoc` people that loading `amssymb` along with `unicode-math` is nonsensical. As far as I can see, there is no conditional around `\usepackage{amssymb,amsmath}` in the default template, so you're doomed. Jun 18, 2020 at 9:12

The default `pandoc` template has

``````100 \usepackage{amssymb,amsmath}
101 \usepackage{ifxetex,ifluatex}
102 \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
103   \usepackage[\$if(fontenc)\$\$fontenc\$\$else\$T1\$endif\$]{fontenc}
104   \usepackage[utf8]{inputenc}
105   \usepackage{textcomp} % provide euro and other symbols
106 \else % if luatex or xetex
107 \$if(mathspec)\$
108   \ifxetex
109     \usepackage{mathspec}
110   \else
111     \usepackage{unicode-math}
112   \fi
113 \$else\$
114   \usepackage{unicode-math}
115 \$endif\$
``````

which unconditionally loads `amssymb`. This is the cause of your issues.

Note that loading `amssymb` along with `unicode-math` makes very little sense (if at all).

A more sensible template would have

``````\usepackage{amsmath}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[\$if(fontenc)\$\$fontenc\$\$else\$T1\$endif\$]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\usepackage{amssymb}
\else % if luatex or xetex
\$if(mathspec)\$
\ifxetex
\usepackage{amssymb}
\usepackage{mathspec}
\else
\usepackage{unicode-math}
\fi
\$else\$
\usepackage{unicode-math}
\$endif\$
``````
• please have a look at github.com/jgm/pandoc/issues/6469 and comment! Jul 4, 2020 at 4:11
• @lemzwerg Yes, there was an oversight, fixed my proposal. Jul 4, 2020 at 7:12
• "Note that loading amssymb along with unicode-math makes very little sense (if at all)" -- this seems to be wrong. See github.com/jgm/pandoc/issues/6825 -- when we removed amssymb, it seems we lost `\square` which we need for todo lists. Nov 11, 2020 at 17:24
• @JohnMacFarlane Abusing a math symbol font for text parts is not the best strategy. Nov 11, 2020 at 17:45
• I'm not sure we can rely on the existence of appropriate glyphs in the main font -- since users can specify their own, and we don't know what fonts are available. Do you have another suggestion? Nov 12, 2020 at 3:11