Ctags: TeX: [peningkatan] Patch untuk LaTeX untuk presentasi beamer

Dibuat pada 12 Feb 2020  ·  9Komentar  ·  Sumber: universal-ctags/ctags

Terapkan tambalan serupa seperti di posting ini https://sourceforge.net/p/ctags/patches/76/ sehingga presentasi beamer LaTeX diurutkan berdasarkan slide, bukan bagian

Parser buenhancement

Semua 9 komentar

Terima kasih telah membuat masalah ini.

Apakah Anda memiliki contoh masukan?
Saya ingin memasukkannya sebagai kasus uji ke dalam repositori kami.

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

adalah contoh yang bagus tetapi tidak menggunakan \frametitle .
Ini menggunakan \begin{frame}{AN ITEM WE WOULD LIKE TO TAG} .

Saya telah mengimplementasikan fungsi untuk menangkap \frametitle .
Namun, \begin{frame}{...} belum.

Saya pikir ini bisa digunakan, saya mengubah judul untuk menggunakan kata kunci \frametitle
https://github.com/jagjordi/IL2239-presentation

Masih berjuang.

Apakah ada cara saya dapat membantu dengan ini?

Bisakah Anda mencoba #2424?

Halo @masatake
Saya punya saran untuk mengubah perilaku parser dalam presentasi beamer.
Jika susunan slide seperti ini ditulis

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

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

Biasanya saya akan mengulangi judul yang sama sebanyak "sub-slide" ada. Sebagai contoh

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

Dengan perilaku parser saat ini, ia akan menghasilkan entri tag untuk setiap kali perintah frametitle digunakan. Saya berpendapat bahwa umumnya perilaku itu hanya menghasilkan entri tag yang jinak pertama yang digunakan perintah, dan penggunaan berikutnya dari perintah (dengan nama judul yang sama) akan "menunjuk" ke penggunaan pertama.

Biarkan aku tahu apa yang Anda pikirkan?

Salam,

Saya akan mengerjakan item ini setelah menggabungkan https://github.com/universal-ctags/ctags/pull/2450.
Ini akan memakan waktu lebih lama dari yang Anda duga.

Di #2450, saya akan memperkenalkan tabel simbol.
Dengan itu kita dapat menulis kode berikut:

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

Kedengarannya bagus. Beri tahu saya jika Anda membutuhkan sesuatu untuk diuji 👍

Ia bekerja sebagian.
Dibutuhkan sedikit lebih banyak pekerjaan.

[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
Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

fommil picture fommil  ·  19Komentar

liuchengxu picture liuchengxu  ·  8Komentar

alphaCTzo7G picture alphaCTzo7G  ·  7Komentar

trevordmiller picture trevordmiller  ·  9Komentar

jespinal picture jespinal  ·  8Komentar