我是 Latex 新手,正在用希腊语写文档。我的问题是,如果英文单词不适合一行,它就会断开,但希腊语单词不会断开,看起来很糟糕。我做了一些研究,我找到了如何使用此命令部分解决问题\hyphenation{απο-τελέσματα}
。但这很痛苦,因为有很多单词不会断开。有没有办法默认检测并断开希腊语单词?如果它不能以正确的方式(语法上)断开它们,这也不是问题,因为我将使用上述命令手动修复它们(希望它们比初始单词少)。
以下是我使用的字体和包:
\documentclass[runningheads,a4paper]{llncs}
\usepackage{amssymb}
\setcounter{tocdepth}{3}
\usepackage{graphicx}
\usepackage{fontspec}
\usepackage{tikz}
\usepackage{listings}
\usepackage{color}
\setmainfont{DejaVu Serif}
\hyphenation{απο-τελέσματα}
\hyphenation{προγραμματι-σμός}
\lstset{frame=tb,
language=C,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3
}
\begin{document}
.... rest of document ...
答案1
使用 babel (或 polyglossia) 并正确设置语言。然后连字将起作用:
\documentclass[runningheads,a4paper]{llncs}
\usepackage{fontspec}
\usepackage[greek,english]{babel}
\setmainfont{DejaVu Serif}
\textwidth=4mm %for demonstration
\begin{document}
%no hyphenation:
αποτελέσματα
προγραμματισμός
%now it works:
\selectlanguage{greek}
αποτελέσματα
προγραμματισμός
\end{document}