рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреА рддрд░рд╣ рдПрдХ рд╕рдорд╛рди рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░реЗрдВ https://sourceforge.net/p/ctags/patches/76/ рддрд╛рдХрд┐ LaTeX рдмреАрдорд░ рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдХреЛ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рдмрдЬрд╛рдп рд╕реНрд▓рд╛рдЗрдб рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЗрдирдкреБрдЯ рд╣реИ?
рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рднрдВрдбрд╛рд░ рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ \frametitle
рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ \begin{frame}{AN ITEM WE WOULD LIKE TO TAG}
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА \frametitle
рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдЧреВ рдХрд░ рджрд┐рдП рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, \begin{frame}{...}
рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ \frametitle
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖рдХ рдмрджрд▓ рджрд┐рдП рд╣реИрдВ
https://github.com/jagjordi/IL2239-presentation
рдЕрднреА рднреА рд╕рдВрдШрд░реНрд╖ред
рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдХреНрдпрд╛ рдЖрдк #2424 рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдирдорд╕реНрддреЗ @masatake
рдореЗрд░реЗ рдкрд╛рд╕ рдмреАрдорд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рдкрд╛рд░реНрд╕рд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИред
рдпрджрд┐ рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ
Frame 1
|-- Subframe 1.1
|-- Subframe 1.2
|-- Subframe 1.3
Frame 2
|-- Subframe 2.1
|-- Subframe 2.2
рдЖрдо рддреМрд░ рдкрд░ рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╣реА рд╢реАрд░реНрд╖рдХ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рддрдиреА рдмрд╛рд░ "рдЙрдк-рд╕реНрд▓рд╛рдЗрдб" рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
\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}
рдкрд╛рд░реНрд╕рд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдпрд╣ рд╣рд░ рдмрд╛рд░ frametitle
рдХрдорд╛рдВрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред рдореИрдВ рддрд░реНрдХ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдо рддреМрд░ рдкрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЯреИрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рдж рдХреЗ рдЙрдкрдпреЛрдЧ (рдЙрд╕реА рд╢реАрд░реНрд╖рдХ рдирд╛рдо рдХреЗ рд╕рд╛рде) рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП "рдмрд┐рдВрджреБ" рд╣реЛрдЧрд╛ред
рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдореБрдЭреЗ рдмрддрд╛рдУ?
рд╕рд╛рджрд░,
рдореИрдВ https://github.com/universal-ctags/ctags/pull/2450 рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕ рдЖрдЗрдЯрдо рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛
рдЖрдкрдХреЗ рдЕрдиреБрдорд╛рди рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред
#2450 рдореЗрдВ, рдореИрдВ рдПрдХ рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛ рдкреЗрд╢ рдХрд░реВрдВрдЧрд╛ред
рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
tagEntryInfo *tag = lookupTag ("Frame1");
if (! (tag && kinfOf(tag) == "frametitle"))
skip();
else /* a frame title we have never seen. */
makeTag ();
рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪрд╛рд╣рд┐рдП ЁЯСН
рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдереЛрдбрд╝рд╛ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
[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