当我用 绘制一条“非常细”的线\tkzDrawLine
,然后用 绘制一些点时
\tkzDrawPoints
,size 参数被忽略了。我想这是一个错误?
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/o,1/0/a,-1/0/b}
\tkzDrawPoints[fill=white, size=8](o,a)
\tkzDrawLine[very thin](a,b)
\end{tikzpicture}
\begin{tikzpicture}
\tkzDefPoints{0/0/o,1/0/a,-1/0/b}
\tkzDrawLine[very thin](a,b)
\tkzDrawPoints[fill=white, size=8](o,a)
\end{tikzpicture}
\end{document}
答案1
问题在于将tkz
键与tikz
键混合在一起。样式very thin
设置\pgflinewidth
并tkz-euclide
定义size
在 方面\pgflinewidth
。
由于very thin
设置\pgflinewidth
为 0.2pt,从初始值 0.4pt,在第二张图片中,你得到因子 8 产生了一个圆一半和第一张图片一样宽。
可能的解决方法:
画出所有线条,然后说
\tikzset{thin}
恢复的值\pgflinewidth
记得将因数加倍
定义一种新样式,
abssize
使用默认值 0.4pt
在下面的测试文件中实现了解决方法。
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\pgfkeys{
/drawpoint/.cd,
abssize/.code = {
\tikzset{
point style/.append style={
minimum size = #1*0.4pt
}
}
},
}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/o,1/0/a,-1/0/b}
\tkzDrawPoints[fill=white, size=8](o,a)
\tkzDrawLine[very thin](a,b)
\end{tikzpicture}
\begin{tikzpicture}
\tkzDefPoints{0/0/o,1/0/a,-1/0/b}
\tkzDrawLine[very thin](a,b)
\tikzset{thin}
\tkzDrawPoints[fill=white, size=8](o,a)
\end{tikzpicture}
\begin{tikzpicture}
\tkzDefPoints{0/0/o,1/0/a,-1/0/b}
\tkzDrawLine[very thin](a,b)
\tkzDrawPoints[fill=white, size=16](o,a)
\end{tikzpicture}
\begin{tikzpicture}
\tkzDefPoints{0/0/o,1/0/a,-1/0/b}
\tkzDrawLine[very thin](a,b)
\tkzDrawPoints[fill=white, abssize=8](o,a)
\end{tikzpicture}
\end{document}