lugares seguros para pular linhas na fonte

lugares seguros para pular linhas na fonte

Idealmente, eu gostaria de poder pular linhas antes e depois \section, antes e depois de muitos ambientes (teorema, itemizar, enumerar, etc.), entre \items em uma lista, antes e depois da matemática no estilo de exibição e em vários outros lugares . Isso me ajuda a manter meu código-fonte organizado.

Infelizmente para mim, Donald Knuth decidiu que uma linha ignorada deveria ter significado semântico no código-fonte. Tenho certeza de que ele tinha bons motivos para isso, mas eu pessoalmente ficaria muito mais feliz se o início de um novo parágrafo exigisse uma \parordem.

Estou ciente de que a solução convencional para organização do código é colocar um %símbolo no início das linhas ignoradas por motivos não semânticos;no entanto, acho que esses %símbolos extras desorganizam meu código e são menos úteis do que linhas simplesmente ignoradas.


A questão:

Quais lugares, se houver, em um documento LaTeX convencional uma ou mais linhas podem ser ignoradas sem afetar a saída?Reconheço que nenhum lugar pode ser completamente seguro se redefinições forem permitidas, então assuma que uma das classes de documento padrão ou AMS esteja em uso, que nenhum pacote adicional tenha sido carregado e que as únicas definições no preâmbulo estejam definindo tipos de teoremas.

Uma restrição adicional, para distinguir esta questão daQuando posso adicionar com segurança uma linha vazia?:Suponha que não tenho ideia de como vários comandos e ambientes afetam o modo vertical.Se preferir, minha pergunta é pedir uma lista (não necessariamente abrangente) de quais comandos/ambientes afetam o modo vertical de tal forma que uma linha ignorada antes e/ou depois não terá efeito.

Responder1

A resposta na pergunta vinculada é um pouco enganosa, pois estar no modo vertical é um detalhe técnico de implementação que não está tão intimamente ligado ao comportamento do usuário quanto implícito. Por exemplo, você está no modo vertical após uma lista, mas o latex se esforça muito para fazer com que uma linha em branco tenha um efeito de modo que o comportamento da lista corresponda ao comportamento matemático da exibição (onde você está no modo horizontal após a exibição).

Em primeiro lugar, o comportamento não está incorporado ao TeX, depende das configurações atuais do catcode.

O TeX remove todos os espaços em branco, incluindo o marcador de fim de linha dependente do sistema, de cada linha (esta parte énãopersonalizável) Em seguida, ele insere o \endlinecharif que está definido. Normalmente em LaTeX isso é ^M. Em seguida, o catcode do \endlinecharé usado como se fosse um caractere normal no arquivo. Normalmente é o catcode 5, que é o catcode especial que faz um único ^M agir como um espaço, mas dois ^M agirem como \par(omitindo alguns detalhes). Mas você poderia, em vez disso, fazer ^M ter catcode 10 quando ele funcionaria como um espaço, ou definir \endlinechar=32um único espaço (e nenhum final de linha) seria gerado em cada final de linha.

insira a descrição da imagem aqui

\documentclass{article}

\begin{document}\endlinechar=32

One two    three



four

five

\begin{itemize}

\item one

two \item

three

\end{itemize}

\end{document}

Porém se você não quiser fazer isso e manter as configurações padrão, a regra deve ser realmente simples, use uma linha em branco onde deseja finalizar o parágrafo atual.

Portanto, linhas em branco são umaerrono modo matemático.

Linhas em branco formam um marcador de final de parágrafo \par na vertical (modo par) (mas como a \paré ignorado no início de uma lista vertical, não há problema em ter uma linha em branco no início de \parbox, minipageetc, bem como após cada um dos parágrafos,

Você devenuncacoloque uma linha em branco antes de exibir matemática (o TeX acredita que a matemática de exibição deve sempre estar dentro de um parágrafo e não entre parágrafos, então se você usar uma linha em branco antes \[ou qualquer outra coisa que use $$internamente, então o TeX irá inserir código equivalente a \indent$$uma ação de recuperação e você obtém uma linha branca falsa que consiste em uma caixa de recuo, mas nenhum texto que parece um espaço vertical falso antes da exibição.

Você deve colocar uma linha em branco após um ambiente matemático de exibição ou não, dependendo se o texto seguinte é um novo parágrafo ou a continuação do parágrafo antes da exibição.

Se você colocar uma linha em branco antes ou depois de um ambiente de lista de látex, o texto após o ambiente iniciará um novo parágrafo e, portanto, normalmente será recuado; se você não colocar uma linha em branco antes ou depois da lista, o texto a seguir será considerado uma continuação do parágrafo antes da lista.

Quase todas as construções de látex são posicionadas da mesma forma que a letra X. As pessoas costumam perguntar como fazer com que as imagens incluídas fiquem lado a lado ou uma acima da outra. A resposta é como X:

X X

Coloca dois X lado a lado

X

X

coloca Xum acima do outro em parágrafos separados. Você pode substituir Xpor \includegraphicsou \fboxou \parboxou \begin{tabular}...\end{tabular}e a mesma interação com uma linha em branco se aplica.

Responder2

Aprendi a organizar minhas fontes dividindo linhas após frases, ou seja, após pontuação. Dessa forma, a maior parte da edição se torna uma confusão de linhas, os editores de texto geralmente têm um bom suporte para isso. Como um bônus adicional, os sistemas de controle de versão também funcionam com base em linhas alteradas, então esta é uma boa combinação (por exemplo, adicionar uma palavra não leva a uma dúzia de alterações devido ao preenchimento de parágrafos; as alterações são fáceis de detectar). Manter, por exemplo, artigos e encadernados faz com que erros sejam como os de um cachorro ou o erro seja fácil de detectar (procurar).

Eu escrevo equações basicamente da mesma maneira, alinhando iguais (se houver vários), dividindo e recuando termos longos, se aparecerem fatores longos, recuando-os novamente e assim por diante.

Em resumo, eu me esforço para manter a fonte recuada da mesma forma que você recuaria um programa com margens muito estreitas (o LaTeX é um pouco mais detalhado do que as expressões matemáticas escritas em, por exemplo, C). Apenas muito raramente o espaço em branco de origem natural cria quebras de parágrafo indesejadas; ocasionalmente, uma linha deve terminar com% para uma divisão lógica que não leva a espaços em branco indesejados.

De qualquer forma, este é o código-fonte. Destina-se a ser lido por pessoas, especialmente não apenas pelo escritor. Qualquer coisa fora do padrão torna o documento difícil de ler, mais difícil de reutilizar ou integrar com outros textos e quase impossível de compartilhar com outras pessoas.

informação relacionada