在下面的例子中,\worldflag
命令将标志推到表格单元格的顶部,从而产生一些垂直空白。如何将标志与表格中的文本垂直对齐,从而删除表格单元格内的垂直空白?
\documentclass{article}
\usepackage[a4paper,margin=0.1cm]{geometry}
\usepackage{tabularray}
\usepackage{worldflags}
\flagsdefault[width=0.5cm]
\begin{document}
\begin{longtblr}{ colspec = {|X|X|},hlines}
First variable \newline Second variable & \worldflag{FR} \\
First variable & \worldflag{BR} \\
First variable \newline Second variable & \worldflag{CH} \\
\end{longtblr}
\end{document}
答案1
在这里,我将旗帜稍微放大一些,并创建\Worldflag
宏,将旗帜的上部高度设置为\ht\strutbox
高于基线的高度。
\documentclass{article}
\usepackage[a4paper,margin=0.1cm]{geometry}
\usepackage{tabularray}
\usepackage{worldflags}
\usepackage{stackengine}
\flagsdefault[width=1.9\baselineskip]
\newcommand\Worldflag[1]{\belowbaseline[-\ht\strutbox]{\worldflag{#1}}}
\begin{document}
\begin{longtblr}{ colspec = {|X|X|},hlines}
First variable \newline Second variable & \Worldflag{FR} \\
First variable & \Worldflag{BR} \\
First variable \newline Second variable & \Worldflag{CH} \\
\end{longtblr}
\end{document}
附录
原帖者问,当旗帜变小时,如何实现类似的效果?
在这里,我把标志变小,在每个标志的上方和下方添加一个垂直缓冲区,通过\addstackgap[.6\ht\strutbox]{...}
并调整的垂直偏移\belowbaseline
。虽然可以调整特定值,但我建议 stackgap 减去 belowbaseline 偏移加起来等于\ht\strutbox
。
\documentclass{article}
\usepackage[a4paper,margin=0.1cm]{geometry}
\usepackage{tabularray}
\usepackage{worldflags}
\usepackage{stackengine}
\flagsdefault[width=1\baselineskip]
\newcommand\Worldflag[1]{\addstackgap[.6\ht\strutbox]{%
\belowbaseline[-0.4\ht\strutbox]{\worldflag{#1}}}}
\begin{document}
\begin{longtblr}{ colspec = {|X|X|},hlines}
First variable \newline Second variable & \Worldflag{FR} \\
First variable & \Worldflag{BR} \\
First variable \newline Second variable & \Worldflag{CH} \\
\end{longtblr}
\end{document}
答案2
降低旗帜的高度,使其与支柱的高度相同。由于longtblr
增加了一个小的填充,旗帜不会触及规则。
\documentclass{article}
\usepackage[a4paper,margin=0.1cm]{geometry}
\usepackage{tabularray}
\usepackage{worldflags}
\flagsdefault[width=0.5cm]
\newcommand{\tflag}[1]{%
\raisebox{\dimeval{\ht\strutbox-\height}}{\worldflag{#1}}%
}
\begin{document}
\begin{longtblr}{ colspec = {|X|X|},hlines}
First variable \newline Second variable & \tflag{FR} \\
First variable & \tflag{BR} \\
First variable \newline Second variable & \tflag{CH} \\
\end{longtblr}
\end{document}