Gostei desse tópico. É importante ter uma lista de ferramentas que podem esr usadas por quem tem necessidade de exercer funções acadêmicas ou de pura pesquisa científica.
Mas como tenho um foco bastante open-source e voltado para desempenho, fico com a sensação de que falta alguma coisa. Então, apesar de saber que essas tecnologias são provavelmente conhecidas por muitos por aqui, eis a minha pequena contribuição:
Leitor de PDF/EPUB
- SumatraPDF (somente para Windows 7+)
É open-source e extremamente leve (pesa cerca de 20 MB em disco). Suporta desde de PDF, a .mobi; .djvu; .epub. Permite manter vários arquivos abertos no formato aba. É de rápido carregamento e não pesa na memória. Além disso, é de design simplista sem deixar de entregar funcionalidade. Suporta hyperlinks.
Tem o detalhe de que mantêm uma lista nas pastas do sistema bem legível com todos os arquivos que você abriu, a página em que parou, e junto com um print em baixa resolução da página em que parou. Essas pastas não precisam de privilégio administrativo pra serem acessadas.
Ferramentas para criação de PDF
- Pacotes Office
Em virtualmente todos os pacotes Office disponíveis há a opção de gerar PDF apartir de um documento de texto como .docx, uma planilha ou mesmo uma apresentação estilo PowerPoint.
Como geralmente se busca estabilidade e habilidade de edição de formatos proprietários como os tipos de arquivo do Microsoft Office (.docx, .pptx, .xlsx, etc.).
A primeira e óbvia opção é o ONLYOFFICE, que tem ótimas ferramentas e suporte aos formatos da Microsoft. É multiplataforma e possui um ótimo desempenho, além de opções empresariais e de nuvem.
Dizem que o LibreOffice ficou muito melhor nas últimas atualizações em termos de performance e suporte a formatos MS Office. É também open-source, e vale a pena dar uma olhada. A seção de testes estatísticos do LibreOffice é sem dúvidas a mais completa dentre WPS, MS Office, ONLYOFFICE e LibreOffice. Embora perca em questão de construção gráfica para o MS Office, mas nisso as demais também costumam perder.
- LaTeX via Texlive (Linux) ou MikTek (Windows) + Texmaker/TeXstudio
Solução multiplaforma. Permite também o compartilhamento de arquivos e o controle total do usuário sobre o conteúdo do seu documento, principalmente em termos de personalização.
No entando, envolve aprender uma linguagem de programação (LaTeX), e o download e configuração dos programas necessários, o que pode ser um contratempo. No caso do Windows, usar o MikTek é a melhor solução. No caso de plataformas Linux, o Texlive tem melhor suporte. Além disso, dependendo das necessidades de produção a obtenção de pactoes pode ser um pouco mais complicada. Por exemplo, modificar a altura de tabelas em um documento me foi praticamente impossível usando Linux Mint.
No Manjaro, no entanto, o texlive funciona com mais estabilidade e facilidade de configuração.
- LaTex via Overleaf
No Overleaf você pode trabalhar com LaTeX inclusive de forma colaborativa e completamente online, ou seja, independente de plataforma, e somente dependente da conexão de internet. Os projetos podem ser exportados como zip e compartilhados com outras pessoas ou salvos. OBS: os servidores e o serviço do Overleaf são mantidos no Reino Unido, então vale levar em conta as políticas locais de privacidade e obtenção de dados, inclusive na questão da fragilidade de servidores, que o sistema possa estar submetido por conta do sistema legal britânico.
Ferramenta para edição básica de PDF
- Ferramentas prontas para juntar PDF
Após concluir esse post apareceu uma thread justamente sobre junção de PDF, que decidi que precisava linkar por ser mais simples. Atenção em dobro para o LibreOffice como forma de editar PDF, como destaco no post.
- Juntar documentos PDF com LaTeX + pdfpages
Muitas vezes são passados trabalhos universitários em que se pede alguma espécie de template encontrado online, ou em que é necessário fazer a reprodução de partes de um documentos PDF. Quando se pode entregar impresso, basta imprimir o que importa e acrescentar uma capa, porém para entregar o trabalho final como PDF dá mais trabalho. Geralmente se recorre a ferramentas online como o iLovePDF, dentre outras. Mas com LaTeX, a tarefa é extremamente simples.
Com o pacote pdfpages é possível adicionar documentos inteiros ao seu PDF, além é claro, de juntar documentos PDF mesmo que a nível de página. É um pacote bem documentado e fácil de usar. Por exemplo, a linha abaixo adiciona todas as páginas do documentos indicado ao trabalho atual. Para adicionar somente páginas, usa-se pages={1,2,6-8}, isso é, separadas por vírgulas ou em uma seleção de páginas seguidas (com o -).
\includepdf[pages=-]{partes/PRONTUARIO CALDEIRA ATA 2.pdf}
Um detalhe importante: No Windows, usa-se o / para indicar que o arquivo está dentro de uma pasta (no caso partes). No Linux e Mac, se usaria:
\includepdf[pages=-]{partes\PRONTUARIO CALDEIRA ATA 2.pdf}
De preferência, use arquivos soltos na mesma pasta do documento principal e sem espaços no nome.
- Rotacionar páginas de um documento com LaTeX + pdflscape
Às vezes se tem uma tabela muito grande para adicionar e ela acaba ficando comprimida demais na folha, a não ser que a coloquemos na vertical, ao invés da horizontal. Se o objetivo for gerar um documento PDF para divugação ao término do trabalho, a estética ficará prejudicada e o que o leitor final lembrará será de ter que virar o pescoço para ler uma de suas tabelas ou imagens
Com o pdflscape, você pode usar manter todo o conteúdo pré-selecionado em páginas formatas em Paisagem (viradas no comprimento). Basta importar o pacote e adicionar:
\begin{landscape}
\begin{figure}[htbp]
\includegraphics[scale=.7]{comprov.png}
\end{figure}
\end{landscape}
Para que a nossa figura gigante “comprov.png” seja colocada em uma página em formato paisagem, enquanto que o resto do documento fica intacto. Qualquer coisa adicionada dentro do ambiente landscape vai ficar em uma página em paisagem.
Serviços de nuvem
- MEGAsync
Multiplataforma, fácil de usar, e com criptografia zero-access. Isso quer dizer que não só a conexão usa criptografia de ponta-a-ponta, mas também os dados são salvos em disco com criptografia de alto porte e cuja senha somente o usuário conhece e pode modificar. É extremamente fácil salvar na nuvem a partir do desktop um arquivo qualquer, e enviar o mesmo via WhatsApp do cliente móvel em questão de segundos. A sincronização é instantânea.
Desvantagem: espaço limitado a 15 GB uma vez passado o período de bônus de criação de conta. Existem outros bônus, como o de 5 GB por instalação do cliente desktop, mas são todos limitados a alguns meses de validade. Além disso, a velocidade de download e upload às vezes varia, e em geral quando se baixa arquivos longos a internet fica lenta, mas a velocidde pode ser limitada nas confiugrações do cliente desktop.
Muito famoso por permitir inclusive usar o próprio servidor, é altamente personalizável e permite escolher um dos servidores, mantidos pela comunidade ou um próprio, para hospedar seus dados. Inclusive, ganhou fama recentemente por estar sendo usado por universidades e escolas européias muitas vezes inclusive em conjunto com o ONLYOFFICE, quer por questões de privacidade dos concorrentes, ou por facilidade e flexibilidade de gestão dos recursos.
Outra plataforma de nuvem semelhante ao NextCloud, e que também tem sido usado por instituições de ensino européias, e que é mencionada pelo artigo da seção anterior.
Visualizador de imagens
Apesar de parecer bobagem instalar um visualizador de imagens, é algo que acaba sendo relevante dependendo de qual você esteja usando. No Windows 10, por exemplo, o visualizador de imagens padrão consegue ser extremamente lento para abrir as imagens mais simples. Imagine então precisar urgentemente verificar um dado em um gráfico ou algum tipo de resumo ou mapa mental, mas ser atrasado pelo seu visualizador de imagens… não é uma boa experiência.
- Nomacs
Sendo multiplataforma, o Nomacs pode ser usado como app padrão para imagens no Windows, bem como nas diversas distros Linux. Apesar de a primeira inicialização poder demorar um pouco, é no geral bem rápido e com várias funcionalidades. Para Windows 10, é praticamente indispensável. A não ser que substituído por um semelhante com primeira inicialização mais rápida.
Tem a desvantagem de que pode não ser a solução mais leve para ver imagens no mundo Linux. Em algumas distros pode pesar mais de 100 MB quando uma opção mais comum não pesa 5 MB.
- GpicView
Solução leve e simples, além de ser multiplataforma. É de instalação um pouco mais complicada no Windows, mas facilmetne disponível em distros Linux. Possui uma usabilidade que pessoalmente me incomoda em termos de atalhos. Por exemplo, dar zoom com a roda do mouse (possível no nomacs).
Plataformas para cálculos matemáticos
Aqui vão ótimas alternativas para a área de exatas, e que em grande parte substituem o Matlab. Existem é claro, ferramentas como o Mathematica ou o Maple, mas não tenho familiaridade com elas.
- wxMaxima
O motor de cálculo Maxima já está disponível a anos e tem ótimas capacidades para cálculos na área de EDO, matrizes, cálculo diferencial, plotagem, etc. Além de servir também como um criador de textos matemáticos semelhante ao LaTeX, e inclusive tendo suporte a usar a linguagem e a adicionar imagens. Também é capaz de fazer plotagens, sejam elas estáticas ou de forma interativa, bidimensionais ou tridimensionais, através do GNUplot.
Infelizmente, para algumas versões mais novas a instalação no Windows é um pouco mais complicada e requer a instalação do motor Maxima e da interface wxMaxima de forma separada.
Embora nunca tenha usado pessoalmente, consiste de um programa que usa tanto o motor Maxima quanto módulos Python como o numpy e o matplotlib, e da linguagem de programação R, para ter uma capacidade de cálculo científica e precisa, e em áreas variadas da matemática. Possui também capacidades de plotagem próprias em parte por usar o módulo matplotlib do Python. Pode ser usado independente da plataforma e tem código aberto.
- GNU Octave
Um programa e linguagem de programação extremamente parecidos com o Matlab, e que em grande parte tem as memas funcionalidaes do mesmo. A sintaxe também é semelhante, o que garante maior facilidade de uso de tutoriais ou códigos voltados para Matlab. Também é multiplaforma e open-source.
- Scipy
Multiplataforma e open-source. Possui ótimas capacidades de cálculo e otimização, sendo uma ótima opção para usar quando se necessita de trabalho computacional relativamente pesado. Também possui um módulo Python próprio, o que permite usá-lo com facilidade em conjunto com programas python. No entanto, é voltado essencialmente para cálculo, e dessa forma é menos geral que o Matlab.
- Python
Claramente não é um programa, mas sim uma linguagem de programação. E por isso é bastante maleável e depende da implementação do usuário. Mesmo asim, é muito potente, bem otimizado, multiplataforma, e com módulos variados, open-source e facilmente obtidos. O destaque vai para módulos como o NumPy, Matplotlib, SciPy, Mayavi 3D, entre outros; com serventia para plotagem, cálculo numérico, e uso de ferramentas matemáticas variadas, principalmente para aplicações científicas. É ótimo para manejar big data, e conta com módulos específicos para machine learning, deep learning, data analysis e data visualization como o TensorFlow, Sklearn, Seaborn, fora alguns outros já falados.
- R
Naturalmente, a linguagem de programação R também conta na hora de pensar em ferramentas de cálculos matemáticos. Apesar de ser específica para a área de estatística, o R conta com bibliotecas de plotagem tão boas quanto o matplotlib, além da possibilidade de usar scripts Python em conjunto com o código R em um script, o que expande e muito as possibilidades de aplicação e uso de R. Vale lembrar que também é boa para big data e é muito usada por cientistas e analistas de dados, junto ao Python.
Então se essas ferramentas e linguagens ajudam profissionais no mundo inteiro, que movem grandes companhias que faturam milhões, devem ser o bastante pra aquele projeto ou aquela disciplina na universidade, ou mesmo para a pesquisa do mestrado ou doutorado.
Aplicativos para mesas digitalizadoras
Principalmente em tempos de pandemia, às vezes é útil ter uma mesa digitalizadora. Principalmente se você dá aulas particulares ou é professor/instrutor mesmo. Ainda assim, alunos também se beneficiam usando uma dessas. Além de que, mesas digitalizadoras são ótimas para tarefas de design. Eis as soluções de código aberto que conheço e que são boas.
De longe, uma das melhores ferramentas pra usar com uma mesa digitalizadora, principalmente da Wacom, e principalmente no ramo da educação. É voltado para o uso como uma lousa, e já foi vastamente utilizado por professores durante aulas online na pandemia. Também pode ser usado para editar arquivos PDF, sendo capaz de escrever por cima e então exportar o PDF com as alterações como um novo arqivo.
É multiplataforma, porém vale mencionar que para quem não usa uma flavour do Ubuntu, é levemente mais complicado de usar. Por exemplo, para quem usa Manjaro está disponível somento no AUR. Fora isso, existe o histórico de ser um pouco lento, principalmente em máquinas Windows mais modestas.
Meu favorito, Xournal++ permite escrever como que numa folha de papel, ou usar um template de folha branca, quadriculada, ou com pontos para desenho isométrico ou para desenho 2D. Possui opções de desenho de curvas, variação de tamanho da caneta, cores e formas e preenchimento de regiões. Também possui suporte para inserção de texto e exportação para PDF, de forma que permite gerar materiais completos para apresentação ou distribuição para alunos/colegas. Também permite escrever por cima de documentos PDF. Ainda tem a função de gravação que permite essencialmente gravar a janela do programa enquanto se faz a aula, para posterior compartilhamento.
Tem a pequena desvantagem de ter uma barra de ferramentas um pouco grande e imutável. Porém, é multiplataforma e bem suportado na maioria das distribuições Linux.
- GIMP
O Gimp traz fácil integração de mesas digitalizadoras. Possui compatibilidade ideal para tarefas de design. É pobre para tarefas de rabisco/escrita.
- Krita
Embora seja voltado para design e desenho no geral, também pode ser usado para escrever conteúdo no geral, com a vantagem de ser um dos programas mais potentes disponíveis para as tarefas de design. É também multiplataforma podendo ser usado no Windows.
- Inkspace
Também há como usar uma mesa digitalizadora com Inkspace. O software é bem conhecido no ramo do design para desenhar formas e imagens.
Editores de imagem
- GIMP
Um ótimo programa voltado para design 2D e que tem ótimas funções de edição de imagem. Possui filtros variados, muitas opções de caneta, edição por camadas, e ainda a função muito útil de um registro de edição em tempo real de fácil acesso. Também possui boas opções de exportação. Ao invés de usar um Photoshop pago ou pirateado, ou um Photoscape singelo, você pode usar de graça sem precisar de um hardware potente para edições de pequno porte, e independente da plataforma.
- Inkscape
Naturalmente, também é possível editar fotos com o Inkspace, que por ser uma ferramenta profissional, tem muitas ferramentas de qualidade para criação de imagens e trabalhos gráficos.
- Krita
Como já dito, o krita é um software de design 2D. Seu foco principal é o desenho artístico mesmo, mas como permite importar imagens, é possível editar imagens de dentro do Krita e então exportar as mesmas.
Editores de vídeo
Uma opção simples, cross-platform e de código livre para edição de vídeos disponível em formato estável e de desenvolvimento. Apesar de possuir ferramentas simples, suporta criação de projetos, recortes, conversão de formatos, exportação em vários formatos, dentre outras ferramentas de edição.
Vale lembrar que apesar de simples e estável, a velocidade de exportação do projeto final depende da potência da quantidade de núcleos do processor usado ou da placa de existência/qualidade da placa de vídeo dedicada usada.
Também é multiplataforma, porém mais pesada, mas também muito mais profissional e que possui ferramentas mais potentes de edição. Claro, requer para isso um hardware mais potente. Além disso, não é atualmente open-source, embora os desenvolvedores já tenham demonstrado a intenção de disponibilizar uma versão.
Programas para desenho 3D/CAD
Quem por exemplo está na área da engenharia provavelmente conhece o sofrimento de usar um software de CAD. Infelizmente essa categoria não é um remédio para a situação, mas é o começo de um tratamento. E quem sabe ajude nas horas de necessidade ou para projetos simples.
Famoso por ser uma ferramenta de CAD open-source, e possível alternativa ao AutoCAD. É limitado a desenhos 2D, mas possui algum suporte ao formato proprietário do AutoCAD, além de várias ferramentas de desenho relativamente semelhantes. É relativamente rápido e potente.
Talvez não a melhor opção para desenho 3D, visto que depende da escrita de um script estilo JavaScript com funções mais ou menso próprias, para que gere uma imagem. Isso o torno menos acessível, e menos prático para situações cotidianas. Ainda assim, é uma ferramenta rápida para desenho e, quem sabe um bom substituto para projetos pequenos.
Esse sim, uma boa opção para desenho 3D, com suporte a formatos do AutoCAD e SolidWorks. Também permite desenho 2D básico, inclusive de plantas à moda de prancha A3. Permite o uso de scripts Python, o que pode ser útil para quem tiver interesse em automatizar alguma tarefa.
Tem, no entanto, um funcionamento próprio mais voltado para o conceito de partes/corpos, e nenhuma funcionalidade de desenho funcional, via linha de comando, como é possível no AutoCAD. Isso o diferencia consideravelmente das duas opções de código fechado mais usuais, além de não integrar opções de renderização como o SolidWorks. Além disso, após anos não saiu da versão beta, e às vezes possui um ou outro problema de performance. Porém, no geral é uma boa ferramenta e que vale a pena testar. Afinal, ninguém merece rodar software CAD como uma lesma.
Uma ótima opção para desenho 3D e renderização. Consegue ser um bom substituto, teoricamente, para o SolidWorks, apesar de ser mais usado para desenho gráfico, inclusive mais voltado para gráficos de filmes, etc. e configura assim uma ferramenta profissional. Possui suporte para os formatos de arquivos do SolidWorks.
Porém, o mecanismo de funcionamento pode ser um pouco confuso dependendo do usuário e a maior parte das ferramentas do software requerem um hardware mais pesado, como um processador quadcore e uma placa de vídeo dedicada de pelo menos 1GB.
Gravador de tela
Em tempos de pandemia, é normal ter aulas online. E muitas vezes se torna necessário fazer uma gravação da aula para manter registro para estudo posterior. É importante lembrar que é efetivamente ilegal fazer uso da imagem de uma pessoa sem a sua devida autorização. Por exemplo, o compartilhamento e divulgação de gravações do tipo requer autorização expressa de todos os envolvidos, quer em termos de vídeo ou áudio, bem como de material escrito à mostra. Dito isso,
Não confundir com Simple Screen Recorder disponibilizado na loja da Microsoft por Robert Mikhayelyan Apps. O original é código de Maarten Baert com licença GNU GPL v3.
É uma ferramenta simples e leve com funções variadas de gravação. É possível gravar comente partes da tela, ou a tela toda, ou gravar o que for reproduzido via OpenGL. Ou mesmo forçar o programa a seguir o cursor. É possível selecionar a taxa de quadros, se se quer que o áudio fique gravado, opções de codec, o formato do vídeo, e onde salvá-lo. Além de se poder definir um atalho no teclado para pausa e recomeço da gravação. É também possível ver uma pré-visualização do vídeo.
A quantidade de formatos de vídeo disponíveis é de fato limitada, e pessoalmente já tive o problema de não conseguir que grave o áudio devido a alguma incompatibilidade com o PulseAudio ou hardware específico. Também é essencialmente limitado ao mundo Linux. Mas no geral, é a ferramenta perfeita para gravação simples e fácil de vídeos.
Para Windows 10, uma funcionalidade fácil de gravação de tela é usar a ferramenta de gravação da própria Microsoft (Xbox Game Bar), que é inclusive voltada para gravar jogos. Basta apertar a combinação, esperar a janela aparecer, apertar o botão de gravar e ao final ter o seu vídeo pronto.
- Gravação de Tela para MAC OS
Existe uma funcionalidade também pronta para gravar telas no MAC OS. Eis um tutorial sobre o assunto.
Naturalmente, para quem precisa de mais funcionalidades, a melhor ferramenta open-source e multiplataforma no mercado é OBS Studio. Sua fama é tão reconhecida que não vou entrar em detalhes.
Recomendado recentemente por uma universidade federal como alternativa à gravação do Google Meets para contas pagas, para gravar vídeo-conferências. É distribuído com a licença GNU v2 e disponível para Windows primariamente.
Infelizmente, parece pouco desenvolvido, além de não trazer builds para sistemas MAC e Linux, o que quer dizer que o usuário desses sistemas teria que compilar à mão o código. Porém, o código parece difícil de obter pelo site ou fórum. Assim, sinta-se no direito de ficar desconfiado.
Parabenizo quem já comentou nesse tópico pelas ótimas respostas. E espero que a minha, se não servir para aprensentar nada de novo, que ao menos sirva para sintetizar o que já existe.