
단락이 별도의 페이지에 표시되는 것을 방지하기 위해 itemize 환경과 minipage 환경을 결합하려고 합니다. 그러나 결과적으로 글머리 기호와 텍스트의 정렬이 변경됩니다.
에게
명확히 하기 위해 아래 코드처럼 미니페이지와 항목화/열거를 결합하여 첫 번째 예에서와 같이 글머리 기호와 텍스트 사이의 간격을 동일하게 만드는 방법을 찾고 있습니다.
\documentclass{article}
\begin{document}
\begin{itemize}
\item
\begin{minipage}{\textwidth}
Lorem\\
Ipsum
\end{minipage}
\end{itemize}
\end{document}
편집: 미니페이지 옵션이 [t]
제안되었으며 일반적으로 작동하지만 다른 환경과 완전히 호환되지는 않습니다. 다음과 같이 어레이 환경과 페어링하면 총알이 중앙 위치로 재설정됩니다.
\documentclass{article}
\begin{document}
\begin{itemize}
\item
\begin{minipage}[t]{\textwidth}
$\begin{array}{rcl}
x &=& y\\
y &=& x\\
2x &\neq& 5y
\end{array}$
\end{minipage}
\end{itemize}
\end{document}
답변1
옵션을 사용하면 다음 [t]
과 minipage
같은 트릭을 수행할 수 있습니다.
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{lipsum}
\usepackage{enumerate}
\begin{document}
\begin{itemize}
\item
\begin{minipage}[t]{\linewidth} % Thanks to Bernard
\lipsum[1]
\lipsum[2]
\end{minipage}
\end{itemize}
\lipsum[3]
\end{document}
메모:은 \usepackage[showframe]{geometry}
여백을 표시하기 위한 것이므로 실제 문서에서는 삭제할 수 있습니다.
편집하다:
갈등에 관해서는:
충돌이 일어나는 이유는 array
행의 문자처럼 전체 환경을 하나의 요소로 간주하기 때문입니다. 이는 array
환경이 첫 번째 행을 중심으로 "중앙화"된다는 의미입니다.
이 문제를 해결하는 빠르고 까다로운 방법은 다음과 같습니다.
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{itemize}
\item
\begin{minipage}[t]{\linewidth}
\raisebox{-\baselineskip}{$\begin{array}{rcl}
x &=& y\\
y &=& x\\
2x &\neq& 5y
\end{array}$}
\end{minipage}
\end{itemize}
\end{document}
다음에 대한 표준 솔루션 array
: 우리는 [t]
다시 한 번 사용합니다(koleygr 덕분에):
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{itemize}
\item
\begin{minipage}[t]{\linewidth}
$\begin{array}[t]{rcl}
x &=& y\\
y &=& x\\
2x &\neq& 5y
\end{array}$
\end{minipage}
\end{itemize}
\end{document}
답변2
내가 할 일은 다음과 같습니다.
\documentclass{article}
\usepackage{lipsum}
\newsavebox{\mybottombox} % Box to save the text of the command
\newlength{\mybottomlength} % The length of our text inside the command
\newlength{\availafter} % The available length left on the page after placing our text
% Optional argument is the minimum length after the nobottom text for not pagebreak. Change it to your needs
\newcommand{\mnobreak}[2][0pt]{\savebox{\mybottombox}{\vbox{#2}}\setlength{\mybottomlength}{\ht\mybottombox}%
\setlength{\availafter}{\dimexpr\textheight-\mybottomlength-\pagetotal\relax}\ifdim\availafter<#1%
\pagebreak\noindent\usebox{\mybottombox}%
\else%
\noindent\usebox{\mybottombox}%
\fi%
}%
\begin{document}
\lipsum[1-4]
To clarify, I'm looking for a way to combine minipage and itemize/enumerate like the code below to get the same spacing between the bullet and text as in the first example. To clarify, I'm looking for a way to combine minipage and itemize/enumerate like the code below to get the same spacing between the bullet and text as in the first example.
\begin{itemize}
\item \mnobreak{Lorem\\Lipsum\\Lorem\\Lipsum\\Lorem}
\end{itemize}
\end{document}
항목이 파손될 수 있는지 확인하려면 마지막 Lorem을 제거하십시오.
출처 : 내 예전 답변여기
산출: