私は overleaf で、使用するコンパイラを切り替えることができます。私はポスターに取り組んでおり、コンパイラとして LuaLatex を使用する必要があります。ただし、行 "\DeclareUnicodeCharacter{2212}{-}" によって "未定義の制御シーケンス" エラーが発生します。
私の主張を説明するために例を挙げます。
\documentclass[pt]{beamer}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage{upgreek}
\usepackage{mathtools}
\usetheme{Berlin}
\DeclareUnicodeCharacter{2212}{-}
\begin{document}
\begin{frame}{Example}
The equation is
\begin{equation}
y=mx+c
\end{equation}
\end{frame}
\end{document}
「pdfLatex」コンパイラを選択すると正常にコンパイルされますが、「LuaLatex」コンパイラを使用するとコンパイルが失敗します。LuaLatex コンパイラに使用できる代替行 (\DeclareUnicodeCharacter{2212}{-} の代わり) はありますか? よろしくお願いします。
答え1
pdfLaTeX または LuaLaTeX のいずれかを使用してドキュメントをコンパイルできるように、プリアンブルを変更することをお勧めします。
\documentclass[pt]{beamer}
\usetheme{Berlin}
\usepackage[brazil]{babel}
\usepackage{iftex} % for '\iftutex' and related conditionals
\iftutex
\usepackage{fontspec} % optional
\else
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc} % 'utf8' is the default nowadays
\DeclareUnicodeCharacter{2212}{-}
\usepackage{upgreek}
\fi
\usepackage{mathtools} % no need to load 'amsmath' separately
\begin{document}
\begin{frame}{Example}
The equation is
\begin{equation}
y=mx-c
\end{equation}
\end{frame}
\end{document}
この設定では、ドキュメントのコンパイルに pdfLaTeX が使用される場合にのみ、inputenc
およびパッケージがロードされます。fontenc
補足:mathtools
パッケージは自動的にロードされるためamsmath
、別途ロードする必要はありませんamsmath
。(また、クラスではbeamer
、amsmath
パッケージはデフォルトでロードされます...)
答え2
newunicodechar
どのエンジンでもこのパッケージを使用できます:
\usepackage{newunicodechar}
\newunicodechar{−}{-} % U+2212
ただし、LuaLaTeX で Unicode 入力を使用する場合は、のオプションunicode-math
を使用してロードする方がよいでしょう。professionalfonts
beamer