实现类似这篇文章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