Есть ли способ «фантомизировать» текст в среде выравнивания?
У меня есть следующий код:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\phantom
{
a & = b \\
& = c
}
\end{align*}
\end{document}
По-видимому, если в аргументе команды phantom есть символ выравнивания табуляции, компиляция остановится. Я пытался сделать так, чтобы текст в среде align отображался как пустой текст. Любопытно, что если у меня есть среда cases с символом выравнивания табуляции внутри, phantom будет работать, когда он окружает среду cases.
Спасибо.
решение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
пакет.