为了创建一个能够真正象征无限连分数的无尽、永远持续的性质的连分数,我采用了以下“符号”,其中字体大小随着分数的每一步缩小:
我使用以下代码生成它,并使用amsmath
和进行编译graphicx
:
$1+\dfrac{1}{2+
\dfrac{1}{\scalebox{.9}{2+{}}
\dfrac{\hfill\scalebox{.9}{1}\hfill}{\scalebox{.8}{2+{}}
\dfrac{\hfill\scalebox{.8}{1}\hfill}{\scalebox{.7}{2+{}}
\dfrac{\hfill\scalebox{.7}{1}\hfill}{\scalebox{.6}{2+{}}
\dfrac{\hfill\scalebox{.6}{1}\hfill}{\scalebox{.5}{2+{}}
\dfrac{\hfill\scalebox{.5}{1}\hfill}{\scalebox{.4}{2+{}}
\dfrac{\hfill\scalebox{.4}{1}\hfill}{\scalebox{.3}{2+{}}
\dfrac{\hfill\scalebox{.3}{1}\hfill}{\scalebox{.2}{2+{}}
}}}}}}}}}$
虽然我认为现在的设计还不错,但我想知道如何解决连分数外观上的一些问题,以及为什么会出现这些问题:
- 随着下降的继续,加号运算符的间距与分数线的距离越来越远。我该如何修改代码,让加号运算符看起来更自然?
- 分子似乎偏离了分数线。我该如何优化分数之间的间距?我怀疑这与
\scalebox
不改变分数分子框的大小,只缩放文本有关,但我还没有想出如何改进这一点。另外,如果是这样的话,为什么要这样做\scalebox
?
另外,我觉得我的代码总体上效率很低,因为我需要在末尾使用很多括号;欢迎提出改变我的代码结构的解决方案。
答案1
创建一个宏似乎更实用,它可以让您在写这些分数时更加舒适。例如像这样:
\def\fracscale{.8}
\def\etcfrac {\bgroup\def\egroups{\egroup}\etcfracA}
\def\etcfracA#1{\ifx\dots#1\cdots\egroups\else
\edef\egroups{\egroup$\egroup
\hbox{\pdfsave\pdfsetmatrix{\fracscale\space 0 0 \fracscale}%
\dimen0=\fracscale\wd0 \wd0=0pt \ht0=\fracscale\ht0 \dp0=\fracscale\dp0
\box0 \pdfrestore \kern\dimen0}\egroups}%
\setbox0=\hbox\bgroup$\displaystyle\bgroup
\expandafter\etcfracB\expandafter#1\fi
}
\def\etcfracB#1/#2#3{\dimen0=.8\dimen0
\strut#1\over #2#3\etcfracA}
\hrule
$ 1 + \etcfrac 1/2+1/2+1/2+1/2+1/2+1/2+1/2+\dots $
\hrule
\bye
答案2
答案3
我不会使用这个图形设备,但获得它并不难:
\documentclass{article}
\usepackage{amsmath,graphicx}
\newcommand{\scaledfrac}[3]{%
\dfrac{#2}{\scalebox{#1}{$#3$}}%
}
\begin{document}
\[
1+
\scaledfrac{1}{1}{2+
\scaledfrac{.95}{1}{2+
\scaledfrac{.90}{1}{2+
\scaledfrac{.85}{1}{2+
\scaledfrac{.80}{1}{2+
\scaledfrac{.75}{1}{2+
\scaledfrac{.70}{1}{2+
\scaledfrac{.65}{1}{2+
\scaledfrac{.60}{1}{2+
\scaledfrac{.55}{1}{2+\dotsb}
}}}}}}}}}
\]
\end{document}