自定义 Linux 操作系统中的 TexStudio 和 TexLive 2021“包 inputenc 错误:无效的 UTF-8 字节序列”

自定义 Linux 操作系统中的 TexStudio 和 TexLive 2021“包 inputenc 错误:无效的 UTF-8 字节序列”

我想知道如何让符号能够被编译并显示?

因此,我可以使用 omega 符号代替书写$\omega$,或者使用 pi 符号代替$\pi$

我可以在其他装有 TexLive 版本 2017 的 Linux 操作系统(CAELinux)中执行此操作并进行编译,但无法在该装有 TL 版本 2021 的操作系统上执行此操作。我需要调整哪些包或设置?

这是 MWE:


\documentclass[twoside]{book}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{amsfonts}
\usepackage{latexsym}
\usepackage{enumerate}
\usepackage{wrapfig}
\usepackage{siunitx}
\usepackage{cite}
\usepackage{cancel}
\usepackage{ulem}
\usepackage{makecell}
\usepackage[utf8]{inputenc}

\begin{document}
\begin{equation}
        \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}} = 0 \\
        a^{2} \left( \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}}  \right) = \frac{∂w}{∂t} \\
        a^{2} \left( \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}}  \right) = \frac{∂^{2}w}{∂t^{2}} 
\end{equation}

\end{document}

1

2

答案1

输出的重要部分是:

! LaTeX Error: Unicode character ∂ (U+2202)
               not set up for use with LaTeX.

有两种方法可以解决这个问题。首先,如果你可以使用 LuaLaTeX 或 XeLaTeX,该unicode-math包确实能理解每个 Unicode 数学符号。(PDFlaTex 只理解已加载的旧式 8 位编码的字符。)删除一些多余的包unicode-math,这样就可以了:

\documentclass[twoside]{book}
\usepackage{mathtools}
\usepackage{unicode-math}
\usepackage{enumerate}
\usepackage{wrapfig}
\usepackage{siunitx}
\usepackage{cite}
\usepackage{cancel}
\usepackage{ulem}
\usepackage{makecell}

\begin{document}
\begin{equation}
        \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}} = 0 \\
        a^{2} \left( \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}}  \right) = \frac{∂w}{∂t} \\
        a^{2} \left( \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}}  \right) = \frac{∂^{2}w}{∂t^{2}} 
\end{equation}

\end{document}

Lstin 现代样本

如果您需要使用 PDFLaTeX,则需要设置该字符。一种方法是使用newunicodechar

\documentclass[twoside]{book}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{latexsym}
\usepackage{enumerate}
\usepackage{wrapfig}
\usepackage{siunitx}
\usepackage{cite}
\usepackage{cancel}
\usepackage{ulem}
\usepackage{makecell}
\usepackage{newunicodechar}
\usepackage[utf8]{inputenc}

\newunicodechar{∂}{\partial}

\begin{document}
\begin{equation}
        \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}} = 0 \\
        a^{2} \left( \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}}  \right) = \frac{∂w}{∂t} \\
        a^{2} \left( \frac{∂^{2}w}{∂x^{2}} + \frac{∂^{2}w}{∂y^{2}} + \frac{∂^{2}w}{∂z^{2}}  \right) = \frac{∂^{2}w}{∂t^{2}} 
\end{equation}

\end{document}

计算机现代样本

如果您还希望能够在文本模式下使用,而不是$∂$,您可以将命令更改为

\newunicodechar{∂}{\ensuremath{\partial}}

但我建议不要这么做。

相关内容