http://alloy.mit.edu/community/node/506
に、LaTeXでAlloyのリストを表示するサンプルがあったので試す。
\documentclass{jarticle} \usepackage{amsmath} \usepackage{listings,jlisting} \lstdefinelanguage{Alloy} {morekeywords={abstract, all, and, as, assert, but, check, disj, else, exactly, extends, fact, for, fun, iden, if, iff, implies, in, Int, int, let, lone, module, no, none, not, one, open, or, part, pred, run, seq, set, sig, some, sum, then, univ}, sensitive=true, morecomment=[l][\small\itshape]{--}, morecomment=[l][\small\itshape]{//}, morecomment=[s][\small\itshape]{/*}{*/}, % basicstyle=\sffamily, tabsize=2, columns=fullflexible, literate= {->}{{$\to$}}1 {^}{{$\mspace{-3mu}\hat{\quad}\mspace{-3mu}$}}1 {<}{$<$ }2 {>}{$>$ }2 {>=}{$\geq$}2 {=<}{$\leq$ }2 {<:}{{$<\mspace{-3mu}:$}}2 {:>}{{$:\mspace{-3mu}>$}}2 {=>}{{$\Rightarrow$ }}2 {+}{$+$ }2 {++}{{$+\mspace{-8mu}+$ }}2 {\~}{{$\mspace{-3mu}\tilde{\quad}\mspace{-3mu}$}}1 {!=}{$\neq$ }2 {*}{${}^{\ast}$}1 {.}{$\cdot$}1 {\#}{$\#$}1 } \begin{document} \lstset{language=Alloy} \begin{lstlisting}[numbers=left, numberstyle={\tiny\oldstylenums}, name=aName] /* ユーザ */ sig User {} /* ロール */ sig Role {} /* 権限 */ sig Permission {} run {} \end{lstlisting} \end{document}
記号の位置調整にmspaceが使われているのでamsmathが必要、ってとこで躓いていた。