在生成的 PDF 文档的索引中可以看到 renewcommand 内的连字符惩罚

在生成的 PDF 文档的索引中可以看到 renewcommand 内的连字符惩罚

我试图阻止任何选择出现连字符。为什么?因为由于行不够宽而出现连字符是一种不好的书写风格。

我目前正在使用以下自定义\selection命令来执行此操作:

\let\OldSection\section
\renewcommand{\section}[1]{\OldSection{\hyphenpenalty=100000#1}}

它运行正常。但是昨天我注意到 Evince 和 Okular 侧边栏的索引发生了奇怪的事情。两者都显示以下内容:

=100000部分名称

在我的文档中,任何内容都无法访问\section{SectionName}。我该如何修复这个问题?在页面本身上,我确实得到了例如

2.3 节名称

显示正确。但是,很明显内部出了问题。还有其他方法可以完成我想做的事情吗?请注意,我只希望选定的命令(在我的情况下是部分,因为我的所有标题都放在一行中)没有连字符。

答案1

如果您想在所有级别的分段命令中禁止使用连字符,则应在文档的序言中提供适当的说明。例如,您可以提供以下两个说明:

\usepackage{sectsty}
\allsectionsfont{\raggedright}

正如大卫卡莱尔 (David Carlisle) 在评论中指出的那样,该指令\raggedright会自动抑制连字符。

顺便说一句,该指令\allsectionsfont适用于所有级别分段命令,从\part\chapter一直到\paragraph\subparagraph

相关内容