パブリックドメインのかなり長い本に注釈やコメントを付けるという野心的な計画があります。私はこれを広範囲にわたる脚注で実行するつもりですが、脚注を追加した後、元の文書を印刷する方法があるかどうか知りたいです。サンズ脚注。
基本的に、インタープリターにすべての脚注を無視するように指示できるコマンドが欲しいだけです。
最初に思い浮かぶのは、comment
パッケージを使用して、 を再定義するコマンドを作成することです\footnote
。
\let\Oldfootnote\footnote
\renewcommand\footnote[1]{\begin{comment}#1\end{comment}}
しかし、これは機能しません。
これはすでに非常に簡単な解決策があるはずの問題だと思うのですが、見つけることができませんでした。
答え1
を\begin{comment}#1\end{comment}
脚注の内容を消費するものとしてラップすることは、パッケージが環境 (またはペア)comment
内のすべてのコンテンツを非常に洗練された方法で処理するため機能しません(パラメータさえも消費します) 。comment
\comment...\endcomment
#
もう 1 つの内訳は、実際には 2 つの引数があるという事実です\footnote
。最初の引数はオプションであり、ユーザー定義の脚注マーク用に設計されています。2 番目の引数は必須であり、実際の脚注テキストを持ちます。
最も簡単な方法は、内容\renewcommand
に脚注を付けることです。\relax
ドキュメントの領域内の一部の脚注のみを緩和し、それを有効にする必要がある場合は、\EnableFootNotes
それぞれコマンドを追加することにしました\DisableFootnotes
。
オプション引数\footnote
「requires」は\LetLtxMacro
アプローチを必要とします(Heiko Oberdiek のletltxmacro
パッケージを使用)
\documentclass{article}
\usepackage{letltxmacro}
\LetLtxMacro\Oldfootnote\footnote
\newcommand{\EnableFootNotes}{%
\LetLtxMacro\footnote\Oldfootnote%
}
\newcommand{\DisableFootNotes}{%
\renewcommand{\footnote}[2][]{\relax}
}
\usepackage{blindtext}
\begin{document}
With footnotes:
\blindtext\footnote{first}
\blindtext\footnote[5]{second}
Without footnotes:\DisableFootNotes
\blindtext\footnote{third}
\blindtext\footnote[6]{fourth}
Enabling again:\EnableFootNotes
\blindtext\footnote{fifth}
\blindtext\footnote[10]{sixth}
\end{document}