rendre le texte invisible

Sep 16 2020

J'ai un manuscrit que je donne en utilisant le scrbook de la classe.

Maintenant, pour l'enseignement à distance, je veux redéfinir certains environnements (comme la preuve) afin que j'obtienne des lacunes pour les preuves sur la présentation que je peux remplir manuscrites.

Une possibilité serait probablement de choisir simplement une couleur de texte blanche dans ces environnements. Cependant, le texte reste copiable sur la page. Et cela peut être irritant si j'écris à la main sur le texte et que les caractères invisibles en arrière-plan interfèrent. Un autre inconvénient serait que si mon texte contient un \textcolor{red}{redly emphasized}texte, il ne disparaîtrait pas:

\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}

La numérotation ne doit pas dépendre du fait que les épreuves et leur contenu sont masqués ou non.

Je me demandais, s'il y avait une possibilité, de faire une manipulation de police, de sorte qu'au lieu des caractères pdf, seules les cases vides (et invisibles) avec la taille du caractère soient placées dans le pdf. De cette façon, la numérotation resterait intacte et le texte ne serait plus copiable.

merci, sven

Réponses

2 DanielN Sep 19 2020 at 19:35

Vous pouvez transformer les preuves en texte invisible en utilisant le tcolorboxpackage. Dans l'exemple ci-dessous, la couleur d'arrière-plan jaune souligne l'endroit où le texte devient invisible.

Ceci est le document original (avec le texte visible).

Dans le code, vous trouvez la définition de la boîte onoffboxqui dépend d'un argument optionnel; s'il est vide, le texte de la boîte est visible. S'il n'est pas vide, le texte est invisible.

L'environnement onoffproofest défini en utilisant l'habituel proofet le onoffbox. Il hérite de l'argument de ce dernier.

\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}