tkz-euclide 中的标签文本对齐

tkz-euclide 中的标签文本对齐

我在对齐点标签方面遇到了一些困难tkz-euclide。举一个简单的例子:

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\noindent
\begin{tikzpicture}
\tkzInit[ymin=0,ymax=2,xmin=0,xmax=5]
\tkzClip
\tkzDefPoint(1,1){a}
\tkzDefPoint(2,1){g}
\tkzDefPoint(3,1){k}
\tkzDefPoint(4,1){d}
\tkzDrawPoints(a,g,k,d)
\tkzDrawSegments(a,g g,k k,d)
\tkzLabelPoints[below=6pt](a,g,k,d)
\end{tikzpicture}\\
\end{document}​

给了我这个(之后添加的红线说明):

显示未对齐的标签

请提出解决方法。我更喜欢自动化的方法,这样我就不必手动调整了[below=5.283pt]

笔记:我已经假设这是tkz-euclide,但是这个可能会是个tikz问题。不管怎样——我都标记了两者。(当然,像往常一样,结果发现是键盘和椅子之间的问题。)


根据 Alain Matthes 的回答,我添加了以下几行:

\tikzset{place above/.append style={anchor=base,yshift=6pt}}
\tikzset{place below/.append style={anchor=base,yshift=-12pt}}
...
\tkzLabelPoints[place above](a,g,k,d)
\tkzLabelPoints[place below](a,g,k,d)

(当然,数字可能会有所不同——稍后我将进行相对化)。结果:

显示已更正的对齐方式

很棒的包裹!!!

答案1

这并不是什么问题tkz-euclide。使用此版本,tkz-euclide您可以使用 的所有选项tikz

的定义\tkzLabelPoints

\tikzset{label style/.style={\tkz@euc@pointpos,\tkz@euc@labelcolor,font=\normalsize}}
\def\tkzLabelPoint{\pgfutil@ifnextchar[{\tkz@LabelPoint}{\tkz@LabelPoint[]}} 
\def\tkz@LabelPoint[#1](#2)#3{\node[label style,#1] at (#2) {#3};}%

\def\tkzLabelPoints{\pgfutil@ifnextchar[{\tkz@LabelPoints}{%
                                         \tkz@LabelPoints[]}}% 
\def\tkz@LabelPoints[#1](#2){%
 \foreach \point in {#2}{
 \node[label style,#1] at (\point) {$\point$};}
}% 

因此,您可以修改label style或添加您的选项 #1(这是的参数\tkzLabelPoints),并且您可以使用如下所示的两种可能性......

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\noindent
\begin{tikzpicture}
\tkzInit[ymin=0,ymax=2,xmin=0,xmax=5]
\tkzClip
\tkzDefPoint(1,1){a}
\tkzDefPoint(2,1){g}
\tkzDefPoint(3,1){k}
\tkzDefPoint(4,1){d}
\tkzDrawPoints(a,g,k,d)
\tkzDrawSegments(a,g g,k k,d)
\tikzset{label style/.append style={anchor=base}}
\tkzLabelPoints[yshift=-16pt](a,g,k,d)
\end{tikzpicture}
\end{document}​ 

在此处输入图片描述

相关内容