
решение1
Должен \colorbox
начинаться с , \noindent
если есть отступы по умолчанию, и лучше, чтобы ширина блока была равна \linewidth
, поэтому его можно использовать также в узких местах, например внутри списка. Отступы и пропуски абзацев сбрасываются внутри minipage
или \parbox
, поэтому самое простое исправление — вручную \setlength
и \parskip
внутри \parindent
каждого блока, поскольку родительский отступ может меняться в зависимости от среды документа (например, внутри списков). Автоматически устанавливать обе длины для каждой возможной среды может быть сложно. В примере показан макрос, который принимает правильный отступ и абзац только внутри основного текста и списка itemize
. Нет гарантии, что это будет работать в другом месте:
\documentclass[twocolumn]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\parindent 3em % some clear but dirty indentation and paragraph skip
\parskip 2em plus 1em minus 1em
\newlength{\currentparindent}\currentparindent\parindent % remember the global indentation
\newlength{\currentparskip}\currentparskip\parskip % remember the global skips
\makeatletter
\newcommand\graybox[1]{%
\noindent % no intented box !!
\colorbox{gray!20}{\parbox[t]{\linewidth}{%
\def\insideitemize{itemize}
\ifx\@currenvir\insideitemize
\parskip 4pt plus 2pt minus 1pt % like itemsep
\else
\parindent\currentparindent % use the global indentation
\parskip\currentparskip % use the global paragrapk skip
\fi #1}}}
\makeatother
\begin{document}
\lipsum[2][1-2]\par \lipsum[3][1-2] % normal dummy paragraphs
\graybox{\lipsum[2][1-2]\par \lipsum[3][1-2]} % now boxed
\lipsum[5][1-2]
\newpage % now in nested list
\begin{itemize}
\item \lipsum[2][1-2] \par \lipsum[3][1-2]
\item \graybox{\lipsum[2][1-2]\par \lipsum[3][1-2]}
\item \lipsum[5][1-2]
\begin{itemize}
\item \lipsum[2][1-2] \par \lipsum[3][1-2]
\item \graybox{\lipsum[2][1-2]\par \lipsum[3][1-2]}
\item \lipsum[5][1-2]
\end{itemize}
\end{itemize}
\end{document}
решение2
Я не знаю, что вы хотите. Пожалуйста, предоставьте больше подробностей и MWE.
Вот лишь пример, основанный на моих догадках:
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\colorbox{gray!30}{
\begin{minipage}{\textwidth}
\setlength\parindent{24pt} some text you want with indentation;\\
some text you want but no indentation.
\end{minipage}}
\end{document}