我正在使用 phantom 来保持文档的教师版本和学生版本之间的间距均匀。我有一个新命令,可以将教师版本的文本放入学生版本的 phantom 中。但是,phantom 似乎不喜欢双美元符号数学模式。
有解决方法吗?
梅威瑟:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
I want this phantom to work:
\phantom{$$\mathit{\dfrac{14}{20} = 0.7 = 70\%}$$ }
It works when there's no phantom
$$\mathit{\dfrac{14}{20} = 0.7 = 70\%}$$
It works with a single \$ around the math:
\phantom{$\mathit{\dfrac{14}{20} = 0.7 = 70\%}$ }
bla bla bla
\end{document}
答案1
首先要说的是:永远不要$$
在 LaTeXdocument
环境中使用。
您的情况可以解释为:\phantom
创建一个水平框,其尺寸与内部材料相同。在这样的水平框中,无法创建段落,因此不允许显示数学模式,而$
只是启动数学模式。以下内容$
只是结束数学模式。因此,您会在文本模式下得到一个空公式\mathit
,然后是,这会触发错误。
如果要制作双版本,最好定义结构。这是一个基本框架,仅供您参考。
\documentclass[twocolumn]{article}
\usepackage{amsmath}
\newif\ifstudent
\newcommand{\equ}[1]{%
\[
\ifstudent\else\expandafter\phantom\fi{#1}
\]%
}
\begin{document}
\section{With phantom}
I want this phantom to work:
\equ{\dfrac{14}{20} = 0.7 = 70\%}
It works when there's no phantom
\[
\dfrac{14}{20} = 0.7 = 70\%
\]
Some text follows.
\newpage
\section{Clear text}
\studenttrue
I want this phantom to work:
\equ{\dfrac{14}{20} = 0.7 = 70\%}
It works when there's no phantom
\[
\dfrac{14}{20} = 0.7 = 70\%
\]
Some text follows.
\end{document}
答案2
有两种方式可以解释您的帖子。删除多余的\mathit
包装器和使用\[ ... \]
而不是$$ ... $$
-- 另请参阅为什么 [...] 比 $$ ... $$ 更可取? --,您可能正在寻找
\[ \phantom{\frac{14}{20} = 0.7 = 70\%} \]
或者
$ \phantom{\dfrac{14}{20} = 0.7 = 70\%}$
第一个选项将幻像放置在未编号的显示方程环境中。第二个选项将幻像放置在运行文本中。