如果在我的 .tex 文件中重现不需要的行为,我有
\documentclass[12pt]{report}
\usepackage{enumerate}
\usepackage[inline]{enumitem}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\usepackage[greek, english]{babel}
\begin{document}
\selectlanguage{greek}
\begin{enumerate}[label = \alph*)]
\item first line
\item second line
\end{enumerate}
\end{document}
我得到了这个输出,你可以看到字母旁边的方块如何摆脱它们?PS:我运行 XeTeX
答案1
这显然是你的机器上的 Times New Roman 版本有问题,因为我的机器上出现了“撇号”。虚线矩形表示字体中缺少一个字符。
如果您想将其从特定环境中删除,您可以回收我的答案;它是为polyglossia
和编写的xgreek
,但在这里也适用。
\documentclass[12pt]{report}
\usepackage{fontspec}
\usepackage[english,greek]{babel}
\usepackage[inline]{enumitem}
\usepackage{etoolbox}
\setmainfont{Times New Roman}
% recycled from https://tex.stackexchange.com/a/292127/4427
\makeatletter
\renewrobustcmd{\anw@true}{\let\ifanw@\iftrue}
\renewrobustcmd{\anw@false}{\let\ifanw@\iffalse}\anw@false
\newrobustcmd{\noanw@true}{\let\ifnoanw@\iftrue}
\newrobustcmd{\noanw@false}{\let\ifnoanw@\iffalse}\noanw@false
\renewrobustcmd{\anw@print}{\ifanw@\ifnoanw@\else\numer@lsign\fi\fi}
\newrobustcmd{\noanw}{\noanw@true}
\makeatother
\begin{document}
\begin{enumerate}[label = \noanw\alph*)]
\item first line
\item second line
\end{enumerate}
\end{document}
请注意,\selectlanguage{greek}
如果最后加载,则不需要greek
。
此外,enumerate
还要enumitem
互相争斗,所以只需要其中一个加载(后者更加强大)。
最后建议:当涉及希腊语fontspec
时应先加载。babel
如果您想从文档中完全删除“撇号”,则可以使用其他解决方案
\documentclass[12pt]{report}
\usepackage{fontspec}
\usepackage[english,greek]{babel}
\usepackage[inline]{enumitem}
\usepackage{etoolbox}
\setmainfont{Times New Roman}
% see https://tex.stackexchange.com/a/173572/4427
\renewcommand\textdexiakeraia{}
\begin{document}
\begin{enumerate}[label = \alph*)]
\item first line
\item second line
\end{enumerate}
\end{document}