![创建部分模板](https://linux22.com/image/265351/%E5%88%9B%E5%BB%BA%E9%83%A8%E5%88%86%E6%A8%A1%E6%9D%BF.png)
我读了很多论文,并在阅读过程中做笔记。我想\section
为每篇制作一个文档,其中包含proceedings-year
,并\subsection
为每篇论文制作一个 。(我正在使用biblatex
)。
一个例子:
\section{Proceedings-Year}
\subsection{\citetitle*{foobarbaz}}
\subsubsection{Topics Addressed}
\begin{itemize}
\item Foo
\item Bar
\item FooBar
\end{itemize}
\subsubsection{Paper Quality}
\textbf{Medium}: This paper is well-written, but foo bar baz blah.
\subsubsection{Notes}
Some notes on the paper. It might be interesting, or not, or whatever.
\subsubsection{Citation}
\begin{quote}
\fullcite{foobarbaz}
\end{quote}
\hrulefill
我对布局很满意,但我不喜欢每次想要添加另一个部分时都复制粘贴此布局。(另外,摆弄布局很快就会变得非常乏味)。
自动插入此部分模板副本的最佳方法是什么?我能想到的方法:
- 编写一个宏。但是,我至少需要传递 7 位文本(在给定的示例中),如果论文涵盖 3 个以上的主题,则需要传递更多文本。(我从未编写过宏,并且查看示例时我不确定这是否是最好的方法)。
- 自动插入(在编辑器级别)。使用
vim
宏可以相当容易地完成此操作,但这意味着如果我编辑该部分的布局,我将不得不编辑很多次。 - 创建一个新的文档类。这似乎可行,但我没有这样做的经验,而且我觉得这也许有点过头了?
我并不是要求一个完整的解决方案(尽管如果给出了解决方案,我不会抱怨),而是要求一个正确的(最简单?最快?)解决此问题的方向。任何想法都值得赞赏。
答案1
看看超级剪钳插件。它使您能够创建由热键触发并扩展为某些内容的代码片段。已经定义了很多代码片段,只需查看目录文件UltiSnips
,tex.snippets
它们即可开箱即用。而且创建新的代码片段也很容易。以下是现有代码片段的示例:
snippet enum "Enumerate" b
\begin{enumerate}
\item $0
\end{enumerate}
endsnippet
这个是enum
在一行开头输入然后按 来触发的。你可以用、等tab
定义几个跳转位置,再按一次就可以解决。$0
$1
tab
还有其他插件可以实现类似的目的。通用解决方案的优点是您可以将其用于一切,而不仅仅是 TeX。
答案2
假设您使用 texmaker。它为您提供无限数量的片段。请注意Unlimited number of snippets
页面底部的内容——纺织机械以及演示视频YouTube或者参考 texmaker 手册第 4.4 节。
- 点击上图中红色圈出的用户符号。
- 右击
parenth
图片下方区域获取Add tag
等。选择Add tag
- 窗口
Edit User Tags
将打开。按照图片所示输入代码片段。要填写的内容应以 表示@
。对于您的情况,您可以使用:
项目 -->
sect
LaTeX 内容 -->
\section{Proceedings-Year}
\subsection{\citetitle*{foobarbaz}}
\subsubsection{Topics Addressed}
\begin{itemize}
\item @
\item @
\item @
\end{itemize}
\subsubsection{Paper Quality}
\textbf{Medium}: @
\subsubsection{Notes}
@
\subsubsection{Citation}
\begin{quote}
\fullcite{foobarbaz}
\end{quote}
\hrulefill
和键盘触发器
sect
按可获得如下所示的OK
项目。单击此按钮将生成需要用文本替换的片段。您可以按 移动到下一个,然后按+反向移动。sect
•
•
Tab Shift Tab
您也可以通过键入:sect
并按 来激活此功能 → 。