有没有办法在对齐环境中“幻影”文本?
我有以下代码:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\phantom
{
a & = b \\
& = c
}
\end{align*}
\end{document}
显然,如果 phantom 命令的参数中有一个制表符对齐字符,编译将停止。我试图让 align 环境中的文本显示为空白文本。奇怪的是,如果我有一个包含制表符对齐字符的 cases 环境,当 phantom 围绕 case 环境时,它将起作用。
谢谢。
答案1
如果您“隐藏”了 的制表符&
对齐align
,它将无法按预期工作。这只是因为 是&
作为 的参数的一部分读取的\phantom
,而 并不知道&
及其用途。因此,您要么必须将 分散到\phantom
对齐的组件中,要么使用完全不同的方法:
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align*}
a & = b + c \\
\phantom{a} & \phantom{{} = b} + c \\ % Hides some components of above line
& = d + e \\
& \phantom{{}= d} + e % Hides some components of above line
\end{align*}
\end{document}
在上面的例子中,一些组件保持不变,以表明在使用时有时需要进行一些间距校正\phantom
(例如,隐藏关系时=
)。
为什么\phantom
全部的 cases
结构之所以有效,是因为制表符对齐字符埋在有意义的环境中。
答案2
这是一个老问题,但我认为未来的搜索者可能会喜欢这个替代方案,在复杂情况下,这比在制表位上拆分幻像要容易得多。它使用pgf
,其中有\pgfsys@begininvisible
和\pgfsys@endinvisible
用于此目的。
\documentclass{article}
\usepackage{pgf}
\usepackage{amsmath}
\makeatletter
\newcommand\pgfinvisible{\pgfsys@begininvisible}
\newcommand\pgfshown{\pgfsys@endinvisible}
\makeatother
\begin{document}
\begin{align*}
a & = b + c \\
\pgfinvisible a & = b\pgfshown + c \\ % Hides some components of above line
& = d + e \\
\pgfinvisible & = d\pgfshown + e % Hides some components of above line
\end{align*}
\end{document}
这是投影机的覆盖系统用途。
事实上,你可以把它放在整个align*
环境周围,但这并不适用\phantom
,这也是提问者最初想要的。然后必须小心引入额外的垂直空间。
我应该在这里补充一点,显然,这不会从 PDF 中删除文本(据我所知,它会偏移到某个不会出现在页面上的地方),所以这不是一种合适的编辑方法。
答案3
textcolor
与白色一起使用可能更容易:
\textcolor{white}{sometext}
你需要这个color
包裹。