使文本不可见

使文本不可见

我有一份使用课堂 Scrbook 讲课的手稿。

现在,对于远程教学,我想重新定义一些环境(例如证明),以便我能够在演示文稿中找到可以手写​​填补的证明空白。

一种可能性可能是在这些环境中只选择白色文本颜色。但是,文本仍然可以在页面上复制粘贴。如果我在文本上手写,背景中不可见的字符会干扰,这可能会令人恼火。另一个缺点是,如果我的文本包含文本\textcolor{red}{redly emphasized},它不会消失:

\documentclass{scrbook}
\usepackage{color}
\usepackage{xcolor}
\usepackage{amsthm,amsfonts,amssymb}

\begin{document}
\begin{proof}
  \textcolor{red}{This} is important
\end{proof}

\begin{proof}
  \color{white}
  \textcolor{red}{This} is important
\end{proof}
\end{document}

编号不应取决于证明及其内容是否被隐藏。

我想知道是否有可能进行字体操作,这样在 pdf 中只放入具有字符大小的空框(和不可见框),而不是 pdf 字符。这样,编号将保持不变,文本不再可复制。

谢谢,斯文

答案1

您可以使用该包将校样转换为不可见的文本tcolorbox。在下面的示例中,背景黄色强调了文本不可见的位置。 在此处输入图片描述 这是原始文档(文本可见)。 在此处输入图片描述

在代码中,你会发现框的定义onoffbox取决于一个可选参数;如果为空,框中的文本可见。如果不为空,则文本不可见。

环境使用通常的和来onoffproof定义。它继承了后者的参数。proofonoffbox

\documentclass[11pt, a4paper]{article}
\usepackage{amsmath, amsthm}
\usepackage{tcolorbox}
\tcbuselibrary{skins,breakable}
\usepackage{ifthen}

\usepackage{lipsum}

\newtheorem{pro}{Proposition}

\newenvironment{onoffbox}[1][]{%
  \ifthenelse{\equal{#1}{}}{\def\onoff{visible}}{\def\onoff{invisible}}
  \tcolorbox[%
  empty,
  \onoff,
  parbox=false,
  noparskip,
  enhanced,
  breakable,
  frame hidden, % default frame hidden
  boxrule=0pt, % default frame hidden
  colback=white, % yellow,
  left=-.5ex, right=-.5ex,
  before skip=0ex plus 2pt,
  after skip=1ex plus 2pt]
}{\endtcolorbox}

\newenvironment{onoffproof}[1][]{%
  \begin{onoffbox}[#1]\begin{proof}}{\end{proof}\end{onoffbox}}

\title{Using tcolorbox package for invisible text}
\begin{document}
\maketitle


\lipsum[1-2]

\begin{pro}
 $b^2+c^2=a^2$ 
\end{pro}
\begin{onoffproof}[off]
  It seems that {\color{red}this is an important result}.
  \lipsum[3-4]
  This is the end of our test.
\end{onoffproof}

\lipsum[5-7]
\end{document}

相关内容