Eu quero usar o modo de organização para calcular trechos longos ao concatenar trechos.
Estou aberto a uma abordagem não-Babel. Tabelas me ocorreram, mas não consegui ver como referenciar uma célula de fora da tabela de uma maneira que importasse o conteúdo da célula, não apenas links para ela.
Com o Babel, eu tenho blocos de texto que eu referencio via noweb em um bloco de texto final. Não consigo descobrir como fazer um bloco de texto emitir algo para #+RESULTS:
. Não há mecanismo eval. Eu tentei usar o elisp, mas as novas linhas o ativaram, e eu não posso M-q formatar a saída de outra forma, já que as funções incorporadas são interativas. Para o modo de texto, posso me enredar em um arquivo externo, mas não inline.
Alguma ideia? Eu devo estar esquecendo alguma coisa. Eu não posso imaginar isso é difícil.
[EDITAR]:
#+NAME: abc
#+BEGIN_SRC text
This is a string that is way too long to be on one line.
The point of this whole question is that blocks with hard paragraph
breaks don't work with the elisp noweb block.
#+END_SRC
#+NAME: def
#+BEGIN_SRC text
This is also a string that is way too long to be on one line.
Again, the point of this whole question is that blocks
with hard paragraph breaks don't work with the elisp
noweb block.
#+END_SRC
#+BEGIN_SRC elisp :noweb yes :results output
(princ "<<abc>>")
(princ "<<def>>")
#+END_SRC
Ao avaliar, recebo a mensagem "Fim do arquivo durante a análise". Quando me deparo com um arquivo externo para inspecionar, o que eu vejo é isto:
(princ "This is a string that is way too long to be on one line.
(princ "The point of this whole question is that blocks with hard paragraph
(princ "breaks don't work with the elisp noweb block.")
(princ "This is also a string that is way too long to be on one line.
(princ "Again, the point of this whole question is that blocks
(princ "with hard paragraph breaks don't work with the elisp
(princ "noweb block.")
Observe como as linhas que não são de terminal em cada bloco de texto não recebem aspas duplas ou parênteses de fechamento. Isto é obviamente mal formado.
Mais uma vez, não me importa como isso é feito. Eu só quero ser capaz de calcular longas passagens de texto que envolvem bem a linha ou preservam meus envoltórios de linha dura.
Parece que nem as tabelas de modo organizacional nem o babel de modo orgânico podem fazer isso. Não consigo encontrar uma função elisp que faça o equivalente a fill-paragraph
em uma string, por exemplo, em uma lista. Isso resolveria isso.