私は Latex を使い始めたばかりなので、これは非常に初心者的な質問のように聞こえるかもしれません。私は lstlisting にいくつかのコードを入れ、その後に空白行を追加し、その後に「Define the bla bla」行を追加したいと考えています。
問題 1: Define の前のスペースですが、なぜこのようなことが起こるのかわかりません... ドキュメントの残りの部分では発生しません...
問題 2: \ を使用して \lstlisting の後に改行を挿入しようとしましたが、機能しません...
これはそのエリアの私のコードです:
\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.
私が達成したいことは次のとおりです:
答え1
これをあまり使用しないでください\\
。通常、通常のテキストではまったく使用しないでください。新しい段落がどこから始まるか (コード内の空白行)、どこから開始しないか (空白行または%
) を決定する必要があります。新しい段落は常にそのインデント (「サイズの定義...」の前) を取得して、新しい段落を見えるようにします。この特定のケースでそれを望まない場合は を使用します\noindent
。
最も良い方法は、新しい段落を追加したくないので、空行を残さないことです。これにより、コードのセマンティクスが正しいままになります。リストの周囲のスペースを大きくしたい場合は、すべてのリストで同じにする必要があります。したがって、プリアンブルで定義する必要があります。私の MWE を参照してください。
% 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}
後で間隔を変更することにした場合は、単に再定義するaboveskip=10pt
か、他の方法で変更するか、そのままにしておくことができます。これは、リストのスタイルを変更した場合に発生する可能性があります。たとえば、ボックスなどで囲むなどです。これにより、最大限の柔軟性が得られます。
注意: 1 つの大きな段落のように見えるため、すべての空白行を に置き換えました%
。何が起きているかを確認するには、これらを操作して (1 つずつ削除して) みてください。たとえば、列挙の前のスペースが大きすぎます (これは新しい段落の始まりではないことを示しています)。