Ich bereite eine Präsentation vor und verwende eine Beamer-Vorlage. Ich muss die Schriftgröße eines bestimmten Algorithmus erhöhen (es handelt sich nicht um eine globale Änderung). Der Latex-Code lautet:
\begin{frame}{Serial Breadth-First Search}
\begin{algorithm}[H]
\begin{algorithmic}[1]
\Require Graph G, Node root
\Worklist $wl$ = \{ root \};
\State root.level = 0;
\While{($wl \neq \emptyset$)}
\State $u = DEQUEUE(wl)$;
\ForEach{($v \in Vertices(G)$ such that $(u, v) \in Edges(G)$)} \{
\hspace{.3cm} \textit{// Neighbors of u}
\If{(v.level $>$ u.level + 1)} \{
\State v.level = u.level + 1;
\State $ENQUEUE(wl, v)$;
\EndIf
\EndFor \State \} \}
\EndWhile \State \}
\end{algorithmic}
\end{algorithm}
\end{frame}
Ich weiß nicht, wie das geht. Kann mir jemand helfen? Vielen Dank im Voraus.
Antwort1
Um die Schriftgröße für einen bestimmten Rahmen zu ändern, können Sie einen der Befehle zum Ändern der Schriftgröße am Anfang des Rahmens ausführen (ähnlich wie inWie verwende ich eine bestimmte Schriftart für einen kleinen Textabschnitt in meinem Dokument?). Wenn Sie sich für die gewünschte Größe interessieren, finden Sie unterWelche Schriftgröße (pt) entspricht \Groß usw.?
Unten habe ich Ihr Setup nachgebautohneÄndern der Schriftgröße, da der Algorithmus sonst nicht passen würde. Ich habe jedoch angegeben, wo Sie Ihren Schriftgrößenbefehl platzieren können. Weitere Änderungen umfassen die Neudefinition der Funktionsweise der Kontrollstrukturen – Sie scheinen auf der Suche nach einer Gruppierung zu sein {
... }
um den Umfang einzugrenzen.
\documentclass{beamer}
\usepackage{algorithm,algpseudocode}
\algrenewtext{For}[1]{\algorithmicfor\ (#1)\ \{}
\algrenewtext{EndFor}{\}}
\algrenewtext{If}[1]{\algorithmicif\ (#1)\ \algorithmicthen\ \{}
\algrenewtext{EndIf}{\}}
\algrenewtext{While}[1]{\algorithmicwhile\ (#1)\ \algorithmicdo\ \{}
\algrenewtext{EndWhile}{\}}
\algnewcommand{\Worklist}{\item[\textbf{Worklist:}]}
\begin{document}
\begin{frame}{Serial Breadth-First Search}
% \tiny \scriptsize \footnotesize \small % <------ make font smaller
% \normalsize % <--------------------------------- normal font size
% \large \Large \LARGE \Huge % <------------------ make font larger
\begin{algorithmic}[1]
\Require Graph G, Node root
\Worklist $wl$ = \{ root \};
\State root.level = 0;
\While{$wl \neq \emptyset$}
\State $u = DEQUEUE(wl)$;
\For{$v \in Vertices(G)$ such that $(u, v) \in Edges(G)$}
\hspace{.3cm} \textit{// Neighbors of u}
\If{v.level $>$ u.level + 1}
\State v.level = u.level + 1;
\State $ENQUEUE(wl, v)$;
\EndIf
\EndFor
\EndWhile
\end{algorithmic}
\end{frame}
\end{document}