
¿Cómo puedo poner un marco alrededor de la sintaxis gramatical en LaTeX como la listings
que usamos frame = single
? Por ejemplo, para esta gramática:
\documentclass{article}
\usepackage{syntax}
\begin{document}
\begin{grammar}
<statement> ::= <ident> `=' <expr>
\alt `for' <ident> `=' <expr> `to' <expr> `do' <statement>
\alt `{' <stat-list> `}'
\alt <empty>
<stat-list> ::= <statement> `;' <stat-list> | <statement>
\end{grammar}
\end{document}
¡Gracias por cualquier ayuda!
Respuesta1
Una forma con framed
el paquete:
\documentclass{article}
\usepackage{syntax}
\usepackage{framed}
\begin{document}
\begin{framed}
\begin{grammar}
<statement> ::= <ident> `=' <expr>
\alt `for' <ident> `=' <expr> `to' <expr> `do' <statement>
\alt `{' <stat-list> `}'
\alt <empty>
<stat-list> ::= <statement> `;' <stat-list> | <statement>
\end{grammar}
\end{framed}
\end{document}
Respuesta2
El enfoque muy básico sin paquetes: a minipage
con a \fbox{}
:
\documentclass{article}
\usepackage{syntax}
\begin{document}
\fbox{\begin{minipage}{9cm}
\begin{grammar}
<statement> ::= <ident> `=' <expr>
\alt `for' <ident> `=' <expr> `to' <expr> `do' <statement>
\alt `{' <stat-list> `}'
\alt <empty>
<stat-list> ::= <statement> `;' <stat-list> | <statement>
\end{grammar}
\end{minipage}}
\end{document}