有沒有辦法在對齊環境中「幻像」文字?
我有以下程式碼:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\phantom
{
a & = b \\
& = c
}
\end{align*}
\end{document}
顯然,如果幻像命令的參數中有製表符對齊字符,編譯將停止。我試圖使對齊環境中的文字顯示為空白文字。奇怪的是,如果我有一個 case 環境,其中包含製表符對齊字符,則當 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
包裹。