Привет, я хотел бы, чтобы в списке предметов был элемент, начинающийся сразу со 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
.