![如何强制在章节标题中使用连字符?](https://linux22.com/image/256585/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%E5%9C%A8%E7%AB%A0%E8%8A%82%E6%A0%87%E9%A2%98%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%BF%9E%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
我有一份(德语和英语)文档,它使用来自 KOMA 包的 scrbook 类,章节标题中有较长的德语单词。我希望 Latex 在必要时为这些单词添加连字符,但我不知道该怎么做。
一个简单的例子如下:
\documentclass{scrbook}
\usepackage[ngerman,english]{babel}
\selectlanguage{ngerman}
\hyphenation{men-schen-rechts-ana-logen}
\selectlanguage{english}
\hyphenation{}
\begin{document}
\selectlanguage{ngerman}
\chapter{Noch viel viel mehr zu menschenrechtsanalogen Dingen}
\chapter{Noch viel viel mehr zu men\-schen\-rechts\-ana\-logen Dingen}
\end{document}
我运行它xelatex hyph.tex
并得到如下章节行:
并且我希望将“menschenrechtsanalogen”这个词加连字符。
答案1
重新定义\raggedsection
(参见英文版手册第 91-92 页KOMA-Script
)。一种选择是将章节标题排版为对齐:
\documentclass{scrbook}
\renewcommand*{\raggedsection}{}% default is \raggedright
\usepackage[ngerman]{babel}
\hyphenation{men-schen-rechts-ana-logen}
\usepackage{lipsum}
\begin{document}
\chapter{Noch viel viel mehr zu menschenrechtsanalogen Dingen}
\lipsum[1]
\end{document}
另一个选择是使用\RaggedRight
命令ragged2e
包(这结合了左对齐和连字符的可能性):
\documentclass{scrbook}
\usepackage{ragged2e}
\renewcommand*{\raggedsection}{\RaggedRight}% default is \raggedright
\usepackage[ngerman]{babel}
\hyphenation{men-schen-rechts-ana-logen}
\usepackage{lipsum}
\begin{document}
\chapter{Noch viel viel mehr zu menschenrechtsanalogen Dingen}
\lipsum[1]
\end{document}
请注意,这两种方法都可以与指定连字点结合使用手动(与\-
)在 的论点中\section
。这样做的动机是,在连续文本中可能存在可以接受的连字符点,但在章节标题中却有些不合适。