使用包grammar
的环境syntax
,我无法找到在语法定义中右对齐文本的方法:
\documentclass{article}
\usepackage{syntax}
\begin{document}
\begin{grammar}
<expression> ::=
\alt <expression> $+$ <expression> (addition)
\alt <expression> $*$ <expression> (multiplication)
\end{grammar}
\end{document}
(addition)
我希望(multiplication)
在输出中右对齐。我能找到的最接近的答案是:
具有编号规则的语法
但我无法理解解决方案,也无法重现这种情况。看来这部分几乎可以解决问题:
\hskip\dimexpr\linewidth-\labelwidth+\grammarindent-\labelsep
但我找不到获得正确价值的方法......
答案1
一个简单的\hfill
方法似乎可以完成工作(showframe
仅用于视觉指导):
\documentclass{article}
\usepackage{syntax}
\usepackage{showframe}
\begin{document}
\begin{grammar}
<expression> ::= <ident>
\alt <expression> $+$ <expression> \hfill (addition)
\alt <expression> $*$ <expression> \hfill (multiplication)
\end{grammar}
\end{document}