S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
1st, 2nd とかの序数をTeXでらくちんに書くためにはどうすればよいか。
自前でカウンタ作ってやってもいいが、微妙に面倒。
http://mechanics.civil.tohoku.ac.jp/~bear/bear-collections/style-files/style-fj.html にある ordinal.sty を使えばよい。内容をそのまま転載する。
% From: asnd@reg.triumf.ca (Donald Arseneau) % Newsgroups: comp.text.tex % Subject: Re: Ordinal Numbers in LaTeX % Date: 26 May 1993 15:04 PST % Keywords: ordinals, tex, latex % % Takes an integer and returns the proper suffix for an % ordinal number: \nth{1} -> 1st % \nth{23} -> 23rd etc. % \def\nth#1{\begingroup % [call parameter (#1) "n"] \@tempcnta#1\relax \the\@tempcnta % emit n \ifnum\@tempcnta<\z@ \@tempcnta\z@\fi % negatives all get th \@tempcntb\@tempcnta \divide\@tempcntb100 % hundreds \multiply\@tempcntb100 \advance\@tempcnta-\@tempcntb % n mod 100 \ifnum\@tempcnta<20 \ifnum\@tempcnta>9 \@tempcnta\z@\fi\fi % teens get th \@tempcntb\@tempcnta \divide\@tempcntb10 % tens \multiply\@tempcntb10 \advance\@tempcnta-\@tempcntb % n mod 10 \ifcase\@tempcnta th\or st\or nd\or rd\else th\fi % emit suffix \endgroup} % % Example of use: % \def\labelenumi{\theenumi.} % \def\theenumi{\nth{enumi}} % to make enumerated lists come out as 1st, 2nd, 3rd, 4th, ... 123rd...使い方。
\documentclass{article} \usepackage{ordinalno} \begin{document} \nth{1} \nth{2} \nth{3} \nth{4} \nth{5} \nth{6} \nth{7} \end{document}スタイルファイルにするのが面倒ならどうするか。定義部分をそのままプリアンブルに書いてもうまくいかない。以下のように \makeatletter, \makeatother で括る。
\documentclass{article} \makeatletter \def\nth#1{\begingroup % [call parameter (#1) "n"] \@tempcnta#1\relax \the\@tempcnta % emit n \ifnum\@tempcnta<\z@ \@tempcnta\z@\fi % negatives all get th \@tempcntb\@tempcnta \divide\@tempcntb100 % hundreds \multiply\@tempcntb100 \advance\@tempcnta-\@tempcntb % n mod 100 \ifnum\@tempcnta<20 \ifnum\@tempcnta>9 \@tempcnta\z@\fi\fi % teens get th \@tempcntb\@tempcnta \divide\@tempcntb10 % tens \multiply\@tempcntb10 \advance\@tempcnta-\@tempcntb % n mod 10 \ifcase\@tempcnta th\or st\or nd\or rd\else th\fi % emit suffix \endgroup} \makeatother \begin{document} \nth{1} \nth{2} \nth{3} \nth{4} \nth{5} \nth{6} \nth{7} \end{document}
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2010-03-08 22:21