Suponha que eu tenha um diretório chamado Titlepage
que tenha muitos arquivos chamados titlepage_1.pdf
, titlepage_2.pdf
... titlepage_n.pdf
e seus tex
arquivos também. Eu tenho uma função bash que altera dois nomes de arquivo. (por exemplo $alterpdf 2 3
, este comando troca o nome do arquivo titlepage_2.pdf
por titlepage_3.pdf
. E faz a mesma coisa para os tex
arquivos correspondentes também.)
function swap(){ mv $1 $1._tmp && mv $2 $1 && mv $1._tmp $2; }
function alterpdf(){ swap titlepage_$1.pdf titlepage_$2.pdf; swap titlepage_$1.tex titlepage_$2.tex; }
Agora, quero uma função (por exemplo, filepush new.pdf 2 3
) que possa inserir new.pdf
dentro titlepage_2.pdf
e titlepage_3.pdf
com o nome titlepage_3.pdf
. E o número dos próximos arquivos é aumentado. titlepage_3.pdf
para titlepage_4.pdf
titlepage_4.pdf
para titlepage_5.pdf
e assim por diante.
Há também um .tex
arquivo para todos os pdf nesse diretório.
Editar
eu quero implementar segue-
Titlepage$ ls
titlepage_1.tex titlepage_1.pdf titlepage_2.tex titlepage_2.pdf titlepage_3.tex titlepage_3.pdf
Titlepage$ vim new.tex
Titlepage$ pdflatex new.tex
Titlepage$ ls
new.pdf new.tex titlepage_1.tex titlepage_1.pdf titlepage_2.tex titlepage_2.pdf titlepage_3.tex
titlepage_3.pdf
Titlepage$ push new.pdf 2 3
Titlepage$ ls
titlepage_1.tex titlepage_1.pdf titlepage_2.tex titlepage_2.pdf titlepage_3.tex titlepage_3.pdf titlepage_4.tex titlepage_4.pdf
Editar
solução proposta
$ls *.pdf|grep -Eo [0-9]+|sort -n
Isso resulta no índice dos arquivos. Começando pela cauda, incrementa cada índice adicionando 1 para cada arquivo até o ponto de inserção (2º argumento de push
). Em seguida, renomeie o arquivo de destino ( new.pdf
) paratitlepage_3rd_argement_of_push.pdf
OK, aqui está um script que faz algo parecido com o que você deseja.
Portanto, para esclarecer, você deseja inserir new.pdf entre os dois arquivos de página de título e produzir um novo arquivo, página de título_3.pdf, mover a página de título_3.pdf original para uma página de título_4.pdf e incrementar o número do restantes arquivos pdf com nomes semelhantes?
Em outras palavras, queremos ficar com uma nova lista, onde o novo titlepage_3.pdf agora contém as páginas em titlepage_2.pdf, depois as páginas em new.pdf e depois as páginas em titlepage_3.pdf? Existem várias maneiras de concatenar PDFs que você pode usar para isso. Para incrementar os números, eu recomendaria fazer isso antes da etapa de concatenação, usando regex estilo perl e o
rename
comando.Para os arquivos .tex, não tenho certeza do que exatamente você está tentando realizar, mas este link pode ter informações úteis sobre como concatenar arquivos tex.