Фантом и выравнивание среды

Фантом и выравнивание среды

Есть ли способ «фантомизировать» текст в среде выравнивания?

У меня есть следующий код:

\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пакет.

Связанный контент