Wed January 11, 2012
■[LaTeX] 推論規則をレイアウトする bcprules.sty
今まで推論規則を書くときは proof.sty を使っていた.
\[ \infer[\mbox{\sc T-App}]{ \Gamma \vdash t_1\ t_2 : \tau_2 }{ \Gamma \vdash t_1 : \tau_1 \rightarrow \tau_2 & \Gamma \vdash t_2 : \tau_1 } \]
と書くと
のようにレイアウトされる.
しかし,前提の部分が長すぎる場合にどう改行してよいのか不明で*1,
\[ \infer[\mbox{\sc T-VeryLong}]{ \Gamma \vdash \mbox{foo}\ t_1\ t_2 : \mbox{bar}\ \alpha\ \beta }{ \Gamma \vdash t_1 : \mbox{very-long-constructor}\ \alpha & \Gamma \vdash t_2 : \mbox{another-very-long-constructor}\ \beta & \mbox{have-very-long-property}(\alpha, \beta) } \]
とかが Overfull \hbox というメッセージと共に
となってしまう.
Benjamin C. Pierce 先生の bcprules.sty を最近知った.
http://www.cis.upenn.edu/~bcpierce/papers/index.shtml
\infrule[T-App]{ \Gamma \vdash t_1 : \tau_1 \rightarrow \tau_2 \andalso \Gamma \vdash t_2 : \tau_1 }{ \Gamma \vdash t_1\ t_2 : \tau_2 }
と書くと
のようにレイアウトされる.まさに TAPL のレイアウトだ.
bcprules.sty の場合,先程のように前提が長い例は
\infrule[T-VeryLong]{ \Gamma \vdash t_1 : \mbox{very-long-constructor}\ \alpha \andalso \Gamma \vdash t_2 : \mbox{another-very-long-constructor}\ \beta \andalso \mbox{have-very-long-property}(\alpha, \beta) }{ \Gamma \vdash \mbox{foo}\ t_1\ t_2 : \mbox{bar}\ \alpha\ \beta }
となる.
また,普通に \\ で改行を入れることもできる.
\infrule[T-VeryLong]{ \Gamma \vdash t_1 : \mbox{very-long-constructor}\ \alpha \andalso \Gamma \vdash t_2 : \mbox{another-very-long-constructor}\ \beta \\ \andalso \mbox{have-very-long-property}(\alpha, \beta) }{ \Gamma \vdash \mbox{foo}\ t_1\ t_2 : \mbox{bar}\ \alpha\ \beta }
*1:\vbox 作ってその中に行毎に \hbox 作ってその中に書く,という方法でそれっぽいことはできた
トラックバック - http://d.hatena.ne.jp/eagletmt/20120111/1326251578
リンク元
- 11 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331128334440&ved=0CCsQFjAA&url=http://d.hatena.ne.jp/eagletmt/20120111/1326251578&ei=BmhXT_D9JIzJmAWEndGzDw&usg=AFQjCNGAva8ELfnjQwlExrZnkt91iaXwsQ&sig2=HGukkqzameZkTXH-dEbFD
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=推論規則&source=web&cd=9&ved=0CF0QFjAI&url=http://d.hatena.ne.jp/eagletmt/20120111/1326251578&ei=IdMbT8_CMqTNmQWR7eWVCg&usg=AFQjCNGAva8ELfnjQwlExrZnkt91iaXwsQ
- 5 http://d.hatena.ne.jp/
- 4 http://reader.livedoor.com/reader/
- 4 http://www.google.co.jp/url?sa=t&rct=j&q=eagletmt&source=web&cd=2&ved=0CCoQFjAB&url=http://d.hatena.ne.jp/eagletmt/&ei=wNgWT7OQNeaKmQWbqLzLAw&usg=AFQjCNEkP5hDU-CVwcmYLARkd5YGx5lnfQ
- 4 http://www.google.co.jp/url?sa=t&rct=j&q=latex 推論&source=web&cd=1&ved=0CCYQFjAA&url=http://d.hatena.ne.jp/eagletmt/20120111/1326251578&ei=YGorT72ZBYLKmAXB9ugB&usg=AFQjCNGAva8ELfnjQwlExrZnkt91iaXwsQ&sig2=RslOCkh-2u622Cx9slH_IA
- 3 http://d.hatena.ne.jp/Craftworks/20100908/1283941430
- 3 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1&ved=0CCgQFjAA&url=http://d.hatena.ne.jp/eagletmt/20120111/1326251578&ei=rvqbT8ahF6-uiQf_uLDeDg&usg=AFQjCNGAva8ELfnjQwlExrZnkt91iaXwsQ&sig2=0zsmldYM_n0Vzyv6ONTpSA
- 3 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cts=1331128522702&ved=0CDgQFjAC&url=http://d.hatena.ne.jp/eagletmt/mobile?sid=127&date=20120111§ion=1326251578&ei=bWhXT8i6JOmjmQXBw4HDDw&usg=AFQjCNHGpe01uL-qGUILHCs
- 3 http://www.google.co.jp/url?sa=t&rct=j&q=archlinux+fuse_b25&source=web&cd=2&ved=0CDgQFjAB&url=http://d.hatena.ne.jp/eagletmt/?of=10&ei=AH4fT62nH-H1mAWS_om5Dg&usg=AFQjCNEDqPcuYm1En8wlc-imXALoS5GGPQ





