
使用套件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}