Como posso imprimir um código bem formatado

19

Semelhante ao uso de redução no Stack Overflow para criar monospace output , como posso fazer isso para meus programas.

Eu tentei lp nome_do_arquivo.txt e fiquei agradavelmente agradecido ao descobrir que era capaz de usar a impressora de rede local e imprimir 'como está'

O problema é que a saída não é mono-espaçada.

Existe uma opção mais rápida que ...

1) copy the text
2) paste into a text doc
3) format the document as mono
4) print it 

Eu adoraria encontrar alguma opção como lp filename.txt -format=mono ;)

    
por Michael Durrant 19.07.2012 / 22:18

3 respostas

3

a2ps foi a resposta. Eu instalei com cerveja:

brew install a2ps

Agora posso a2ps myfilename e funciona.

Infelizmente, surge a paisagem e, se eu tentar retratá-la, ela será reduzida para a esquerda e minúscula, ocupando apenas 50% da página. [upate - encontrado correção para isso com o parâmetro -1 (para o número de páginas para encontrar em uma folha - o padrão era 2)

No entanto, como o paisagismo funcionou e o código tem o estilo fixed format que eu estava procurando.

    
por 26.07.2012 / 15:18
20

Você pode usar o editor vim para imprimir arquivos arbitrários que o vim pode ler. Use o seguinte para criar um arquivo PostScript.

vim \
  -c 'hardcopy > output.ps' \
  -c quit <input_file>

Se você quiser um arquivo PDF, adicione && ps2pdf output.ps à linha de comando.

Você também pode escrever um pequeno script que cole o conteúdo atual da área de transferência em um arquivo temporário, executa o vim no arquivo, imprime o arquivo resultante e exclui o arquivo temporário.

    
por 19.07.2012 / 22:38
12

O caminho mais curto aqui provavelmente é usar a2ps , ele gera postscript monoespaçado por padrão.

Você pode instalar a2ps com a fermentação, ou seja, brew install a2ps

Dependendo de sua configuração, ele enviará a saída diretamente para stdout ou lp, substituindo por -o . Além disso, a2ps reconhece várias linguagens de programação e as imprime de forma bonita.

a2ps -o output.ps infile.text

Use --pro=color se a cor estiver disponível:

a2ps --pro=color -o output.ps infile.text

Para a saída HTML, costumo usar o recurso vim 2html .

    
por 19.07.2012 / 22:41