diff options
author | Norbert Preining <norbert@preining.info> | 2022-06-29 03:00:54 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-06-29 03:00:54 +0000 |
commit | 1803d67dcb084b1d6b825dd2f1a39df83c11db02 (patch) | |
tree | 083814d64daa39afbd3ceea4804d903a2585077a /macros/latex/contrib/hideanswer/hideanswer.sty | |
parent | 2ef43af0215fc52966c9bbd8d5df6db6d6af224b (diff) |
CTAN sync 202206290300
Diffstat (limited to 'macros/latex/contrib/hideanswer/hideanswer.sty')
-rw-r--r-- | macros/latex/contrib/hideanswer/hideanswer.sty | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/macros/latex/contrib/hideanswer/hideanswer.sty b/macros/latex/contrib/hideanswer/hideanswer.sty new file mode 100644 index 0000000000..25a6264b50 --- /dev/null +++ b/macros/latex/contrib/hideanswer/hideanswer.sty @@ -0,0 +1,76 @@ +%% +%% hideanswer.sty +%% +%% Copyright (C) 2022 Yukoh KUSAKABE (screen-name) +%% https://www.metaphysica.info/ +%% https://twitter.com/metaphysicainfo +%% +%% This package released under +%% [the MIT license](https://ctan.org/license/mit). +%% +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{hideanswer}[2022/06/28 v1.0] +% +%% for \color +\RequirePackage{color} +% +% for \NewDocumentEnvironment +\RequirePackage{xparse} +% +%% \if@hdans@hideswitch +\newif\if@hdans@hideswitch +\@hdans@hideswitchfalse +% +%% \sethideanswer +%% \unsethideanswer +\DeclareRobustCommand{\sethideanswer}{\@hdans@hideswitchtrue} +\DeclareRobustCommand{\unsethideanswer}{\@hdans@hideswitchfalse} +% +%% \hideanswer{<text>} +%% \hideanswer*{<text>} +\DeclareRobustCommand{\hideanswer}{\@ifstar{\@hdans@hideanswer@star}{\@hdans@hideanswerh@nostar}} +\DeclareRobustCommand{\@hdans@hideanswer@star}[1]{\if@hdans@hideswitch\else\color{white}\fi{#1}\if@hdans@hideswitch\else\color{black}\fi} +\DeclareRobustCommand{\@hdans@hideanswerh@nostar}[1]{\if@hdans@hideswitch\color{white}\else\fi{#1}\if@hdans@hideswitch\color{black}\else\fi} +% +%% \begin{hideanswerdiv} +%% \begin{hideanswerdiv*} +\newenvironment{hideanswerdiv}% +{\if@hdans@hideswitch\color{white}\else\fi}% +{\if@hdans@hideswitch\color{black}\else\fi} +\newenvironment{hideanswerdiv*}% +{\if@hdans@hideswitch\else\color{white}\fi}% +{\if@hdans@hideswitch\else\color{black}\fi} +% +%% \smashanswer{<text>} +%% \smashanswer*{<text>} +\DeclareRobustCommand{\smashanswer}{\@ifstar{\@hdans@smashanswer@star}{\@hdans@smashanswer@nostar}} +\DeclareRobustCommand{\@hdans@smashanswer@star}[1]{\if@hdans@hideswitch{#1}\else\fi} +\DeclareRobustCommand{\@hdans@smashanswer@nostar}[1]{\if@hdans@hideswitch\else{#1}\fi} +% +%% \begin{smashanswerdiv} +%% \begin{smashanswerdiv*} +\NewDocumentEnvironment{smashanswerdiv}{+b} +{\if@hdans@hideswitch\else #1\fi}{} +\NewDocumentEnvironment{smashanswerdiv*}{+b} +{\if@hdans@hideswitch #1\else\fi}{} +% +%% \hidegraphics[<includegraphics>]{<includegraphics>} +%% \hidegraphics*[<includegraphics>]{<includegraphics>} +\DeclareRobustCommand{\hidegraphics}{\@ifstar{\@hdans@hidegraphics@star}{\@hdans@hidegraphics@nostar}} +\DeclareRobustCommand{\@hdans@hidegraphics@star}[2][]{\if@hdans@hideswitch\includegraphics[#1]{#2}\else\phantom{\includegraphics[#1]{#2}}\fi} +\DeclareRobustCommand{\@hdans@hidegraphics@nostar}[2][]{\if@hdans@hideswitch\phantom{\includegraphics[#1]{#2}}\else\includegraphics[#1]{#2}\fi} +% +%% \smashgraphics[<includegraphics>]{<includegraphics>} +%% \smashgraphics*[<includegraphics>]{<includegraphics>} +\DeclareRobustCommand{\smashgraphics}{\@ifstar{\@hdans@smashgraphics@star}{\@hdans@smashgraphics@nostar}} +\DeclareRobustCommand{\@hdans@smashgraphics@star}[2][]{\if@hdans@hideswitch\includegraphics[#1]{#2}\else\fi} +\DeclareRobustCommand{\@hdans@smashgraphics@nostar}[2][]{\if@hdans@hideswitch\else\includegraphics[#1]{#2}\fi} +% +%% \switchanswer{<text when sethide>}{<text when unsethide>} +%% \switchanswer*{<text when unsethide>}{<text when sethide>} +\DeclareRobustCommand{\switchanswer}{\@ifstar{\@hdans@switchanswer@star}{\@hdans@switchanswerh@nostar}} +\DeclareRobustCommand{\@hdans@switchanswer@star}[2]{\if@hdans@hideswitch{#1}\else{#2}\fi} +\DeclareRobustCommand{\@hdans@switchanswerh@nostar}[2]{\if@hdans@hideswitch{#2}\else{#1}\fi} +% +%% EOF
\ No newline at end of file |