Ctags: TeX:[拡張]ビーマープレゼンテーション用のLaTeXのパッチ

作成日 2020年02月12日  ·  9コメント  ·  ソース: universal-ctags/ctags

この投稿https://sourceforge.net/p/ctags/patches/76/のような同様のパッチを実装して、LaTeXビーマーのプレゼンテーションがセクションではなくスライドでソートされるようにします。

Parser buenhancement

全てのコメント9件

この問題を作成していただきありがとうございます。

入力例はありますか?
テストケースとしてリポジトリに含めたいと思います。

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

良い例ですが、 \frametitle使用していません。
\begin{frame}{AN ITEM WE WOULD LIKE TO TAG}ます。

\frametitleをキャプチャするための関数をすでに実装しました。
ただし、 \begin{frame}{...}はまだです。

これは使えると思いますが、 \frametitleキーワードを使うようにタイトルを変更しました
https://github.com/jagjordi/IL2239-プレゼンテーション

まだ苦労しています。

私がこれを手伝うことができる方法はありますか?

#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
このページは役に立ちましたか?
0 / 5 - 0 評価