
Мне нужно, чтобы текст без засечек внутри узлов был «идеально» выровнен по левому краю в tikzpicture
среде.
Этот код иллюстрирует мою проблему:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\author{Jander Moreira}
\usepackage{tikz}
\renewcommand*{\familydefault}{\sfdefault}
\begin{document}
\begin{tikzpicture}[every node/.style = {
inner sep = 0,
outer sep = 0,
anchor = west,
align = left,
draw,
}]
\foreach \t [count = \i] in {ORI, sem, HOJE, JM, ---, not}
\node at (0, -0.5 * \i) {\t};
\draw[ultra thin, blue] (0, -3.5) -- (0, 0);
\draw[ultra thin, red] (0.025, -3.5) -- (0.025, 0);
\end{tikzpicture}
\end{document}
Установка inner sep
и outer sep
в ноль удаляет пространство (поля, отступы) вокруг текста, но сам шрифт оставляет некоторое пространство вокруг каждого символа.
Тонкие вертикальные линии и границы узлов используются только для визуального ориентира. Обратите внимание, что узлы выровнены по левому краю (синяя линия), а текст — нет (красная линия). Пробел перед «O» больше, чем перед «s», и уже, чем перед «H». Перед тире ( ---
) пробела нет.
Мой вопрос: есть ли способ убрать пробелы перед (и после) текстом, чтобы каждая первая буква действительно касалась левой границы узла?
Текст в рамке ( mbox
например) не имеет значения.