如何在語法環境中右對齊文字?

如何在語法環境中右對齊文字?

使用套件grammar的環境syntax,我找不到在語法定義中右對齊文字的方法:

\documentclass{article}
\usepackage{syntax}

\begin{document}

\begin{grammar}
<expression> ::=
\alt <expression> $+$ <expression>         (addition)
\alt <expression> $*$ <expression>   (multiplication)
\end{grammar}

\end{document}

我希望 for(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}

在此輸入影像描述

相關內容