Рассмотрим такой пример:
\documentclass{article}
\usepackage{tikz}
\usepackage[showframe]{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\noindent\begin{tikzpicture}
\draw (0,0)--(\linewidth,0);
\end{tikzpicture}
\end{document}
Он получает предупреждение.
Overfull \hbox (0.4pt too wide) in paragraph at lines 8--11
На моем зрителе я даже не вижу «слишком широкую» часть.
Конечно, это очень трудно увидеть, ведь это всего лишь 0,4pt! Однако мне не нравится, когда всплывают такие предупреждения, так как же убедиться, что линия идеально подходит к границе, т.е. установить " " inner sep
"узла" TiкZ-изображение ровно на 0pt?
Я знаю, что могу использовать \rule
и т. д. для этого, но мне нужно нарисовать что-то еще в TiкZ, поэтому я использую TiкZ в общей картине.
Заранее спасибо!
Бонусный вопрос:Вы можете видеть, что я использую \noindent
. Без изменений в \parindent
, есть ли лучшие способы сделать это?
решение1
Это больше похоже на обходной путь, но настоящая причина этой проблемы, скорее всего, связана с tikz
внутренними компонентами среды.
\documentclass{article}
\usepackage{tikz}
\usepackage[showframe]{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\noindent\makebox[\linewidth]{%
\begin{tikzpicture}
\draw (0,0)--(\linewidth,0);
\end{tikzpicture}%
}
\end{document}
решение2
Давайте разберемся с этим, используя \hfuzz=0.4pt
вашу преамбулу.
\documentclass{article}
\usepackage{tikz}
\usepackage[showframe]{geometry}
\usepackage{lipsum}
\hfuzz=0.4pt
\begin{document}
\lipsum[1]
%https://tex.stackexchange.com/questions/50830/do-i-have-to-care-about-bad-boxes/50850#50850
\noindent\begin{tikzpicture}
\draw (0,0)--(\linewidth,0);
\end{tikzpicture}
\end{document}
Для получения дополнительной информации: Пожалуйста, посетите связанный вопрос, на который @DavidCarlisle дал отличный ответ. Кроме того, я думаю, что этот ответ охватывает только вашу бонусную часть :-)
.