Ctags: TeX: [mejora] Parche para LaTeX para presentaciones con proyectores

Creado en 12 feb. 2020  ·  9Comentarios  ·  Fuente: universal-ctags/ctags

Implemente un parche similar como en esta publicación https://sourceforge.net/p/ctags/patches/76/ para que las presentaciones de proyectores LaTeX se ordenen por diapositivas en lugar de secciones

Parser buenhancement

Todos 9 comentarios

Gracias por hacer este número.

¿Tiene una entrada de ejemplo?
Me gustaría incluirlo como un caso de prueba en nuestro repositorio.

https://github.com/strace/strace-talks/blob/master/2019-ossdevconf-kaluga-linux_design_flaw_story/ossdevconf_2019-slides-linux_design_flaw_story.tex

es un buen ejemplo pero no usa \frametitle .
Utiliza \begin{frame}{AN ITEM WE WOULD LIKE TO TAG} .

Ya he implementado funciones para captruir \frametitle .
Sin embargo, \begin{frame}{...} aún no lo ha hecho.

Creo que este se puede usar, cambié los títulos para usar la palabra clave \frametitle
https://github.com/jagjordi/IL2239-presentation

Todavía luchando.

¿Hay alguna forma de que pueda ayudar con esto?

¿Podrías probar el # 2424?

Hola @masatake
Tengo una sugerencia para modificar el comportamiento del analizador en una presentación de proyector.
Si un arreglo de diapositivas como este está escrito

Frame 1
|-- Subframe 1.1
|-- Subframe 1.2
|-- Subframe 1.3

Frame 2
|-- Subframe 2.1
|-- Subframe 2.2

Normalmente tendría el mismo título repetido tantas veces como existan "sub-diapositivas". Por ejemplo

\frametitle{Frame1}
\framesubtitle{Subframe1.1}

\frametitle{Frame1}
\framesubtitle{Subframe1.2}

\frametitle{Frame1}
\framesubtitle{Subframe1.3}

\frametitle{Frame2}
\framesubtitle{Subframe2.1}

\frametitle{Frame2}
\framesubtitle{Subframe2.2}

Con el comportamiento actual del analizador, generará una entrada de etiqueta por cada vez que se use el comando frametitle . Yo diría que, en general, el comportamiento debería ser que solo genera una entrada de etiqueta la primera vez que se usa el comando, y los usos posteriores del comando (con el mismo nombre de título) "apuntarán" al primer uso.

¿Déjame saber lo que piensas?

Saludos,

Trabajaré en este artículo después de fusionar https://github.com/universal-ctags/ctags/pull/2450.
Tomará más tiempo de lo que cree.

En el n. ° 2450, presentaré una tabla de símbolos.
Con eso podemos escribir el siguiente código:

tagEntryInfo *tag = lookupTag ("Frame1");
if (! (tag && kinfOf(tag) == "frametitle"))
   skip();
else /* a frame title we have never seen. */
   makeTag ();

Suena genial. Avísame si necesitas que te prueben algo 👍

Funciona parcialmente.
Se necesita un poco más de trabajo.

[yamato@slave]~/var/ctags-github% cat /tmp/input.tex 
cat /tmp/input.tex 
\frametitle{Frame1}
\framesubtitle{Subframe1.1}

\frametitle{Frame1}
\framesubtitle{Subframe1.2}

\frametitle{Frame1}
\framesubtitle{Subframe1.3}

\frametitle{Frame2}
\framesubtitle{Subframe2.1}

\frametitle{Frame2}
\framesubtitle{Subframe2.2}
[yamato@slave]~/var/ctags-github% ./ctags --sort=no -o - /tmp/input.tex 
./ctags --sort=no -o - /tmp/input.tex 
Frame1  /tmp/input.tex  /^\\frametitle{Frame1}$/;"  f   language:TeXBeamer
Subframe1.1 /tmp/input.tex  /^\\framesubtitle{Subframe1.1}$/;"  g   language:TeXBeamer  frametitle:Frame1
Subframe1.2 /tmp/input.tex  /^\\framesubtitle{Subframe1.2}$/;"  g   language:TeXBeamer  frametitle:Frame1
Subframe1.3 /tmp/input.tex  /^\\framesubtitle{Subframe1.3}$/;"  g   language:TeXBeamer  frametitle:Frame1
Frame2  /tmp/input.tex  /^\\frametitle{Frame2}$/;"  f   language:TeXBeamer
Subframe2.1 /tmp/input.tex  /^\\framesubtitle{Subframe2.1}$/;"  g   language:TeXBeamer  frametitle:Frame2
Subframe2.2 /tmp/input.tex  /^\\framesubtitle{Subframe2.2}$/;"  g   language:TeXBeamer  frametitle:Frame2
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

alphaCTzo7G picture alphaCTzo7G  ·  7Comentarios

EvanCarroll picture EvanCarroll  ·  14Comentarios

jayceekay picture jayceekay  ·  13Comentarios

cweagans picture cweagans  ·  8Comentarios

cweagans picture cweagans  ·  13Comentarios