LyX 为在其他地方运行的我的 Latex 代码提供了许多错误消息。
\[
\begin{array}{rl}
p_{Y \mid H_1}(y \mid H_1) & = f_X(g^{-1}(y))\left| \dfrac{dg^{-1}(y)}{dy} \right| \\ \\
& = \begin{cases} y>0 & : & f_X(\ln(y))\left| \dfrac{d \ln(y)}{dy} \right| = \dfrac{f_X(\ln(y))}{y} \\
\text{otherwise} & : & 0
\end{cases}
\end{array}
\]
LyX 说:
Extra alignment tabs changed to \cr.
& = \begin{cases} y>0 & : &
f_X(\ln(y))\left| \dfrac{d \ln(y)}{dy} \ri...
You have given more \span or & marks than there were
in the preamble to the \halign or \valign now in progress.
So I'll assume that you meant to type \cr instead.
然而,确切的代码在SE 数学领域得到以下输出:
LyX 不喜欢我的代码中的哪些部分?
答案1
这是一个解决方案,它 (a) 使用环境align*
而不是环境array
,并且 (b) 反转环境内部参数的顺序cases
(因为我相信这可能更接近此环境的一般用法)。它还定义了一个名为的宏,\abs
以简化示例主体中的排版。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\abs}[1]{\left|#1\right|}
\begin{document}
\begin{align*}
p_{Y \mid H_1}(y \mid H_1)
&= f_X(g^{-1}(y)) \abs{ \dfrac{dg^{-1}(y)}{dy} } \\
&= \begin{cases}
f_X(\ln(y)) \abs{ \dfrac{d \ln(y)}{dy} } = \dfrac{f_X(\ln(y))}{y} & \text{if $y>0$}\\
0 & \text{otherwise}
\end{cases}
\end{align*}
\end{document}
如果要在环境中将条件部分陈述在结果部分之前cases
,可以这样写:
\begin{cases}
\text{if $y>0$} &:\
f_X(\ln(y)) \abs{ \dfrac{d \ln(y)}{dy} } = \dfrac{f_X(\ln(y))}{y}\\
\text{otherwise} &:\ 0
\end{cases}
导致以下结果:
答案2
cases
只需要一个对齐点(即它是一个两列表格),而您在每行上使用了两个对齐点。删除多余的对齐点即可。请以后始终发布完全的显示所有相关包的文档(此处为 amsmath)。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\begin{array}{rl}
p_{Y \mid H_1}(y \mid H_1) & = f_X(g^{-1}(y))\left| \dfrac{dg^{-1}(y)}{dy} \right| \\ \\
& = \begin{cases} y>0 : & f_X(\ln(y))\left| \dfrac{d \ln(y)}{dy} \right| = \dfrac{f_X(\ln(y))}{y} \\
\text{otherwise} : & 0
\end{cases}
\end{array}
\]
\end{document}
虽然这可行但它是误用array
(其目的是用于矩阵而不是作为对齐的显示)您最好使用 ams 对齐,例如align
。