1

每次我输入以下 LaTeX 包(崇高文本 3)片段时:空格,. (dot), ?, *, #, 被 \label{sec:*****} 部分和 % section ***** (end) 部分中的“_”字符替换。还将大写字母替换为小写。这里的片段:

<snippet>
<content><![CDATA[
\section{${1:section name}} % (fold)
\label{sec:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3)/g}}}
${0:$TM_SELECTED_TEXT}
% section $2 (end)
]]></content>
    <tabTrigger>sec</tabTrigger>
    <scope>text.tex.latex</scope>
    <description>Section</description>
</snippet>

我的问题是:我该如何改变?用不带波浪号的元音替换重音元音的片段,即,如果我使用片段,结果是:

\section{acción además menú aquí acné} % (fold)
\label{sec:acción_además_menú_aquí_acné}

% section acción_además_menú_aquí_acné (end)

但我想得到以下信息:

\section{acción además menú aquí acné} % (fold)
\label{sec:accion_ademas_menu_aqui_acne}

% section accion_ademas_menu_aqui_acne (end)
4

1 回答 1

2

您可以通过手动指定要查找的字符以及替换它们的内容来做到这一点。这是因为 ST 不幸似乎不支持POSIX 字符等价物

使用以下代码段:

<snippet>
<content><![CDATA[
\section{${1:section name}} % (fold)
\label{sec:${2:${1/(?i:(á)|([éę])|(í)|(ó)|(ú)|(ń))|\\\w+\{(.*?)\}|\\(.)|(\w)|([^\w\\]+)/(?{10}_:\L$7$8(?1a:)(?2e:)(?3i:)(?4o:)(?5u:)(?6n:)$9)/g}}}
${0:$TM_SELECTED_TEXT}
% section $2 (end)
]]></content>
    <tabTrigger>sec</tabTrigger>
    <scope>text.tex.latex</scope>
    <description>Section</description>
</snippet>

例如,输入sec Tab和输入/粘贴acción además menú aquí acné ńę将导致:

\section{acción además menú aquí acné_ńę} % (fold)
\label{sec:accion_ademas_menu_aqui_acne_ne}

% section accion_ademas_menu_aqui_acne_ne (end)

有关替换格式语法的更多信息,请参阅http://www.boost.org/doc/libs/1_56_0/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html

于 2016-08-05T08:22:58.447 回答