dynkin 图表标签的垂直间距

dynkin 图表标签的垂直间距

我正在尝试使包提供的 dynkin 图内具有不同高度的标签实现相同的垂直对齐dynkin-diagrams

\dynkin[Coxeter, labels={a,b,c,d}]{F}{4}给出

图片

我尝试修复这个问题,方法是\vphantom像这样

\dynkin[Coxeter, labels={\vphantom{b}a,b,c,d}]{F}{4}

但失败了。有什么帮助吗?

答案1

这是因为所有宏都在包的内部例​​程中展开。包有一个label macro用于将宏包装在标签周围的键。然而,由于dynkin-diagramsTi基于 Z,有一个使用every label密钥的非常简单的修复方法:

/tikz/every label/.append style={text height={height("b"}}

我在这个例子中调查了几个选项:

\documentclass{article}
\usepackage{dynkin-diagrams}
\begin{document}
\subsection*{Original diagram}
\dynkin[Coxeter, labels={a,b,c,d}]{F}{4}

\subsection*{Using \texttt{every label}}

\dynkin[Coxeter, labels={a,b,c,d},
/tikz/every label/.append style={text height={height("b"}}]{F}{4}

\subsection*{Defining styles}

\pgfkeys{/Dynkin diagram/.cd,
dlabel height/.style={/tikz/every label/.append style={text
height={height("#1"}}},dlabel height/.default=b,
dlabel depth/.style={/tikz/every label/.append style={text
depth={depth("#1"}}},dlabel depth/.default=g}

\dynkin[Coxeter, labels={a,b,c,d},
dlabel height]{F}{4}

\subsection*{Using \texttt{label macro}}

\dynkin[Coxeter,labels={a,...,d},label macro/.code={\vphantom{b}#1}]{F}{4}

\newcounter{icheat}

\noindent
\dynkin[Coxeter,labels={1,...,4},label macro/.code={\vphantom{b}\setcounter{icheat}{#1}\alph{icheat}}]{F}{4}
\end{document}

在此处输入图片描述

g我还为深度添加了类似的样式,因为如果标签中有,就会出现类似的问题。

附录dynkin-diagram从 2019 年 11 月 27 日版本开始的软件包具有处理此问题的样式。现在您只需使用label height(和label depth)。

\documentclass{article}
\usepackage{dynkin-diagrams}
\begin{document}
\subsection*{Original diagram}
\dynkin[Coxeter, labels={a,b,c,d}]{F}{4}

\subsection*{Using styles}

\dynkin[Coxeter, labels={a,b,c,d},label height=d]{F}{4}

\subsection*{Using \texttt{label macro}}

\dynkin[Coxeter,labels={a,...,d},label macro/.code={\vphantom{b}#1}]{F}{4}

\end{document}

在此处输入图片描述

相关内容