TeX 的腳註怎麼設置比較合理?

默認設置下,數學公式前後出現的腳註容易與指數之類相混淆。

加入

def hefootnote{small extcircled{ inyarabic{footnote}}}

可以實現帶圈的效果。

但是腳註在小於10的時候,圈大了不好看,腳註大於等於10的時候,默認設置下兩個數字離得太遠,容易跟圈重疊。

示例:


%!TeX encoding = UTF-8
%!TeX program = xelatex
documentclass{article}
usepackage{fontspec}
usepackage{xunicode-addon}

ewfontfamilyfnmarkfont{ipag.ttf}

enewcommand hefootnote{{fnmarkfont extcircled{arabic{footnote}}}}
egin{document}

foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}

foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}
foofootnote{aa} barfootnote{bb}

end{document}

對中文文檔,xeCJK 將 20 以內的帶圈數字認做西文符號,20 以上的帶圈數字認做 CJK 符號,因此需要分別設置字體(或者改變這些符號的類型)。

documentclass{ctexart}
usepackage{xunicode-addon}

ewfontfamilyfnmarkfont{ipag.ttf} % 帶圈 0 到 20 被認做西文符號

ewCJKfontfamilyfnCJKmarkfont{ipag.ttf} % 帶圈數字超過 20 是 CJK 符號

enewcommand hefootnote{{fnmarkfontfnCJKmarkfont extcircled{arabic{footnote}}}}
egin{document}

你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}

你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}
你好footnote{aa} 你好footnote{bb}

end{document}

20 個以內的話,fnmarkfont 用 Linux Libertine O 字體就行;50 個以內,應像這裡一樣使用日文字體如 IPAGothic。

50 個以上……你肯定應該考慮使用 usepackage[perpage]{footmisc} 了。而一頁紙內 50 個以上腳註那本身就印不下了。


這麼搞。

documentclass{article}
usepackage{tikz}
usepackage{etoolbox}

ewcommand{circled}[2][]{ ikz[baseline=(char.base)]
{
ode[shape = circle, draw, inner sep = 0.1pt, scale = 0.7]
(char) {phantom{ifblank{#1}{#2}{#1}}};%

ode at (char.center) {makebox[0pt][c]{ iny #2}};}}

obustify{circled}
def hefootnote{smallcircled[10]{arabic{footnote}}}
egin{document}
abfootnote{}
cdfootnote{}
effootnote{}
ghfootnote{}
ijfootnote{}
klfootnote{}
mnfootnote{}
opfootnote{}
qrfootnote{}
stfootnote{}
uvfootnote{}
wxfootnote{}
yzfootnote{}
end{document}


推薦閱讀:

「調和級數」到底是該讀作「tiáo和級數」還是「diào和級數」?
如何筆算出ln2?
如果中國一直沒有接觸到西方的科學,而是基於本土傳統學術獨立發展,會發展成什麼樣?
數學學習中的遺忘?

TAG:排版 | 數學 | 計算機 | TeX |