Re: PDFとのラウンドトリップ

名前: 本田
日時: 2007-01-27 14:51:43
IPアドレス: 220.147.90.*

>>46678 >` と ' をアクティブにしますか 単純にアクティブにするとあちこちと衝突するので ` をアクティブにすること自体が困難でした. verbatim関係はちょっと特殊で,環境名を変えると とにかくコードが長くなるので, 名前をかえずにverbatim/verbの動作を変更するようにしてみました. 名前を変えるのはlatex.ltxからverbatim関連のソースをコピーして 書き換えるだけです. これはOT1/cmtt 限定ですが,エンコーディングを変えたり, その場のエンコーディングに合わせて動的に処理するようにするのは 容易だと思います. とりあえず下のコード程度の簡単なテストでは PDFからコピーしても「半角」のままです. visiblespaceはもちろん「駄目」ですが. \documentclass[a4paper]{article} \makeatletter {\lccode`\"=`\` \catcode`\'=\active \catcode`\`=\active \lowercase{% \gdef\change@qlqr{% \lowercase{% \catcode"\'=\active \catcode"\"=\active }% \def'{\symbol{13}}% \def`{\symbol{18}}%" }% }}% \def\verbatim{\@verbatim\change@qlqr\frenchspacing\@vobeyspaces\@xverbatim} \@namedef{verbatim*}{\@verbatim\change@qlqr\@sxverbatim} \def\@verb{\@vobeyspaces\change@qlqr \frenchspacing \@sverb} \def\@sverb#1{% \catcode`#1\active \lccode`\~`#1% \gdef\verb@balance@group{\verb@egroup \@latex@error{\noexpand\verb illegal in command argument}\@ehc}% \aftergroup\verb@balance@group \lowercase{\let~\verb@egroup}% \change@qlqr%%!! }% \makeatother \begin{document} \verb|`BBB'| \verb*|`B B B'| \begin{verbatim} `AAAAA' \end{verbatim} \begin{verbatim*} `A AA AA' \end{verbatim*} \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)