我们正在为一本包含许多表格和图表的复杂书籍准备有声读物记录。我们创建了一个宏,用于\print{}
仅出现在印刷书籍中的文本,以及另一个\audio{}
仅出现在有声读物中的文本。一切都很顺利。
我们做了很多\renewcommand
事情来关闭许多特殊格式。
我正在寻找一种解决方案,让我们可以为图形和表格指定替代文本,并隐藏它们并显示替代文本。如果替代文本出现在我们定义浮动的精确位置,那就没问题了,但如果它定义了一个新命令,然后我们可以将其放在我们想要的位置,那就更好了。
有什么想法可以做到这一点吗?我试过,\renewenvironment
但无法弄清楚如何在环境中关闭打印。将其变成comment
环境不起作用。
编辑
例如,这是一个简单的文档:
\documentclass{article}
\newcommand{\audio}[1]{}
%% INSERT SOMETHING HERE TO MAKE THE {figure} disappear.
\begin{document}
The first paragraph.
\audio{This is the alternative text for the figure below.}
\begin{figure}
This is a figure.
\caption{This is the caption.}
\end{figure}
The second paragraph.
\end{document}
我可以在评论中插入什么以使其{figure}
不打印?
答案1
您可以使用
\usepackage{environ}
\RenewEnviron{figure}{}
该environ
包在宏中捕获环境主体\BODY
。因此,如果您不使用它,环境内容将被抑制。
代码:
\documentclass{article}
\newcommand{\audio}[1]{}
%% INSERT SOMETHING HERE TO MAKE THE {figure} disappear.
\usepackage{environ}
\RenewEnviron{figure}{}
\begin{document}
The first paragraph.
\audio{This is the alternative text for the figure below.}
\begin{figure}
This is a figure.
\caption{This is the caption.}
\end{figure}
The second paragraph.
\end{document}