我在对齐点标签方面遇到了一些困难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}