Alinhamento de item personalizado

Alinhamento de item personalizado

Pretendo combinar o ambiente itemize com o ambiente minipage para evitar que parágrafos apareçam em páginas separadas, mas como resultado o alinhamento do marcador e do texto muda de
Resultado desejado
para
Resultado atual
Para esclarecer, estou procurando uma maneira de combinar minipágina e discriminar/enumerar como o código abaixo para obter o mesmo espaçamento entre o marcador e o texto como no primeiro exemplo.

\documentclass{article}
\begin{document}
\begin{itemize}
 \item
  \begin{minipage}{\textwidth}
    Lorem\\
    Ipsum
  \end{minipage}
\end{itemize}
\end{document}

EDIT: A opção [t]de minipágina foi sugerida e geralmente funciona, mas não é totalmente compatível com outros ambientes. Ao emparelhá-lo com o ambiente de array da seguinte forma, o marcador é redefinido para uma posição centralizada.

\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}  

Array não respeita a opção t

Responder1

Usar a opção [t]for minipageresolve:

\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}

insira a descrição da imagem aqui

Observação:Serve \usepackage[showframe]{geometry}apenas para mostrar a margem, você pode excluí-la do documento real.

Editar:

Quanto ao conflito:

O motivo dos conflitos é que todo o arrayambiente é considerado um elemento, como uma letra na linha, o que significa que o arrayambiente ficará “centralizado” com a primeira linha.

Uma maneira rápida e complicada de resolver isso:

\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} 

insira a descrição da imagem aqui

Uma solução padrão para array: Usamos [t]mais uma vez (graças ao 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} 

insira a descrição da imagem aqui

Responder2

O que eu faria é o seguinte:

\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}

Remova o último Lorem para ver que o item quebraria com ele.

Fonte: minha antiga respostaaqui

Saída:

insira a descrição da imagem aqui

informação relacionada