Eu tenho um arquivo de texto de tópicos de aula da minha aula de física que se parece com isso:
1/14,Galilean relativity,Einsteinian relativity,Minkowski space,Henri Poincare,,
1/16,Lorentz transformations,Velocity transformations,Proper time,Light aberration,Lorentz tensors formalism,Minkowski space
1/23,Lorentz boost,Lorentz group,Poincare group,contravariant tensor,covariant tensor,d'Alembertian
Na verdade, eu o armazeno como o Google Doc, então eu poderia exportá-lo como um tsv, ods, xslx, etc. em vez de um csv.
Eu quero gerar um índice como você veria no final de um livro, listando os tópicos em ordem alfabética por data, por exemplo
d'Albertian 1/23
... (more entries)
Minkowski space 1/14 1/16
... (more entries)
Velocity transformations 1/16
ou se você quiser se interessar:
d'Albertian ................. 1/23
... (more entries)
Minkowski space ............. 1/14, 1/16
... (more entries)
Velocity transformations .... 1/16
Primeiro pensei em usar LaTeX
, mas todos os pacotes de indexação parecem ter um número de página, não uma string arbitrária como uma data. Na verdade, "o MakeIndex assume que todos os números de página são numerais romanos em árabe ou em letras minúsculas"; link .
Além disso, o arquivo de entrada para makeindex
deve ser uma lista com um tópico e número de página por linha; ele apenas faz a classificação e a formatação: link
O software que estou procurando precisa fazer isso:
- Aceite um formato csv, tsv ou outro formato de planilha.
Isso seria ideal, mas eu ficaria bem com um formato de texto que poderia ser facilmente gerado a partir de um arquivo de planilha, por exemplo por substituições com
awk
ou sed
.
- Associe a primeira entrada de cada linha (por exemplo, a data
1/14
) a cada uma das entradas a seguir (por exemplo, os tópicos Galilean relavity
, Minkowski space
, etc.).
- Classifique todos os tópicos para todas as datas em ordem alfabética.
- Combine os tópicos que aparecem mais de uma vez em uma única entrada, listando todas as datas em que o tópico é exibido.
- Envie o resultado como um formato padrão.
Meu único requisito para o software é que ele seja executado no Linux.
Eu não sou muito exigente com o formato de saída; arquivo de texto, LaTeX, HTML, odf, etc. estão bem por mim, contanto que eu possa imprimir uma cópia em papel.