我想对齐两个dirtrees
到顶部以及它们各自的subcaptions
到底部. 更重要的是,两人的身高frameboxes
应该相等(见图像如下)。我怎样才能实现这一点?
以下是相应的代码:
\documentclass{article}
\usepackage{subcaption}
\usepackage{dirtree}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}[b]{0.45\textwidth}
\framebox[\textwidth]{%
\begin{minipage}{0.9\textwidth}
\footnotesize
\dirtree{%
.1 /.
.2 \vdots.
.2 tmp.
.3 \vdots.
.3 test.
.4 file0.
.4 file1.
.4 file1\_symlink -> file1.
.4 dir3\_symlink -> dir3.
.4 file8\_hardlink.
.4 dir1.
.5 fi.
.5 file2.
.5 file3.
.5 subdir1.
.6 file4.
.6 file5.
.5 subdir2.
.6 file6.
.6 file7.
.4 dir2.
.5 fifo1.
.5 fifo2.
.4 dir3.
.5 file8.
.5 file9.
}
\caption{Tree 1}
\label{subfig:tree1}
\end{minipage}
}
\end{subfigure}
\begin{subfigure}[b]{0.45\textwidth}
\framebox[\textwidth]{%
\begin{minipage}{0.9\textwidth}
\footnotesize
\dirtree{%
.1 /.
.2 \vdots.
.2 tmp.
.3 \vdots.
.3 test.
.4 dir1.
.5 f3.
.5 f4.
.5 subdir1.
.5 subdir2.
.6 f5.
.4 dir2.
.4 dir3.
.4 f1.
.4 f2.
.4 f2\_symlink -> f2.
.4 f4\_hardlink.
.4 fifo1.
.4 fifo2.
}
\caption{Tree 2}
\label{subfig:tree2}
\end{minipage}
}
\end{subfigure}
\caption{Comparison}
\label{fig:trees-comparison}
\end{figure}
\end{document}
答案1
该包tcolorbox
提供了一系列有助于实现这一点的命令,它还将简化您的代码。最相关的功能是它可以构建具有上部和下部的框,在它们之间分配空间,并为一系列框提供相同的高度。
\NewTotalTColorBox{\mybox}{m +m}{equal height group=#1, size=fbox,
sharp corners, colback=white, width=\textwidth, space to upper,
lower separated=false, fontupper=\footnotesize, nobeforeafter}{#2}
设置一个接受两个参数的盒子命令,第一个参数是应具有相同高度的一系列盒子的名称,第二个参数是盒子的内容。
这使得size=fbox, sharp corners, colback=white
这个盒子看起来与普通的盒子很相似\fbox
,没有花哨的背景色彩。
space to upper
确保上面的内容部分\tcblower
顶部对齐,其余部分底部对齐。
lower separated=false
关闭tcolorbox
的标准分割线打印。
fontupper
设置上部使用的字体,而不必每次都写入。
\documentclass{article}
\usepackage{subcaption}
\usepackage{dirtree}
\usepackage[xparse]{tcolorbox}
\NewTotalTColorBox{\mybox}{m +m}{equal height group=#1, size=fbox,
sharp corners, colback=white, width=\textwidth, space to upper,
lower separated=false, fontupper=\footnotesize, nobeforeafter}{#2}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}[b]{0.45\textwidth}
\mybox{dirs}{%
\dirtree{%
.1 /.
.2 \vdots.
.2 tmp.
.3 \vdots.
.3 test.
.4 file0.
.4 file1.
.4 file1\_symlink -> file1.
.4 dir3\_symlink -> dir3.
.4 file8\_hardlink.
.4 dir1.
.5 fi.
.5 file2.
.5 file3.
.5 subdir1.
.6 file4.
.6 file5.
.5 subdir2.
.6 file6.
.6 file7.
.4 dir2.
.5 fifo1.
.5 fifo2.
.4 dir3.
.5 file8.
.5 file9.
}
\tcblower
\caption{Tree 1}
\label{subfig:tree1}
}
\end{subfigure}
\begin{subfigure}[b]{0.45\textwidth}
\mybox{dirs}{%
\dirtree{%
.1 /.
.2 \vdots.
.2 tmp.
.3 \vdots.
.3 test.
.4 dir1.
.5 f3.
.5 f4.
.5 subdir1.
.5 subdir2.
.6 f5.
.4 dir2.
.4 dir3.
.4 f1.
.4 f2.
.4 f2\_symlink -> f2.
.4 f4\_hardlink.
.4 fifo1.
.4 fifo2.
}
\tcblower
\caption{Tree 2}
\label{subfig:tree2}
}
\end{subfigure}
\caption{Comparison}
\label{fig:trees-comparison}
\end{figure}
\end{document}