我似乎被一个看似基本的tabular
间距问题(当\href
使用 an 时)难住了。调整这个显而易见的解决方案arraystretch
似乎不起作用。
我希望 的输出看起来tabular
与 的输出类似itemize
,就行之间的垂直间距而言。下面的第一列是itemize
产生的间距,看起来很棒。接下来的两列是tabular
和tabu
使用默认设置产生的间距:
如您所见,tabular
和中的线tabu
在垂直方向上靠得太近了。
所以我认为增加\arraystretch
intabular
或设置\tabulinesep
intabu
应该就可以了。我想避免手动添加在 后面指定垂直空间的解决方案\\
。但即使这样也行不通!
上面的列是:
- 产生的所需垂直间距
itemize
, tabular
和\renewcommand*{\arraystretch}{2.4}
,tabu
与\tabulinesep=0.5ex
,和\\[1.25ex]
在行末手动添加:
基本上,我不是希望\href
盒子能够伸展,但希望线条能够分开得更远。
笔记:
- 我只把它们放进去
minipages
以便于比较。在我的实际应用中,它们位于彼此下方。此外,这构成了一个漂亮的宽图像。所以,不是尝试使基线在此对齐。 - 现在我将这两个图放在上面,重叠部分似乎没有变化。这似乎是一个线索,但不确定我该如何使用该信息。
代码:
\documentclass{article}
\usepackage{enumitem}
\usepackage{tabu}
\usepackage{hyperref}
\newcommand*{\AddLinkToFile}[1]{\href{run:#1.pdf}{\strut#1}}
\begin{document}
\begin{minipage}{2.0cm}
\begin{itemize}
\item \AddLinkToFile{a} b
\item \AddLinkToFile{c} d
\end{itemize}
\end{minipage}
%
\begin{minipage}{2.0cm}
%\renewcommand*{\arraystretch}{2.4}
\begin{tabular}{ll}
\AddLinkToFile{e} & f \\
\AddLinkToFile{g} & h \\
\end{tabular}
\end{minipage}
%
\begin{minipage}{2.0cm}
%\tabulinesep=0.5ex
\begin{tabu}{ll}
\AddLinkToFile{i} & j \\
\AddLinkToFile{k} & l \\
\end{tabu}
\end{minipage}
%
\begin{minipage}{2.0cm}% Manually adding space
\begin{tabular}{ll}
\AddLinkToFile{l} & m \\[1.25ex]
\AddLinkToFile{n} & o \\
\end{tabular}
\end{minipage}
\end{document}
答案1
也许这会对你有帮助:
- 为了获得正确的垂直间距,我将使用
listliketab
- Amsmath 的
\smash
帮助令人惊讶。
介绍\smash
如果我用
\newcommand*{\AddLinkToFile}[1]{\smash{\href{run:#1.pdf}{\strut#1}}}
href 框现在变成了一个很小的框(1pt 高度,1pt 深度?)。对于未制表的材料也是如此。
有三可选参数\smash
经过一番尝试[b]
并[t]
看到它的效果后,我尝试了
\newcommand*{\AddLinkToFile}[1]{\smash[]{\href{run:#1.pdf}{\strut#1}}}
效果奇佳:
(结果框的高度和深度来自\strut
。)
错误还是功能?我不知道……
但在实际环境中,每次使用\strut
([t]
,,或根本没有可选项)都会破坏,除非在它前面添加。[b]
[]
\AddLinkToFile
itemize
\leavevmode
因此最终的\AddLinkToFile
命令是:
\newcommand*{\AddLinkToFile}[1]{\leavevmode\smash[]{\href{run:#1.pdf}{\strut#1}}}
代码
\documentclass{article}
\usepackage{amsmath}
\usepackage{enumitem}
\usepackage{tabu}
\usepackage{listliketab}
\usepackage{hyperref}
\newcommand*{\AddLinkToFile}[1]{\leavevmode\smash[]{\href{run:#1.pdf}{\strut#1}}}
%\renewcommand*{\AddLinkToFile}[1]{#1} % for my own testing purposes
\storestyleof{itemize}
\begin{document}
\begin{itemize}
\item \AddLinkToFile{a} b
\item \AddLinkToFile{c} d
\end{itemize}
\AddLinkToFile{A}
\begin{minipage}{2.0cm}
\begin{listliketab}
\begin{tabular}{Ll}
\textbullet & \AddLinkToFile{a} A \\
\textbullet & \AddLinkToFile{c} d
\end{tabular}
\end{listliketab}
\end{minipage}
%
\begin{minipage}{2.0cm}
\begin{listliketab}
\renewcommand*{\arraystretch}{2.4}
\begin{tabular}{ll}
\AddLinkToFile{e} & f \\
\AddLinkToFile{g} & h
\end{tabular}
\end{listliketab}
\end{minipage}
%
\begin{minipage}{2.0cm}
\begin{listliketab}
\tabulinesep=0.5ex
\begin{tabu}{ll}
\AddLinkToFile{i} & j \\
\AddLinkToFile{k} & l
\end{tabu}
\end{listliketab}
\end{minipage}
%
\begin{minipage}{2.0cm}
\begin{listliketab}
\begin{tabular}{ll}
\AddLinkToFile{l} & m \\[1.25ex]
\AddLinkToFile{n} & o
\end{tabular}
\end{listliketab}
\end{minipage}
\end{document}