Ctags: TeX : [amélioration] Patch pour LaTeX pour les présentations de vidéoprojecteurs

Créé le 12 févr. 2020  ·  9Commentaires  ·  Source: universal-ctags/ctags

Implémentez un correctif similaire comme dans cet article https://sourceforge.net/p/ctags/patches/76/ afin que les présentations de projecteurs LaTeX soient triées par diapositives au lieu de sections

Parser buenhancement

Tous les 9 commentaires

Merci d'avoir créé ce problème.

Avez-vous un exemple d'entrée?
Je voudrais l'inclure comme cas de test dans notre référentiel.

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

est un bon exemple mais il n'utilise pas \frametitle .
Il utilise \begin{frame}{AN ITEM WE WOULD LIKE TO TAG} .

J'ai déjà implémenté des fonctions pour capturer \frametitle .
Cependant, \begin{frame}{...} ne l'est pas encore.

Je pense que celui-ci peut être utilisé, j'ai changé les titres pour utiliser le mot-clé \frametitle
https://github.com/jagjordi/IL2239-presentation

Toujours en difficulté.

Y a-t-il un moyen pour que je puisse vous aider?

Pourriez-vous essayer #2424 ?

Bonjour @masatake
J'ai une suggestion pour modifier le comportement de l'analyseur dans une présentation de projecteur.
Si un arrangement de diapositives comme cela est écrit

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

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

Normalement, je ferais répéter le même titre autant de fois qu'il existe de "sous-diapositives". Par exemple

\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}

Avec le comportement actuel de l'analyseur, il générera une entrée de balise à chaque fois que la commande frametitle est utilisée. Je dirais que généralement, le comportement devrait être qu'il ne génère une entrée de balise que la première fois que la commande est utilisée, et les utilisations ultérieures de la commande (avec le même nom de titre) "pointeront" vers la première utilisation.

Laissez-moi savoir ce que vous pensez?

Salutations,

Je travaillerai sur cet élément après avoir fusionné https://github.com/universal-ctags/ctags/pull/2450.
Cela prendra plus de temps que vous ne le pensez.

Au #2450, j'introduirai une table des symboles.
Avec cela, nous pouvons écrire le code suivant :

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

Super. Faites-moi savoir si vous avez besoin de quelque chose à tester

Cela fonctionne partiellement.
Un peu plus de travail est nécessaire.

[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
Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

lvc picture lvc  ·  8Commentaires

softinio picture softinio  ·  6Commentaires

cweagans picture cweagans  ·  4Commentaires

jayceekay picture jayceekay  ·  13Commentaires

JulienPivard picture JulienPivard  ·  16Commentaires