![将 TikZ 图放入小空间](https://linux22.com/image/296117/%E5%B0%86%20TikZ%20%E5%9B%BE%E6%94%BE%E5%85%A5%E5%B0%8F%E7%A9%BA%E9%97%B4.png)
我正在尝试制作 Kanamori 的教科书《更高的无限》末尾的那种图表:
如果有一种方法可以扩展到任何蕴涵图就好了,所以我没有手动输入所有内容,而是查看了 PGFgraphdrawing
库。这是一个非常有用的工具,但我正在使用 制作此图表用于演示beamer
,输出结果不太适合幻灯片。缩小它会使其有点难以阅读,所以我尝试了其他技巧。
这是我得到的(使用图形绘制,因此需要LuaTeX
和PGF 3.0
):
\documentclass{beamer}
\usepackage{tikz}
\renewcommand{\Tiny}{\tiny}
\usetikzlibrary{graphs}
\usetikzlibrary{graphdrawing}
\usegdlibrary{force, layered, trees}
\begin{document}
\begin{frame}
\begin{tikzpicture}[every node/.style={minimum size=5mm}]
\graph [layered layout, minimum layers=1, grow=down, level distance=5mm, sibling distance=1cm] {
{ [same layer] 0=1 -> "I0-I3" -> "n-huge" } ->
{ [same layer] superhuge -> huge -> "almost huge" } ->
{ "Vopenka's Principle" -> [second] extendible } ->
supercompact -> {strongly compact, superstrong} ->
{ [same layer] Woodin -> strong -> "$0^\dagger$" exists } ->
measurable ->
{ [same layer] Ramsey -> Rowbottom -> "J\'onsson" } ->
"$0^\sharp$ exists" ->
{ [same layer] indescribable -> weakly compact -> Mahlo} ->
inaccessible ->
ZFC
};
\end{tikzpicture}
\end{frame}
\begin{frame}
\begin{tikzpicture}[every node/.style={minimum size=5mm}]
\graph [layered layout, minimum layers=1, grow=down, level distance=5mm, sibling distance=1cm] {
{ [same layer] 0=1 -> "I0-I3" -> "n-huge" } ->
{ [same layer] superhuge -> huge -> "almost huge" } ->
{ "Vopenka's Principle" -> [second] extendible } ->
supercompact -> {strongly compact, superstrong} ->
{ [same layer] Woodin -> strong -> "$0^\dagger$" exists } ->
measurable ->
};
\end{tikzpicture}
\end{frame}
\end{document}
第一帧最能说明哪里出了问题,第二帧则表明存在潜力。
问题很明显:我不知道如何改变同一层中事物出现的方向。我试图使用键desired at
将事物排列起来,但这似乎使算法变得混乱。
看到任何一种解决方案都会很好,因为我对图书馆了解甚少。但我特别想让它保持几何形状和规则性,到目前为止,我无法做到这一点spring layout
,更不用说让它保留在页面上了。