
답변1
\colorbox
기본 들여쓰기가 있는 경우 는 a로 시작해야 하며 , \noindent
상자의 너비가 와 같아야 더 좋습니다 \linewidth
. 따라서 목록 내부와 같은 좁은 공간에서도 사용할 수 있습니다. 들여쓰기 및 단락 건너뛰기는 a minipage
또는 a 내부에서 재설정되므로 \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}