如何防止智能图表连字?

如何防止智能图表连字?

在描述性图表中,当文本中有两行以上时,如何防止智能图表对文本进行连字符处理?添加\raggedright对我来说不起作用。

一个最小的例子

\documentclass{article}
\usepackage{smartdiagram}
\begin{document}
    \smartdiagramset{description title text width=1.5cm,
    description text width=7cm,description width=8cm}
    \smartdiagram[descriptive diagram]{
      {x,the contribution to the projection Xxxxxxxxx Xxxxx}}

\end{document}

请注意,从技术上讲,我可以将宽度改得非常宽,但是当有太多长描述时就太麻烦了......

答案1

抑制组内的连字符的最简单方法是:

在命令的本地组中, 添加

\hyphenpenalty10000
\exhyphenpenalty10000

这些设置分别使用控制普通单词和已经包含连字符的单词的连字符的原始属性来抑制连字符。当您退出该组时,这些值会自动恢复为正文的正常值。

答案2

一个快速的解决方法是使用命令\mbox{not hyphenated},因为该命令不允许对包含的单词进行连字符连接。

或者您可以使用\\来强制在描述中换行。

或者你可以使用命令\hyphenation{...}强制列出的单词在完全的文档。这个词Donaudampfschifffahrt是一个很长的德语单词,我用它来显示效果...

请参阅以下 MWE(参见标记<======):

\documentclass{article}
\hyphenation{Donaudampfschifffahrt}% <==================================
\usepackage{smartdiagram}
\begin{document}
\smartdiagramset{description title text width=1.5cm,
  description text width=7cm,description width=8cm}
\smartdiagram[descriptive diagram]{
  {x,the contribution to the \mbox{projection} Xxxxxxxxx Xxxxx}% <==============
}

\smartdiagram[descriptive diagram]{
  {x,the contribution to the projection\\ Xxxxxxxxx Xxxxx}% <==============
}

\smartdiagram[descriptive diagram]{
  {x,the contribution to the Donaudampfschifffahrt\\ Xxxxxxxxx Xxxxx}% <==============
}
\end{document}

结果:

上述 mwe 的结果

相关内容