Избегайте «обрезанных» точек в толстой пунктирной линии.

Избегайте «обрезанных» точек в толстой пунктирной линии.

Как избежать «обрезанных» точек при рисовании толстой пунктирной линии? MWE:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{figure}
    \begin{tikzpicture}
        \draw[thick,dotted] (0,0) -- (1,0);
    \end{tikzpicture}
\end{figure}

\end{document}

Результаты не очень эстетичны:

введите описание изображения здесь

решение1

Эта dash expand offопция может оказаться для вас полезной.

Из TikZ и PGFруководство:

/tikz/dash expand off

Делает offчасть шаблона тире расширяемой, так что она может растягиваться. Это работает только при наличии одного onи одного offполя и требует decorationsбиблиотеки. Прямо сейчас этот параметр должен быть указан в пути, где он должен вступить в силу после параметра шаблона тире, поскольку он dash patternдолжен быть известен в точке, где он применяется.

введите описание изображения здесь

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{decorations}
    
\begin{document}

\begin{tikzpicture}
  \draw [dotted,dash expand off] (0,0.1) -- (1.02,0.1);
  \draw [dotted,dash expand off] (0,0) -- (1,0);
\end{tikzpicture}

\end{document}

решение2

Вы можете использовать индивидуальный штриховой шаблон в зависимости от длины вашей линии. Вот простой пример без автоматизированного расчета:

индивидуальный пунктирный узор

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{figure}
    \begin{tikzpicture}
        \draw[line width=0.5mm,dash pattern={on 0.5mm off 0.5mm}] (0,0) -- (1,0);
    \end{tikzpicture}
\end{figure}

\end{document}

Связанный контент