# Forcing left text alignment in a fit Tikz node?

I would like to add Tikz "marker" nodes in running text; then fit another node based on those "marker" nodes' positions; and insert a text into the fitted node, such that it is left aligned, and with line-breaking disabled.

Using this MWE:

\documentclass{book}
\usepackage{trace}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{fit}
\usepackage{lua-visual-debug}

\begin{document}

% \tikz\node[fill=red](end marker){}; % same as at(0,0)
% \tikz\coordinate(end marker) at (0,0);
% must have overlay, remember picture for the fit to work

Lorem ipsum dolor sit amet,
consectetur adipis-icing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation
ullamco $laboris$ nisi ut aliquip ex ea commodo conse-
\tikz[overlay, remember picture]\node[fill,minimum size=2pt,inner sep=0pt,outer sep=0pt](begin marker)at(0,0){};%
quat. Duis aute irure dolor in reprehenderit
\tikz[overlay, remember picture]\node[fill=red,minimum size=2pt,inner sep=0pt,outer sep=0pt](end marker)at(0,0){};%
in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

\begin{tikzpicture}[overlay, remember picture]
\traceon %
\node%
[%
align=left,
anchor=south west,
inner sep=0pt,
outer sep=0pt,
minimum size=0pt,
%text width=, % "Setting dimension to an empty string causes the automatic line breaking to be disabled."
text=red,
% hand tuned for best position:
fit={($(begin marker)+(-1pt,0pt)$)($(end marker)+(0,-2pt)$)},
]%
%at ($(begin marker)+(0,2.5pt)$) % don't use at() if using fit!
{AAAAA}%
;
\traceoff %
\end{tikzpicture}
\end{document}


... I get this output:

... that is: the "marker" nodes are placed as expected; so is the fit node; but in spite of align=left, the AAAAA text is clearly centered in the fit node (there are glues left and right of the text, implying centering).

So, how can I get the AAAAA text to be left aligned in the fit node?

Put align=left after fit = {...}.

\documentclass{book}
\usepackage{trace}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{fit}
\usepackage{lua-visual-debug}

\begin{document}

% \tikz\node[fill=red](end marker){}; % same as at(0,0)
% \tikz\coordinate(end marker) at (0,0);
% must have overlay, remember picture for the fit to work

Lorem ipsum dolor sit amet,
consectetur adipis-icing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation
ullamco $laboris$ nisi ut aliquip ex ea commodo conse-
\tikz[overlay, remember picture]\node[fill,minimum size=2pt,inner sep=0pt,outer sep=0pt](begin marker)at(0,0){};%
quat. Duis aute irure dolor in reprehenderit
\tikz[overlay, remember picture]\node[fill=red,minimum size=2pt,inner sep=0pt,outer sep=0pt](end marker)at(0,0){};%
in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

\begin{tikzpicture}[overlay, remember picture]
\traceon %
\node%
[%
anchor=south west,
inner sep=0pt,
outer sep=0pt,
minimum size=0pt,
%text width=, % "Setting dimension to an empty string causes the automatic line breaking to be disabled."
text=red,
% hand tuned for best position:
fit={($(begin marker)+(-1pt,0pt)$)($(end marker)+(0,-2pt)$)},align=left,
]%
%at ($(begin marker)+(0,2.5pt)$) % don't use at() if using fit!
{AAAAA}%
;
\traceoff %
\end{tikzpicture}
\end{document}


• Well, that's one answer I would have expected would have been much more complicated, than it turned out to be :) Many thanks, @HarishKumar - cheers! – sdaau Nov 20 '14 at 15:54
• @sdaau Well, unexpected happens, some times ;) – user11232 Nov 20 '14 at 15:57