为什么 UTF8 在表格中无法像在普通文本中那样工作?我尝试在表格中写一个小写的 sigma。在普通文本中,我只需输入 σ,它就会正确显示。但在表格中输入 σ,它什么也不显示,只能输入一个空格。因此,我必须使用 \sigma。我正在使用 LuaLaTeX 进行编译,因此 UTF8 支持应该不是问题。此外,例如,± 无需任何技巧即可工作。那么,为什么所有 UTF8 符号在表格中的工作方式都不像在文本中那样呢?
编辑:最小工作样本
\documentclass{article}
\usepackage{fontspec}
\setmainfont{arial}[
Extension = .ttf,
UprightFont = *,
BoldFont = *bd,
ItalicFont = *i,
BoldItalicFont = *bi]
\begin{document}
\renewcommand{\familydefault}{\sfdefault}
σ
\begin{table}
\begin{tabular}{c|c}
σ & \sigma \\
\end{tabular}
\end{table}
\end{document}
答案1
如果要切换\familydefault
,则应在之前进行\begin{document}
,或者在之后明确使用\normalfont
才能实际使用它,否则当前加载的字体仍然是之前的默认字体。
还将\setmainfont
字体设置为默认衬线字体(因为这是默认设置下的主要字体)。
如果你想使用它Arial
作为你的无衬线字体,并使用该无衬线字体作为默认字体,你可以加载
\documentclass{article}
\usepackage{fontspec}
\setsansfont{arial}[
Extension = .ttf,
UprightFont = *,
BoldFont = *bd,
ItalicFont = *i,
BoldItalicFont = *bi]
\renewcommand{\familydefault}{\sfdefault}
\begin{document}
σ
\begin{table}
\begin{tabular}{c|c}
σ & \sigma \\
\end{tabular}
\end{table}
\end{document}
答案2
tabular
这与环境重置为文档默认的拉丁现代无衬线字体无关table
,该字体没有希腊语
\documentclass{article}
\usepackage{fontspec}
\setmainfont{arial}[
Extension = .ttf,
UprightFont = *,
BoldFont = *bd,
ItalicFont = *i,
BoldItalicFont = *bi]
\showoutput
\begin{document}
\renewcommand{\familydefault}{\sfdefault}
1σ
\begin{table}
2σ
\end{table}
\end{document}