사용자 정의 항목별 정렬

사용자 정의 항목별 정렬

단락이 별도의 페이지에 표시되는 것을 방지하기 위해 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}  

배열이 옵션 t를 존중하지 않습니다.

답변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을 제거하십시오.

출처 : 내 예전 답변여기

산출:

여기에 이미지 설명을 입력하세요

관련 정보