对齐和方程的快捷方式?

对齐和方程的快捷方式?

我最近开始使用新命令,我认为它很棒。例如

\newcommand{\QQQ}{~~,\quad\text{and}\qquad }  
\newcommand{\WW}{~~,\quad\text{with}\qquad } 
\newcommand{\WWW}{~~,\quad\text{where}\qquad } 

我还想有一个创建方程式和对齐环境的快捷方式,但 newcommand 不允许我这样做。我该如何创建

\begin{equation}
\end{equation}?

如果我的编辑器中有非乳胶的方式可以做到,我就会使用 TeXStudio。

例如,如果我使用

\newcommand{\ZZ }{\begin{align}} 
\newcommand{\ZZZ }{\end{align}} 

然后输入

\ZZ 
\pi
\ZZZ

我收到 PDF 编译器错误:

Paragraph ended before \align was complete.

答案1

这只有在 LuaTeX 中才有可能。

\documentclass{article}
\usepackage{luacode}
\usepackage{amsmath, amssymb}


\begin{luacode*}
local uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
local lowercase = "abcdefghijklmnopqrstuvwxyz"
local numbers = "0123456789"
local char_set = uppercase .. lowercase .. numbers

function get_random_name(k)
    local tab = {}
    for i=1,k do
        local rand = math.random(char_set:len())
        table.insert(tab, char_set:sub(rand, rand))
    end
    return table.concat(tab,"")
end

function register_verbatim(cmd_e, env_name)
    local name = get_random_name(15)
    local env_s = string.format([[\begin{%s}]], env_name)
    local env_e = string.format([[\end{%s}]], env_name)
    tex.print(env_s)
    local callback = function(str)
        if string.find(str, cmd_e) then
            luatexbase.remove_from_callback("process_input_buffer" , name)
            return env_e
        else
            return str
        end
    end
    luatexbase.add_to_callback("process_input_buffer" , callback, name)
end
\end{luacode*}


\newcommand{\al}{
    \directlua{
        register_verbatim([[\string\eal]], "align")
    }
}
\newcommand{\als}{
    \directlua{
        register_verbatim([[\string\eals]], "align*")
    }
}

\begin{document}

\al
\int_a^b
\eal

\als
\frac{a}{b}
\eals

\end{document}

答案2

这不仅在 LuaTeX 中可行。在纯 TeX 或 LaTeX 中也可行。例如:

\documentclass{article}
\usepackage{amsmath, amssymb}

\def\al#1\eal{\begin{align}#1\end{align}}
\def\als#1\eals{\begin{align*}#1\end{align*}}

\begin{document}
    
\al
\int_a^b
\eal

\als
\frac{a}{b}
\eals

\end{document}

相关内容