Acabei de começar a trabalhar com Latex, então isso pode parecer uma pergunta muito nova. Coloquei um código em um lstlisting e depois quero adicionar uma linha em branco e depois a linha "Definir o bla bla".
Problema 1: Aquele espaço antes de Definir, não sei porque isso está ocorrendo... não acontece no resto do meu documento...
Problema 2: tento inserir uma quebra de linha após \lstlisting usando \ mas não funciona...
Este é o meu código para essa área:
\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.
Isso é o que eu gostaria de alcançar:
Responder1
Você não deve usar \\
muito isso. Normalmente, você não deve usá-lo em texto normal. Você tem que decidir onde um novo parágrafo começa (linha em branco no código) e onde não deveria (sem linha em branco ou um %
). Um novo parágrafo sempre terá aquele recuo (antes de "Definir o tamanho...") para tornar o novo parágrafo visível. Se você não quiser isso neste único caso, use \noindent
.
A melhor maneira seria deixar de lado as linhas vazias, pois você não deseja obter novos parágrafos. Isso manterá a semântica do seu código correta. Se você deseja obter um espaçamento maior em torno de sua listagem, deve ser o mesmo para todas as listagens. E assim, tem que ser definido no preâmbulo. Por favor, veja meu 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}
Se posteriormente você decidir alterar o espaçamento, basta redefinir aboveskip=10pt
ou qualquer outra medida ou deixá-la de lado. Isso pode acontecer se você alterar o estilo de sua listagem. Por exemplo, estar rodeado por uma caixa ou algo semelhante. Isso lhe dá flexibilidade máxima.
NB: Substituí todas as suas linhas em branco por %
um grande parágrafo, pois parece ser um grande parágrafo. Você deve brincar com eles (excluir um por um) para ver o que está acontecendo. Por exemplo, o espaçamento na frente da sua enumeração era muito grande (sugerindo que este não era o início de um novo parágrafo).