![algorithm2e 和 Beamer - 如何用较小的字体使算法更宽?](https://linux22.com/image/264195/algorithm2e%20%E5%92%8C%20Beamer%20-%20%E5%A6%82%E4%BD%95%E7%94%A8%E8%BE%83%E5%B0%8F%E7%9A%84%E5%AD%97%E4%BD%93%E4%BD%BF%E7%AE%97%E6%B3%95%E6%9B%B4%E5%AE%BD%EF%BC%9F.png)
我想让文档algorithm2e
中的环境更宽beamer
。事实上,我必须让你\scalebox
看到我的所有算法。有没有办法让算法更宽,字体比标准文本更小 不使用比例尺盒? 我的 M(仅仅不是)WE 尺寸看起来很适合我。
输出
M(仅仅不是)WE
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[french, lined]{algorithm2e}
\usepackage{beamerthemesplit}
\begin{document}
\frame{
\frametitle{Premier algorithme}
\scalebox{0.65}{
\begin{algorithm}[H]
\Begin{
\ForEach{Case $C$ de la grille $G$}{
\If{$| poss(C) | \geq 2$}{
\ForEach{$p \in poss(C)$}{
$isole \leftarrow Vrai$
\\
\ForEach{Bloc $B$ contenant la case $C$}{
\ForEach{Case $C_B \neq C$ du bloc $B$}{
\If{$p \in poss(C_B)$}{
$isole \leftarrow Faux$
\\
Ne plus tester d'autres cases $C_B$.
}
}
\If{$isole = Vrai$}{
$g_{ij} \leftarrow \{ p \}$ où $(i,j) = coord(C)$
\\
$G \leftarrow \texttt{MettreAJour}(G)$
\\
Ne plus tester les blocs $B$ contenant $C$
}
}
\If{$isole = Vrai$}{
Ne plus tester les possibilités restantes de la case $C$
}
}
}
}
\Return $G$
}
\end{algorithm}
}
}
\end{document}
答案1
这里的问题很明显...:)
您正在将常规允许的算法缩小\textwidth
到其原始大小的 65%。由于此缩放已完成后设置算法时,传统的换行符仍然存在,使得算法看起来像是在右侧“缩短”了。
这是算法的缩写版本,显示了传统的换行符:
以下是更新内容,其中算法如下第一的设置minipage
宽度为 的框1.53846\textwidth
,结果\scalebox{0.65}
为 的框\textwidth
(即 1.53846 x 0.65 ~ 1):
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[lined]{algorithm2e}
\usepackage{beamerthemesplit}
\begin{document}
\begin{frame}
\frametitle{Premier algorithme}
\scalebox{0.65}{%
\begin{algorithm}[H]
\Begin{
\ForEach{Case $C$ de la grille $G$}{
\If{$| poss(C) | \geq 2$}{
\ForEach{$p \in poss(C)$}{
$isole \leftarrow Vrai$
\If{$isole = Vrai$}{
Ne plus tester les possibilités restantes de la case $C$
}
}
}
}
\Return $G$
}
\end{algorithm}}
\end{frame}
\begin{frame}
\frametitle{Premier algorithme}
\scalebox{0.65}{\begin{minipage}{1.53846\textwidth}
\begin{algorithm}[H]
\Begin{
\ForEach{Case $C$ de la grille $G$}{
\If{$| poss(C) | \geq 2$}{
\ForEach{$p \in poss(C)$}{
$isole \leftarrow Vrai$
\If{$isole = Vrai$}{
Ne plus tester les possibilités restantes de la case $C$
}
}
}
}
\Return $G$
}
\end{algorithm}%
\end{minipage}}
\end{frame}
\end{document}
如果您希望保留算法的自然外观而不使用\scalebox
,algorithm2e
提供\SetAlFnt{<font>}
您可以为整个算法设置字体大小(或其他字体格式选项)的位置。例如,\SetAlFnt{\footnotesize}
将字体大小减小为\footnotesize
。