INS
三个字母是「Install」的缩写,顾名思义,这个文件是和安装相关的。.ins
文件通常用来控制 TeX 从 .dtx
文件里释放宏包文件,它的结构最为简单,大概是这样的。
作为注释的版权信息
载入 docstrip.tex
写入 DocStrip 的控制命令
编写将写入生成文件的版权信息
生成文件指令
写入提示信息用以完成安装
结束安装文件
这里粗体标记的是必不可少的部分,其他部分或多或少都可以省略。
我们逐步构建一个完整的 .ins 文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
%% Copyright (C) 2003--2015 %% CTEX.ORG and any individual authors listed elsewhere in this file. %% -------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. This version of this license is in %% http://www.latex-project.org/lppl/lppl-1-3c.txt %% and the latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. %% --------------------------------------------------------------------------
Copyright (C) 2003-2015 CTEX.ORG and any individual authors listed in the documentation. ------------------------------------------------------------------------------
This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. This version of this license is in http://www.latex-project.org/lppl/lppl-1-3c.txt and the latest version of this license is in http://www.latex-project.org/lppl.txt and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. ------------------------------------------------------------------------------
\obeyspaces \Msg{*************************************************************} \Msg{* *} \Msg{* To finish the installation you have to move the following *} \Msg{* file into proper directories searched by TeX: *} \Msg{* *} \Msg{* The recommended directory is TDS:tex/latex/ctex *} \Msg{* *} \Msg{* ctex.sty *} \Msg{* ctexcap.sty *} \Msg{* ctexsize.sty *} \Msg{* ctexart.cls *} \Msg{* ctexbook.cls *} \Msg{* ctexrep.cls *} \Msg{* ctexspa.def *} \Msg{* *} \Msg{* To produce the documentation run the file ctex.dtx *} \Msg{* through XeLaTeX. *} \Msg{* *} \Msg{* Happy TeXing! *} \Msg{* *} \Msg{*************************************************************}
PDF Mix
Tool是Linux下的最佳 PDF 编辑软件之一,也是PDF
Arranger的替代品。它是一个用于操作 pdf 文件的简洁的 GUI
工具,可以修改文件(旋转、拆分、从文件中提取),但是不能编辑PDF文件的内容。虽然这个应用程序只提供了一个简洁的工具集,没有附带很多工具,但是,也足以应付日常的使用了。
Latex-Suite utilizes a set of macros originally created by Carl Mueller in auctex.vim to make inserting all the \left ... \right stuff very easy and to also make some use of the heavily under-utilized <Alt> key.
NOTE: By default, the mappings involving the <Alt> key are turned off for compatibility with inserting non-ASCII characters. It can be enabled by setting let g:Tex_AdvancedMath = 1 in your $VIM/ftplugin/tex.vim. NOTE: By default, typing Alt-<key> in Vim takes focus to the menu bar if a menu with the hotkey <key> exists. If in your case, there are conflicts due to this behavior, you will need to set set winaltkeys=no in your $VIM/ftplugin/tex.vim in order to use these maps.
众多网络文章都提到了插件vimtex,
按其官方介绍:VimTeX is a modern Vim and Neovim filetype and syntax plugin for LaTeX files.
,
或许就是这个modern让许多人选择了它。诚然vimtex是一个优秀的插件,我们来看一下它提供的功能(引用其README.md):
The main difference between VimTeX and LaTeX-Suite (aka vim-latex) is
probably that VimTeX does not try to implement a full fledged IDE for
LaTeX inside Vim. E.g.:
VimTeX does not provide a full snippet feature, because this is
better handled by UltiSnips or neosnippet or similar snippet
engines.
VimTeX builds upon Vim principles: It provides text objects for
environments, inline math, it provides motions for sections and
paragraphs
VimTeX uses latexmk, latexrun, tectonic or arara for compilation
with a callback feature to get instant feedback on compilation
errors
VimTeX is very modular: if you don't like a feature, you can turn it
off.
vimtex方便的更改环境功能,例如cse可以方便的更换为新的环境,但是vim-latex也可以使用<S-F5>快捷键快速更换环境,再则考虑到编写环境前作者肯定是规划好的环境,所以更改环境是一个低概率事件。此处注意,Neovim中同时按下组键<S+F5>(也就是Shift+F5)返回的是F17,并不能获得vim-latex所需的组合键<S-F5>!!
具体请参考keycode in
terminal for vim&neovim, 于是做出修改:
Align and AlignMaps lets you align statements on their equal signs,
make comment boxes, align comments, align declarations, etc.
Note: this plugin is not a left&right margin justification tool!
See vimscript#177 or vimscript#2324 for that. Note: if you have vim 7.1
or later, your vimball should unpack just fine without having to update
it.
There are two basic commands provided by this package:
The "sep#" are regular expressions which describe separators that
delineate fields; Align will line up the separators. The range may be
any Vim range, including visual-blocks. Align works on lines of
the form: (ws==whitespace, sep==separator, field==text)
Note that white-space (ws) surrounding separators is ignored.
The Align package includes:
Align : the basic alignment command
AlignCtrl : provides options for the next call to :Align
AlignMaps : many three or four key maps which support aligning C/C++
style declarations, ()?..:.., expressions, C/C++ comments, numbers, C
preprocessor definitions, tables based on tabs or spaces, and more.
In addition, AutoAlign (vimscript#884) uses the Align function to
align =s as you type.
Align handles alignment on multiple separators, not just the first
one, and the separators may be the same across the line or different.
With AlignCtrl one may specify that separators are cyclic (re-used
sequentially) or equivalent (all separators are simultaneously
active).
There are several options to help with deciding what to do with
initial white space. By default Align re-uses the first line's initial
white space, but one may use AlignCtrl to retain or remove each line's
initial white space.
The <Align.vim> and <AlignMaps.vim> files are plugins and
require vim 6.1 or higher.
EXAMPLES:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
:5,10Align = Align on '=' signs
:'<,'>Align = + - \* / Align on any of the five separator characters shown. Note that visual block mode was used to fire off Align.
:AlignCtrl =lp1P1I which means: = all separators are equivalent l fields will be left-justified p1 pad one space before each separator P1 pad one space after each separator I preserve and apply the first line's leading white space to all Align'd lines
:help align Gives help for Align
ALIGNMENT CONTROL
Alignment control allows for left or right justification or centering
of fields, cyclic (sequentially active) or equivalent (simultaneously
active) regular expressions to specify field separators, initial white
space control, optional visual-block use (ie. apply Alignment only
within a block), user-specified white-space padding about separators,
and multiple separators.
MANY ALIGNMENT MAPS
AlignMaps.vim provides a number of maps which make using this package
easy. They typically either apply to the range 'a,. (from mark a to
current line) or use the visual-selection (V, v, or ctrl-v
selected):
1 2 3 4 5
\t= : align assignments (don't count logic, like == or !=) \t, : align on commas \t| : align on vertical bars (|) \tsp : align on whitespace \tt : align LaTeX tabular tables
AlignMaps also provides some internally complex maps for aligning C
declarations, Ansi C function arguments, html tables, LaTeX tabulars,
and trailing comments:
1 2 3 4
\acom : align comments \adec : align C declarations (one variable per line) \afnc : align ansi-style C function input arguments \Htd : align html tables
(the proportional fonts used by most browsers in showing you this
page preclude showing the examples here). The help for Align and
AlignCtrl also contains many examples.
ALIGNMENT ON VISUAL BLOCKS AND g,v-LIKE CONTROL
Sometimes one wants to align only a subset of text in a range, based
on patterns or column extents. Align supports both types of
restrictions!
Visual-block selection may be used to restrict Align to operate only
within that visual block.
AlignCtrl supports "g" and "v" patterns that restrict Align to
operate on lines which match (or don't match, respectively) those
patterns.
NEW STUFF:
There's a number of new AlignCtrl options:
- allows one to skip a separator (treat it as part of a field)
+ repeat the last lrc justification (ex. lr+ == lrrrrrr... )
: treat the rest of the line as a field; acts as a modifier
to the last lrc.
< left-justify the separator
> right-justify the separator
| center the separator
These are, except for the ":", cyclic parameters. In other words,
>< is equivalent to ><><><><... . Thus
separators can be of differing lengths (ex. -+ as a separator pattern
can match -, --, ---, etc and the separators will be left/right/center
justified as you wish).
To get automatic, as-you-type, aligning of = in the C, vimL, and
other languages, check out vimscript#884 for several ftplugins (which
use Align).
Alternative Aligners: Gergely Kontra's vimscript#176
Thank you for rating Align!
DISCUSSION and COMMENTS:
Please use email for bugs. Enjoy!
(alpha/beta version available at
http://mysite.verizon.net/astronaut/vim/index.html#ALIGN)
Particularly, if you are a Chinese blogger or most of your visits
come from China, please note that the CDNJS is blocked in some parts of
China, don't use it as your CDN provider.
find . -type f -exec sed -i 's#https://unpkg.com#https://s4.zstatic.net/npm#g' {} + find . -type f -exec sed -i 's#https://cdnjs.cloudflare.com#https://s4.zstatic.net#