revisão de código pdf em script

2

O que eu tento conseguir

Eu preciso rever um monte de código-fonte C espalhado em dezenas de diretórios. Eu já tenho um script bash que faz o seguinte: Ele procura por todos os códigos-fonte no diretório em que estou interessado. Para cada código encontrado, ele gera um pdf (onde o arquivo de origem é) usando o seguinte comando:

a2ps $source -R --columns=1 --prologue='color' --line-numbers=1 -T2 -M A4 \
  --chars-per-line=100 --borders=no --encoding=iso1 -o - | \
  ps2pdf -sPAPERSIZE=a4 - $dest

Em seguida, ele abre este PDF gerado com um visualizador de PDF para que eu possa revisá-lo usando notas adesivas. Então, salve-o, feche-o e o script faça o mesmo para o próximo código-fonte c, etc.

Dessa forma, posso revisar todos os códigos-fonte de maneira automática e distribuir a revisão novamente em um prático formato pdf.

Onde ele falha

Não consigo encontrar um leitor de PDF adequado que me permita fazer exatamente o que mencionei acima. Basicamente o que eu tentei:

Evince

Não permita salvar as notas no mesmo arquivo, preciso "Salvar como ..." e, em seguida, evidencie a localização anterior usada e não a localização do pdf atual. Isso me força a navegar manualmente pelos diretórios para encontrar o pdf de origem para substituí-lo.

Xournal

Não tem notas e isso é obrigatório para mim.

Okular

As notas adesivas não são visíveis no Adobe Reader, o que é obrigatório para mim também.

Adobe Reader 9

Esta versão antiga para Linux (obrigado Adobe) não suporta notas adesivas.

Portanto, o que preciso

Para resumir o que eu disse acima, preciso de um leitor de PDF que seja:

  • capaz de salvar o PDF anotado diretamente ou pelo menos salvar como no mesmo diretório diretamente
  • usando notas adesivas oficiais em pdf
  • cria notas autocolantes que são visíveis, pelo menos, no Adobe Reader e evidenciam

Sua ajuda é muito apreciada, pois pode me poupar muito tempo! Além disso, sinta-se à vontade para sugerir uma ideia de fluxo de trabalho totalmente diferente se ela corresponder à minha necessidade.

    
por cid 31.10.2013 / 15:56

2 respostas

2

Uma ideia rápida envolvendo o evince e seu script bash:

 dir=$(dirname $source)
 rm -f ~/evince_save
 ln -s $dir ~/evince_save

E quando você "Salvar como" no evince, salve em ~/evince_save . Conforme você observa, o evince usará o mesmo diretório todas as vezes, mas o script de automação terá substituído seu link a cada vez; você não precisa navegar e o arquivo acaba no lugar certo.

O rm remove o link simbólico e não o diretório; -f significa nenhum erro se ~/evince_save ainda não existir.

    
por 31.10.2013 / 17:27
2

Se esse arquivo de origem C ainda não estiver sob controle de revisão, coloque-o sob controle de revisão (mercurial seria minha sugestão). Se eles estão sob algum sistema de controle de revisão desatualizado (SVN, CVS) converter a base de origem.

(Depois disso,) clone o repositório e faça branch 'revision', use o editor normal com realce de sintaxe (deve ser tão legível quanto seus PDFs) e alguma maneira reconhecível de marcar seus comentários:

/*CID: need to review the following in more detail */

O feedback de revisão pode ser dado comprometendo e empurrando suas alterações e os outros podem apenas fazer um (diff gráfico) para ver quais são seus comentários (por arquivo ou por um monte de arquivos).

Você não precisa marcar os comentários, mas se alguém mescla suas "alterações" em seus comentários, isso é mais facilmente reconhecido.

(Eu não sei ao certo por que você acha o formato PDF acessível.)

    
por 31.10.2013 / 16:23