Zeilenumbruch nach Listeneinträgen funktioniert nicht

Zeilenumbruch nach Listeneinträgen funktioniert nicht

Bildbeschreibung hier eingeben

Ich habe gerade angefangen, mit Latex zu arbeiten, daher klingt das vielleicht wie eine Anfängerfrage. Ich habe etwas Code in eine Listenliste eingefügt und danach möchte ich eine leere Zeile und dann die Zeile „Blabla definieren“ hinzufügen.

Problem 1: Dieses Leerzeichen vor „Definieren“ – ich weiß nicht, warum das auftritt … im Rest meines Dokuments passiert das nicht …

Problem 2: Ich versuche, nach \lstlisting mit \ einen Zeilenumbruch einzufügen, aber es funktioniert nicht ...

Dies ist mein Code für diesen Bereich:

\subsection*{Part C}

Read over and experiment with the following code:\\

\begin{lstlisting}
def is_b_list(x):
    """(object) -> bool
    Return whether x is a binary list.
    >>> is_b_list("b_list")
    False
    >>> is_b_list(0)
    True
    >>> is_b_list([0, 0])
    True
    >>> is_b_list([[0]])
    False
    """
    return (x == 0 or
           (isinstance(x, list) and len(x) == 2
            and all([is_b_list(y) for y in x])))
\end{lstlisting}

\\Define the size of a binary list as the number of left brackets in its Python representation, i.e the total number of list objects in the binary list. So 0 has size 0 and [0, 0] has size 1.

\begin{enumerate}
\item Experiment until you find a formula (probably recursive) that computes the number of different binary lists of size s. Notice that if you call the formula C(s) then C(0) computes 1 and (C1) also computes 1.

Das möchte ich erreichen:

Bildbeschreibung hier eingeben

Antwort1

Sie sollten das nicht \\zu oft verwenden. Normalerweise sollten Sie es in normalem Text überhaupt nicht verwenden. Sie müssen entscheiden, wo ein neuer Absatz beginnt (leere Zeile im Code) und wo nicht (keine leere Zeile oder ein %). Ein neuer Absatz erhält immer diesen Einzug (vor „Größe festlegen…“), damit der neue Absatz sichtbar wird. Wenn Sie das in diesem Einzelfall nicht möchten, verwenden Sie \noindent.

Am besten lassen Sie die Leerzeilen weg, da Sie keine neuen Absätze erhalten möchten. Dadurch bleibt die Semantik Ihres Codes korrekt. Wenn Sie einen größeren Abstand um Ihre Auflistung herum wünschen, sollte dieser für alle Auflistungen gleich sein. Daher muss er in der Präambel definiert werden. Bitte sehen Sie sich mein MWE an:

% arara: pdflatex

\documentclass{article}
\usepackage{listings}
\lstset{aboveskip=\baselineskip,belowskip=\baselineskip,basicstyle=\ttfamily}

\begin{document}
\subsection*{Part C}
%
Read over and experiment with the following code:
%
\begin{lstlisting}
def is_b_list(x):
"""(object) -> bool
Return whether x is a binary list.
>>> is_b_list("b_list")
False
>>> is_b_list(0)
True
>>> is_b_list([0, 0])
True
>>> is_b_list([[0]])
False
"""
return (x == 0 or
(isinstance(x, list) and len(x) == 2
and all([is_b_list(y) for y in x])))
\end{lstlisting}
%
Define the size of a binary list as the number of left brackets in its Python representation, i.e.\ the total number of list objects in the binary list. So $0$ has size $0$ and $[0, 0]$ has size $1$.
%
\begin{enumerate}
    \item Experiment until you find a formula (probably recursive) that computes the number of different binary lists of size $s$. Notice that if you call the formula $C(s$) then $C(0)$ computes $1$ and $(C1)$ also computes $1$.
\end{enumerate}
\end{document}

Bildbeschreibung hier eingeben

Wenn Sie sich später dazu entschließen, den Abstand zu ändern, können Sie ihn einfach neu definieren aboveskip=10ptoder ein anderes Maß verwenden oder ihn weglassen. Dies kann passieren, wenn Sie den Stil Ihrer Auflistungen ändern. Beispielsweise indem Sie sie von einer Box umgeben oder Ähnlichem. Dies gibt Ihnen maximale Flexibilität.


NB: Ich habe alle Ihre Leerzeilen durch ersetzt, %da es sich anscheinend um einen großen Absatz handelt. Sie sollten damit herumspielen (eine nach der anderen löschen), um zu sehen, was passiert. Beispielsweise war der Abstand vor Ihrer Aufzählung zu groß (was darauf hindeutet, dass dies nicht der Beginn eines neuen Absatzes war).

verwandte Informationen