发布时间:2010-12-23 14:26:23
文章类别:宏包使用
原文地址:http://blog.sina.com.cn/s/blog_5e16f1770100nx67.html

QQ群:91940767/145316219/141877998/80300084/194770436
淘宝店:http://latexstudio.taobao.com
技巧续篇:http://latexstudio.net/
常见数学公式问题集下载

TeX的功能有多强大, 请看两个 TeX 宏例子.

第一个例子是重复某句话, 第二个例子是输入20个素数.


\documentclass{article}
\begin{document}
Two TeX macro examp
les. %latex.yo2.cn

\newcount\s
\def\punishment#1#2{\s=#2
\loop\ifnum\s>0 #1 \advance\s by-1 \repeat}
\noindent\punishment{I must not talk in class!\\}{10}

\newif\ifprime \newif\ifunknown %boolean variables
\newcount\n \newcount\p \newcount\d
\newcount\a %integer variables
\def\primes#1{2,~3 %assume that #1 is at least 3
\n=#1 \advance\n by-2% n more to go
\p=5 % odd primes starting with p
\loop\ifnum\n>0 \printifprime\advance\p by2 \repeat}

\def\printp{, \ifnum\n=1 and ~\fi \number\p \advance\n by -1}
\def\printifprime{\testprimality \ifprime\printp\fi}

\def\testprimality{{\d=3 \global\primetrue
\loop\trialdivision \ifunknown\advance\d by2 \repeat}}

\def\trialdivision{\a=\p \divide\a by\d
\ifnum\a>\d \unknowntrue\else\unknownfalse\fi
\multiply\a by \d
\ifnum\a=\p \global\primefalse\unknownfalse\fi}
%latex.yo2.cn

The following is the first 20th primes: \primes{20}.
\end{document}

具体的解释请见 Donald Ervin Knuth 的 The TeX book 的第20章.

效果图:

image

选自:http://latex.yo2.cn/articles/tex-macro-examples.html


点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部