luamirageat パッケージ (前田一貴さん)
luamirageat パッケージは,LuaTeX 文書中のメールアドレスに spam 対策を施すためのパッケージです.
ほう。
確か最近の PDF 仕様にはこれを直接(フォント情報を介さずに)行う機能があったはず(PDF 仕様書検索中)……あった→「Replacement Text」。
これを使えば他のエンジンでも実現できるはず、というか既に誰か作ってないかな(ファイル検索中((TeX Live の .sty ファイルの中で「ActualText
」が含まれているのを探しました。)))……あった→「accsupp パッケージ」。
というわけでひっそりと公開。
- 「奥底のパッケージ」簡易包装コーナー → BXmirageat.zip
ドライバ依存なので、pdfTeX、XeTeX、LuaTeX 以外ではドライバ指定が必要。
\documentclass[a4paper]{article} \usepackage[dvipdfmx]{bxmirageat} % dvipdfmx, dvips, pdftex のいずれか \begin{document} \begin{quote}\ttfamily example@example.org\\ % 普通の〈@〉 example\mirageat example.org % 読めない〈@〉 \end{quote} \end{document}
難しいことは全部 Oberdiek さん(acc-supp の作者)がやってくれているので、bxmirageat.sty の中身は実質これだけしかない。
\RequirePackageWithOptions{accsupp} \DeclareRobustCommand\mirageat{% \BeginAccSupp{method=hex,ActualText=20617420}% @\EndAccSupp{}}
と思ったけど、この replacement text を用いた方法だと、コピペ以外では効力がないらしい。残念…。だけど、コピペが防げるから、こんな場合にはとっても便利!!
\documentclass[a4paper]{article} \usepackage[dvipdfmx]{accsupp} \newcommand\Data[2]{% #2 は UTF-16BE です! \BeginAccSupp{method=hex,unicode,ActualText=#2}% #1\,{$\mu$Sv/h}\EndAccSupp{}} \begin{document} \begin{tabular}{ccr}\hline 計測時間 & 計測場所 & γ線 \\\hline 午前2時00分 & 西門 & \Data{88.0}{5FAE91CF}\\\hline 午前3時00分 & 西門 & \Data{87.6}{50C5304B}\\\hline 午前4時00分 & 西門 & \Data{87.7}{5C113005}\\\hline \end{tabular} \end{document}