2010年8月6日

Fancythm

前一陣子研究亂七八糟的 latex 套件頗有心得
分享一個日本人製作的花俏邊框 "breakitembox" 環境
 和 模擬我的筆記的巨集 fthm, fprop, ...etc


[1] breakitembox

使用效果如圖示

使用方式:
% =======preamble區========
\usepackage{itembkbx,eclbkbox,ascmac}
% =======正文區========
\begin{breakitembox}[設定]{上方文字}
內文
\end{breakitembox}

詳細指令可以在 emath wiki 上查詢
安裝步驟(for MikTeX, windows):
  1. 下載懶人包



    • 懶人包中包含 emath 數十個sty, itembkbx.sty, eclbkbox.sty, ascmac.sty, ascgrp 字型
    • 這些其實都只是 itembkbx.sty 的前置sty
    • 因為日本人用的格式 jarticle 語法和標準形式有差 因此我有修改上面幾個檔案使在標準文章格式中能跑
  2. 解壓到 latex 資料夾裡面
    譬如說: C:\Program Files\MiKTeX 2.8\
  3. done!
[2] fancythm

其實就是寫一個巨集:

\newcommand{\fthm}[2]
{
    \begin{breakitembox}< parindent=0pt,hsep = 5pt>[l]{ {\bf Theorem} }
         #1 ~\\
         \rule{15.4cm}{0.05em}     \\
        {\color{blue}(proof)\\
        #2}
    \end{breakitembox}
}

在正文中使用

\fthm{定理敘述}{證明內文} 就可以了!


另外,單純使用上面的指令的話會有小問題
因為 latex 預設的 \newcommand 之引數無法吃"環境"
譬如說,試圖編譯:

\fthm{
    \begin{enumerate}
        \item This is so fancy
    \end{enumerate}
} % 定理敘述
{blah} % 證明內文

是不會過的!

解決方法其實很簡單
在 preamble \usepackage{xargs}
再把 newcommand 改成 newcommandx 就可以了


\newcommand{\fthm}[2]
{
    \begin{breakitembox}< parindent=0pt,hsep = 5pt>[l]{ {\bf Theorem} }
         #1 ~\\
         \rule{15.4cm}{0.05em}     \\
        {\color{blue}(proof)\\
        #2}
    \end{breakitembox}
}

沒有留言:

張貼留言