Obtendo GIF e/ou imagens em movimento em uma apresentação LaTeX

Obtendo GIF e/ou imagens em movimento em uma apresentação LaTeX

Sou muito novo em apresentações em LaTeX (uso PowerPoint há anos, mas finalmente converti).

Estou me perguntando como colocar um GIF em uma seção. Se necessário, posso converter um GIF em muitas imagens e sobrepô-las para dar a impressão de movimento.

Responder1

1. Converta e divida GIF animado em sequência PNG

convert -coalesce something.gif something.png

ou

magick convert -coalesce something.gif something.png

convert/ magick converté uma ferramenta de linha de comando do pacote de software ImageMagick.org. O nome do comando depende da versão do software.

Isso produz um conjunto de arquivos PNG numerados something-0.png, ..., something-16.png(aqui, o GIF originalhttps://i.stack.imgur.com/VHJmL.gif, renomeado para something.gifconsiste em 17 quadros.) A opção -coalesceé necessária para desfazer uma possível otimização do arquivo GIF original.

2. Obtenha velocidade de animação original

magick identify -verbose something.gif | grep 'Delay'

Os usuários do Windows podem querer executar

magick identify -verbose something.gif | sls -Pattern 'Delay'

no PowerShell.

Isso gera linhas (uma para cada quadro) como:

Delay: 10x100
Delay: 10x100
Delay: 10x100
...

A taxa de quadros (quadros por segundo), a ser passada como argumento para o \animategraphicscomando abaixo, é encontrada dividindo o número a seguir xpelo número à frente dele:

taxa de quadros= 100 (tics/s) / 10 (tics/quadro) = 10 quadros/s

3. Incorpore a sequência PNG como uma animação em loop incorporada no PDF final

(Este tipo de animação requer umJavaScript-suporte para visualizador de PDF, comoAcrobat ReaderouKDE Okular.)

\documentclass{beamer}
\usepackage{animate}

\begin{document}
\begin{frame}{Embedded Animation}
  \animategraphics[loop,controls,width=\linewidth]{10}{something-}{0}{16}
\end{frame}
\end{document}

O argumento {10}define a taxa de quadros desejada (quadros por segundo) {0}e {16}define o primeiro e o último número de arquivo da série PNG a ser incluído na animação. Observe que taxas de quadros acima de 30 FPS, se alcançadas pelo visualizador de PDF, não fazem muito sentido. 30 FPS é um valor típico em codificação de vídeo. Usar opção de comandomeasuree o +botão para ver quais taxas de quadros são possíveis. Eles podem depender do tamanho da imagem e, claro, do hardware no qual o visualizador de PDF está sendo executado.

Para uma impressão mais semelhante a GIF, option autoplaypode ser usado em vez de ou além de option controls.

insira a descrição da imagem aqui

Responder2

Ok, vamos começar com o .gifcomentário de @SeanAllred.

Primeiro passo: conversão

Provavelmente existem muitos métodos para fazer isso. Para ser independente do sistema operacional, existem conversores online, peça sugestões ao seu mecanismo de busca preferido.

Ou se preferir usar a linha de comando, use convertdo ImageMagick:

convert -coalesce VHJmL.gif something.png

Certifique-se de que as imagens resultantes tenham nomes something-0e assim por diante.

Segunda etapa: multiinclusão

\documentclass{beamer}
\usepackage{xmpmulti}
\begin{document}
    
    %asuming you images are called "something-0.png" up to "something-16.png" 
    \begin{frame}
        \transduration<0-16>{0}
        \multiinclude[<+->][format=png, graphics={width=\textwidth}]{something}
    \end{frame}
    
\end{document}

insira a descrição da imagem aqui

Responder3

Dê uma olhada empdfpceles têm umexemplocomo incorporar vídeos. pdfpc é uma ferramenta para exibir suas beamerapresentações.

Não funciona com gifs mas você ainda pode convert something.gif something.avi. Para obter uma visualização da imagem, executeconvert something.gif poster.png

Exemplo atualizado para usar o multimediapacote agora recomendado por pdfpc:

\documentclass{beamer}
\usepackage{multimedia}

\begin{document}
  \frame{
    \movie{\includegraphics{poster.png}}{movie.avi}
  }
\end{document}

Exiba sua apresentação compdfpc my-presentation.pdf

Nas versões anteriores, não parecia funcionar se o seu vídeo estivesse em outro diretório definido por \graphicspath.

informação relacionada