以下文档破坏了 alltt 第二行的缩进(管道符/竖线符未出现在上一行的等号下)。
\documentclass[14pt]{beamer}
\usepackage{fontspec}
\setmainfont{Hoefler Text}
\renewcommand\ttdefault{lmtt}
\usepackage{alltt}
\begin{document}
\begin{frame}[fragile]{Title}
This is some preliminary text
\begin{alltt}
Hol_datatype`ord = End of num
| Plus of ord \(\times\) num \(\times\) ord`
\end{alltt}
\end{frame}
\end{document}
如果我没有将 beamer 选项缩放到 14pt,或者如果我不使用 fontspec,问题就会消失。我确实想使用 fontspec,但很乐意考虑使用其他方法来缩放演示文稿中的所有内容
答案1
Latin Modern Mono 字体设置了单词间距的可伸缩性和可收缩性,我认为这是错误的。由于第二行相对于行宽过长,TeX 尝试使用单词间距可收缩性来压缩它,并且成功了,因为这个组件不为零。
纠正起来很简单:
\documentclass[14pt]{beamer}
\usepackage{fontspec}
\setmainfont{Hoefler Text}
\setmonofont[WordSpace={1,0,0}]{Latin Modern Mono}
\usepackage{alltt}
\begin{document}
\begin{frame}[fragile]
\frametitle{Title}
This is some preliminary text
\begin{alltt}
Hol_datatype`ord = End of num
| Plus of ord \(\times\) num \(\times\) ord`
\end{alltt}
\end{frame}
\end{document}
该键WordSpace
以三个数字作为值,这三个数字分别是默认字间间距、字间间距拉伸和收缩所乘的因子。