我想知道如何在 TeX 中做到这一点:
这是使用 TikZ 制作螺旋状文本但在矩形中,所有文本的大小相同,并且所有文本都应该成直角(与上面的例子不同,其中一些角落的字母不是直角。)
需要动态,因为我试图在一个信纸大小的页面上获取大量文本 - 例如,一个页面上填满了 7 号字体的文本 - 并让文本填满整个页面(并且永远不会溢出到其他页面),无论有多少文本。
下面是 Python 中的一种算法,可以给出我所讨论的那种矩形螺旋:
def spiral(X, Y):
x = y = 0
dx = 0
dy = -1
for i in range(max(X, Y)**2):
if (-X/2 < x <= X/2) and (-Y/2 < y <= Y/2):
print (x, y)
# DO STUFF...
if x == y or (x < 0 and x == -y) or (x > 0 and x == 1-y):
dx, dy = -dy, dx
x, y = x+dx, y+dy
答案1
它看起来......嗯......基本上,在我看来很糟糕,但无论如何......
\documentclass[tikz, border=15]{standalone}
\usetikzlibrary{decorations.text}
\usepackage[nopar]{lipsum}
\UnpackLipsum[1]
\begin{document}
\tikz\draw [gray, thick,
postaction={decoration={text along path, text/.expanded=\lipsumexp}, decorate}]
(0,0) \foreach \i in {0,...,20}{ -- ++(-\i*90:.5+\i/5) };
\end{document}