
Olhei em volta e não encontrei resposta para esta pergunta. Estou usando o changes
pacote e preciso remover todas as marcações do arquivo de origem. Háessa questãosobre como usar odelcmdchanges.bash, mas infelizmente fica sem resposta.
Minhas perguntas são estas: por que o script não está funcionando e existe uma maneira de fazê-lo funcionar? Existe outro roteiro? (espero que também possa ser usado em uma máquina Windows)
Algumas informações básicas - estou usando uma máquina lubuntu 16.04.
Estou tentando remover a marcação do seguinte arquivo sem sucesso:
\documentclass{article}
\usepackage{changes} %I could use [final] to hide the markup from the PDF, but I need the ``evidence'' removed from the source
\begin{document}
Some text \added{some added text}, and some \replaced{replaced}{replactd} text. \deleted{also, some deleted.}
\end{document}
Coloquei o script na mesma pasta que input.tex, tornei o script executável e usei
sh ./delcmdchanges.bash -i input.tex output.tex
Não recebo nenhum erro, nenhuma consulta sobre a marcação encontrada e o conteúdo do arquivo de saída é idêntico ao de entrada.
Responder1
Experimente o comando
awk -W version
Provavelmente lhe diz algo como mawk 1.3.3
. mawk
é uma implementação específica do awk
, que nesta versão possui o bug (recurso ausente?) de não suportar classes de caracteres Posix. O script delcmdchanges.bash
usa o caracter class [:space:]
, que não é interpretado corretamente.
Suas opções são:
Atualize para
mawk
1.3.4. Embora esteja disponível há algum tempo, ele ainda não foi incluído em várias distribuições Linux (como Ubuntu 16.04 e 16.10, bem como em todas as versões atuais (= novembro de 2016) do Debian, incluindo sid).Instale outra implementação de
awk
, comogawk
. Se não for automaticamente definido como padrão após a instalação (o que significa queawk
agora invocagawk
), substituaawk
porgawk
no script.Como alternativa, edite o script e substitua todas as ocorrências de
[[:space:]]
por
[ \t\r\n\v\f]
(as barras invertidas devem ser interpretadas literalmente, portanto uma sequência de 11 caracteres é substituída por uma sequência de 13 caracteres).
Responder2
Versões mais recentes do pacote contêm um novo script escrito em python. Ele pode ser usado executando python pyMergeChanges.py [-arh] <Input File> <Output File>
a partir da pasta de script.
Portanto, eu recomendaria a uma pessoa que tenha problemas com o arquivo bash que atualize o pacote ou baixe o novo script.
Para mais informações consulte a documentação do pacote.