Lyx 无法编译 k 次方根

Lyx 无法编译 k 次方根

我编写的 LyX 文档在数学公式中添加命令 root(实际上是 )后无法编译\root[k]{\alpha}。我本来想给你写代码,但文档很长(超过 20 页),所以太多了。有什么办法可以解决这个问题吗?

提前致谢。

编辑:

具体行是:

Let $\alpha\in\mathbb{R}$. Then 
\[
\sqrt[k]{\alpha}
\]

错误信息是:

"A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)"

编辑2:

这是有问题的部分,我创建了一个新文档,但该文档无法在 LyX 上编译。]

%% LyX 2.0.6 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=2.54cm,bmargin=2.54cm,lmargin=3.18cm,rmargin=3.18cm}
\usepackage{mathrsfs}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{amssymb}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\theoremstyle{plain}
\newtheorem{thm}{\protect\theoremname}[section]
\theoremstyle{definition}
\newtheorem{defn}[thm]{\protect\definitionname}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{bbold}
\DeclareSymbolFont{bbold}{U}{bbold}{m}{n}
\DeclareSymbolFontAlphabet{\mathbbold}{bbold}
\setcounter{section}{-1}
\renewcommand{\raise}[2]{#1^#2}

\makeatother

\usepackage{babel}
\providecommand{\definitionname}{Definition}
\providecommand{\theoremname}{Theorem}

\begin{document}

\title{Try}

\maketitle
\global\long\def\layer#1#2{\overset{\left[#2\right]}{}#1}
\global\long\def\ELT#1#2{\mathscr{R}\left(#2,#1\right)}

\begin{defn}
Let $R=\ELT{\mathbb{R}}{\mathbb{C}}$, and take $\alpha=\layer a{\ell}\in R$
and $k\in\mathbb{N}$. Then $\sqrt[k]{\alpha}$.\end{defn}

\end{document}

答案1

\raise您已重新定义用于上下移动框的内部命令。此类框通常包含要排版的字符。这在\sqrt命令的可选参数中用于将符号置于适当的高度,并在 LaTeX 的许多其他地方使用。事实上,我很惊讶您的文档中没有其他内容触发错误。删除您对的重新定义\raise,将生成一个编译时没有错误的文件。

事实上,你必须使用\renewcommand而不是 ,这\newcommand应该促使你检查你正在重新定义的命令。找到命令当前定义的第一种方法是\show在其前面写入。对于标准文件,\show\raise产生

> \raise=\raise.

表明它是一个原始的。\show\sqrt相比之下

> \sqrt=macro:
->\protect \sqrt  .

证明这\sqrt是一个宏,而\show\myundefinedcommand给出

> \myundefinedcommand=undefined.

问题中讨论了解开命令定义的其他方法

相关内容