Qualcuno conosce un modo semplice per produrre il PostScript corrispondente a una versione evidenziata dalla sintassi di un file sorgente che può essere inviato direttamente a una stampante PostScript?
Come suggerisce probabilmente la formulazione della domanda sopra, sto cercando qualcosa che posso eseguire dalla riga di comando. Sto pensando a un'interazione come:
% syntax_highlight <SOURCE_FILE> | lp
…con opzioni della riga di comando secondo necessità, ecc.
La migliore che ho trovato finora è un'utilità Unix chiamata highlight
, ma ha problemi. La cosa più grave è che non ha un'opzione per generare direttamente PostScript. (Poiché highlight
supporta l'output LaTeX, ho provato a mettere insieme uno script che automatizzasse il processo di generazione del file PostScript tramite *.tex => *.dvi => *.ps, ma l'aspetto visivo del risultato finale è terribile, molto peggio rispetto al file HTML che highlight
genera per lo stesso input di codice sorgente.)
Grazie!
Risposta accettata:
Puoi usare vim.
vim -c hardcopy -c quit /path/to/file
Questo stamperà il file e si chiuderà immediatamente. Per impostazione predefinita, vim stampa con l'evidenziazione della sintassi.
Se hai bisogno di stampare da stdout di qualche comando, puoi farlo:
cat some_file.c | vim -c hardcopy -c 'quit!' -
Se vuoi salvare il .ps per dopo, puoi farlo aggiungendo il reindirizzamento al comando cartaceo, in questo modo:
vim -c 'hardcopy > /path/to/saved.ps' -c 'quit' /path/to/file
Vim ti consente di impostare molte opzioni relative alla stampa, quindi potresti voler vedere la documentazione se vuoi modificarla. Naturalmente, ci sono anche molte opzioni di evidenziazione della sintassi.