When paragraph indentation is enabled, boxes at the start of a paragraph are indented by document.parindent from frame left.
Calling \noindent before \framebox doesn't solve this.
My answer:
The problem here is that you are hitting a bug (or at least a very weird behavior) of SILE itself, with respect to the measured width of horizontal boxes at the beginning of a paragraph. You would have the same issue with, say, the standard rules packages and its \underline command (or the deprecated \boxaround as well); or the rotate package, etc.
I was pretty sure I already had seen that kind of problem discussed on the SILE issue tracker, but just looking (fairly) quickly, I could not find it back. I would suggest to report to SILE, therefore. For what matters, here is an example showing that same issue with standard packages:
\begin{document}
\use[module=packages.rules]
\use[module=packages.rotate]
\noindent{}Lorem...
Lorem (paragraph indented)
\underline{ipsum}
\rotate[angle=5]{dolor}
\boxaround{toto}% deprecated command, but just to show it there too
\end{document}
From @nphyx in #7
My answer:
The problem here is that you are hitting a bug (or at least a very weird behavior) of SILE itself, with respect to the measured width of horizontal boxes at the beginning of a paragraph. You would have the same issue with, say, the standard rules packages and its
\underline
command (or the deprecated\boxaround
as well); or the rotate package, etc.I was pretty sure I already had seen that kind of problem discussed on the SILE issue tracker, but just looking (fairly) quickly, I could not find it back. I would suggest to report to SILE, therefore. For what matters, here is an example showing that same issue with standard packages:
Originally posted by @Omikhleia in https://github.com/Omikhleia/ptable.sile/issues/7#issuecomment-1441163570