Как начать элемент на уровне 2 в itemize (или избавиться от поля для элемента в списке)

Как начать элемент на уровне 2 в itemize (или избавиться от поля для элемента в списке)

Привет, я хотел бы, чтобы в списке предметов был элемент, начинающийся сразу со 2-го уровня.

Причина в том, что я использую lstlistings внутри списка и хочу, чтобы они были без полей, поэтому я делаю что-то вроде этого:

\begin{itemize}
    \item Top level
    \begin{itemize}
        \item Second level
    \end{itemize}
\end{itemize}
\lstinputlisting{somefile}
\begin{itemize}
    \begin{itemize}
        \item Second level
    \end{itemize}
\end{itemize}
\lstinputlisting{someotherfile}

... но latex жалуется, что во втором списке на первом уровне нет элемента:

! LaTeX Error: Something's wrong--perhaps a missing \item.

Как это исправить? Возможным вариантом для меня также было бы избавиться от отступа для листинга, если он находится внутри списка (но я не нашел решения и для этого).

Итак, что-то вроде этого без учета маржи для листингов:

\begin{itemize}
    \item Top level
    \begin{itemize}
        \item Second level
        \lstinputlisting{somefile}
        \item Second level
        \lstinputlisting{someotherfile}
    \end{itemize}
\end{itemize}

решение1

Ваша ошибка на самом деле указывает, как ее решить: Вам нужно поместить элемент в среду itemize. Поскольку вы не хотите его видеть, но хотите отступ, вы можете просто использовать \item[]. Тогда ваш itemize будет выглядеть так:

\begin{itemize}
    \item Top level
    \begin{itemize}
        \item Second level
    \end{itemize}
\end{itemize}
\lstinputlisting{somefile}
\begin{itemize}
    \item[]\begin{itemize}
        \item Second level
    \end{itemize}
\end{itemize}

Просто замечание: если вы хотите переключиться на перечисление, вам следует взглянуть на опцию enumitemи resume.

Связанный контент