\phantom 和 $$ 冲突

\phantom 和 $$ 冲突

我正在使用 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\%}$

第一个选项将幻像放置在未编号的显示方程环境中。第二个选项将幻像放置在运行文本中。

相关内容