我正在使用beamer
LaTeX 创建演示文稿。但似乎连字符被禁用了。至少对于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
:
不过,我完全同意您收到的评论:如果您确实需要自动连字,那么您应该考虑减少幻灯片上的文本量!
答案3
我想无论幻灯片上有多少文字,你都应该能够对文本进行音节划分。
当我需要时,我将整个幻灯片放在小页面环境中:
\begin{frame}
\begin{minipage}[l]{\textwidth}
Lots of text, formulas and figures...
\end{minipage}
\end{frame}
也许不是一个非常优雅的解决方案,但它对我来说有效。