Beamer 演示文稿中的连字

Beamer 演示文稿中的连字

我正在使用beamerLaTeX 创建演示文稿。但似乎连字符被禁用了。至少对于itemize环境内的项目和块内的文本,我没有看到任何连字符,而通过目视检查,我希望 LaTeX 能够自动连字符并生成更漂亮的段落。

是否有任何特定的命令可以强制 LaTeX 运行自动连字?

答案1

在某些语言中,单词会非常长。因此,像某些评论中建议的那样减少单词数量根本不可能。您可以parbox在文本周围设置一个,以使连字符起作用。例如:

\parbox{\linewidth}{text with possible long words to hyphenate}

这是一个完整工作的示例,用作\hy{text}多次重复使用命令的助手:

\documentclass{beamer}
\usepackage[ngerman]{babel} % example language with long words                                                                                                                                                                                
\def\hy#1{\parbox{\linewidth}{#1}} % helper for using command several times                                                                                                                                                                   
\begin{document}
\begin{frame}
  \hy{Die Speicherverwaltungsadressen der heutigen
  Rechtsschutzversicherungsgesellschaften eines
  Donaudampfschiffahrtsgesellschaftsmitarbeiters haben
  siebentausendzweihundertvierundachtzig Zeilen.}
  \bigskip
  \begin{itemize}
    \item \hy{Speicherverwaltungsadressen Rechtsschutzversicherungsgesellschaften}
  \end{itemize}
\end{frame}
\end{document}

使用和不使用 parbox 的结果:


没有连字符


带连字符

答案2

实际上,beamer不会禁用连字符。但是,由于\raggedright不使用对齐文本,连字几乎变得不可能.您可以使用ragged2e提供宏的包\RaggedRight可以获得更好的结果:

\documentclass{beamer}
\usepackage{ragged2e}
\let\raggedright=\RaggedRight
\usepackage{kantlipsum} % only used to generate dummy text
\begin{document}
\begin{frame}
\begin{itemize}
\item \kant[1]
\end{itemize}
\end{frame}
\end{document}

\raggedright比较和的输出\RaggedRight

左侧为 \raggedright(无连字符),右侧为 \RaggedRight(带连字符)

危险 不过,我完全同意您收到的评论:如果您确实需要自动连字,那么您应该考虑减少幻灯片上的文本量!

答案3

我想无论幻灯片上有多少文字,你都应该能够对文本进行音节划分。

当我需要时,我将整个幻灯片放在小页面环境中:

\begin{frame}
\begin{minipage}[l]{\textwidth}

Lots of text, formulas and figures...

\end{minipage}
\end{frame}

也许不是一个非常优雅的解决方案,但它对我来说有效。

相关内容