Estou procurando um editor para imprimir (em papel) código C ++. Atualmente, estou na escola de engenharia e o instrutor nos pediu para enviar o código no papel.
Ele quer o nome + sobrenome, o número da classe (no cabeçalho), o número da página na parte inferior e as palavras reservadas em negrito para cada página!
No Windows, isso pode ser feito notepadd++
. Mas eu estou no Linux e não encontrei um IDE ou editor de texto que funcione. (Eu já tentei SCITE
, gedit
e Syntaxic
)
Respostas:
Bem, se você quiser ir além, faça-o no LaTeX e forneça um arquivo PDF de nível profissional. Você não mencionou sua distribuição, então eu darei instruções para sistemas baseados no Debian. A mesma idéia básica pode ser feita em qualquer Linux.
Instale um sistema LaTeX e pacotes necessários
Crie um novo arquivo (chame-o
report.tex
) com o seguinte conteúdo:Apenas certifique-se de alterar
/path/to/your/code.c
a penúltima linha para que aponte para o caminho real do seu arquivo C. Se você tiver mais de um arquivo para incluir, adicione um\newpage
e um novo\lstinputlisting
para o outro arquivo.Compilar um PDF (isso cria
report.pdf
)Eu testei isso no meu sistema com um arquivo de exemplo que encontrei aqui e ele cria um PDF parecido com este:
Para um exemplo mais abrangente que encontrará automaticamente todos os arquivos .c na pasta de destino e criará um arquivo PDF indexado com cada um em uma seção separada, veja minha resposta aqui .
fonte
Eu usaria geralmente enscript: algo como
será um começo - isso grava a saída postscript
output.ps
, para que você possa visualizar e substituir isso enquanto estiver mexendo na configuração e imprimi-la quando estiver satisfeito. Veja a página de manual para opções mais abrangentes.EDIT fazer com que o rodapé funcione corretamente é um pouco complicado com o enscript - eu nunca havia notado porque nunca o exigi. Se você salvar este arquivo em
~/.enscript/so.hdr
(provavelmente precisará criar o diretório), obterá a saída necessária comdando
Aproximadamente,
:hardcopy
comando do vim é fácil, mas não tão flexível, efonte
emscript
. Tem muitas opções e oferece resultados muito bons.Você pode usar o
:TOhtml
comando no vim. Isso renderiza o que você vê (ou seja, realce da sintaxe) como html. A partir daí, um navegador da web que pode imprimir em pdf funciona, pois geralmente você pode personalizar o conteúdo do cabeçalho / rodapé.Provavelmente isso é semelhante ao
:hardcopy
comando mencionado por Useless, mas não posso verificar no meu sistema no momento.Outra possibilidade é imprimir a partir do QtCreator, no entanto, não parece haver uma maneira de definir os cabeçalhos / rodapés.
fonte
Geany é um IDE simples que oferece muitas opções para o que está no cabeçalho.
Palavras reservadas podem ser manipuladas no menu de opções, mas o destaque do código faz isso no estilo do bloco de notas ++. (pode ser necessário copiar / baixar os esquemas de cores para a pasta "/home/$USER_NAME/.config/geany/colorschemes/" para obter o que você deseja)
Muito simples e pessoalmente, eu realmente gosto dos números das linhas e do formato que eles imprimem.
Também geany é executado no Windows e no Linux.
fonte
Como você solicita um editor , pode imprimir diretamente do Emacs usando
ps-print-buffer
.Os cabeçalhos e rodapés estão no grupo Personalizar chamado
ps-print-headers
.Supondo que você use o bloqueio de fonte, você provavelmente terá o destaque da sintaxe necessário. Pode ser ajustado, se necessário, usando a
ps-extend-face
funçãoDito isto, eu ainda recomendo que você use uma ferramenta 'grind' adequada, como listagens a2ps, enscript ou LaTeX +.
fonte
Para garantir a integridade, e embora eu não recomende essa solução, o
lp
programa possui uma-o prettyprint
opção que pode destacar a sintaxe.Você pode usá-lo assim, por exemplo:
Aqui eu usei a
-t
opção (title) para definir o cabeçalho. Não consigo alterar o rodapé (mas o número da página aparece na parte superior). Você pode definir o tipo de arquivo com a opção-o document-format
(a lista de valores aceitáveis deve estar/usr/share/cups/mime/mime.types
ou talvez/etc/cups/mime/mime.types
), mas se o arquivo tiver a extensão correta, não será necessário. Além disso, o destaque da sintaxe está longe de ser perfeito.fonte
Você só precisa do LibreOffice Writer .
Cole seu código C / C ++.
Encontre as palavras e faça o Negrito todas as palavras-chave em C ++.
Você pode encontrá-los aqui: http://en.cppreference.com/w/cpp/keyword
Para encontrar uma palavra Pressione Ctrl + F. Selecione "Combinar maiúsculas e minúsculas" e clique em Localizar tudo (como mostrado na captura de tela).
Depois disso, você precisa de um cabeçalho e rodapé com seu nome e número da página.
EDIT: ( Christophe Strobbe comentou :)
Existe uma extensão do LibreOffice para colorir códigos: Code Colorizer Formatter . (Ainda não testei.)
fonte
Eu costumava usar o Nedit quando estava em um sistema Solaris há muitos anos, pois gostava de uma interface GUI. Vejo que ainda está por aí. Confira.
fonte
No passado, quando o KDE3 ainda era uma grande coisa, eu usei o Kate porque para um editor de texto ele realmente produz a melhor saída. Hoje eu usaria o látex para uma solução mais incorporável, com o pacote lstlisting. Este pacote não é para impressão em cores, mas em uma impressora a laser as cores não são uma vantagem.
fonte