LaTeX の dvipdfmx で英文フォントを埋め込む
LaTeX で dvi から pdf を作るときに基本14フォント(Helvetica とか Times Roman とか)を埋め込みたい。
で、少し調べると dlbase14.map っていうマップファイルを指定して
dvipdfmx -f dlbase14.map hoge.dvi
で dvi から pdf を作るといいよ、と書いているサイトがたくさん見つかるんだけど、どうもこれではうまくいかなかった。
うまくいかないのが自分だけなのかどうかは分からないけれど、もしそんな人がいたら試して欲しいのが、
<w32tex root>\share\texmf\dvipdfmx\config\dvipdfmx.config
の Font map files っていう部分が、もし、
%% %% Font map files %% f psbase14.map %f dlbase14.map %f embase14.map %f kbbase14.map %f pdfmomegaj.map
ってなっていたら、コメントアウトの行を変更して、
%% %% Font map files %% %f psbase14.map f dlbase14.map %f embase14.map %f kbbase14.map %f pdfmomegaj.map
こうするとうまくいくかも。
ちなみにPDFにフォントが埋め込まれているか簡単にチェックするコマンドプロンプトの
pdffonts hoge.pdf
もおすすめ。
ただ、この方法だととりあえず埋め込めたけど Nimbus とかいう不明なフォントが残っているのが意味不明。
論文投稿先のスタイルファイルとかによって影響があるのかもしれないけど。
ツイートの#と@とURLをリンクに変換する
Twitter API に timeline とか search を投げて返ってくるツイートはプレーンな String だったりするから、そういうのをちょちょっと整形する(#と@とURLをアンカータグでくくってリンクにする)ためのコード。
特徴としては、
- 公式の表現に近い
- アンカーのHTMLが以下の構造
<a><s>#</s><b>hashtag</b></a>
-
- 直前、直後の文字の制限(@nameの直後が日本語でもいい、とか)
- etc.
- 日本語ハッシュタグ対応
- API が返すのは http://t.co/~~ だけど、一応 google.com みたいな http(s):// なしにも対応
参考にしたURL
- すたら日記さん http://d.hatena.ne.jp/sutara_lumpur/20101012/1286860552
- 日本語ハッシュタグに関して参考にさせていただきました
function tweetTrimer ( t ) { var text = t; var twitterPath = 'http://twitter.com/#!/'; var patternHash = /(?:^|[^ーー゛゜々ヾヽぁ-ヶ一-龠a-zA-Z0-9a-zA-Z0-9&_\/>]+)[##]([ー゛゜々ヾヽぁ-ヶ一-龠a-zA-Z0-9a-zA-Z0-9_]*[ー゛゜々ヾヽぁ-ヶ一-龠a-zA-Z0-9a-zA-Z]+[ー゛゜々ヾヽぁ-ヶ一-龠a-zA-Z0-9a-zA-Z0-9_]*)/; var patternName = /(?:^|[^ーー゛゜々ヾヽぁ-ヶ一-龠a-zA-Z0-9a-zA-Z0-9&_\/>]+)@([a-zA-Z0-9_]+)/; var patternLink = /(http[s]?:\/\/)?([a-zA-Z0-9_]+)(\.[a-zA-Z0-9_\/\.?=]+)/g; var matchesLink = text.match( patternLink ); if ( matchesLink != null ) { for ( var i = 0; i < matchesLink.length; i++ ) { text = text.replace( matchesLink[i], '<a href="' + ( ( RegExp.$1 != null ) ? '' : 'http://' ) + matchesLink[i] + '" target="_blank" class="twitter-intext-link">' + matchesLink[i] + '</a>' ); } } var matchesHash; var matchesName; while ( true ) { var flgAllReplaced = true; if ( ( matchesHash = patternHash.exec( text ) ) != null ) { text = text.replace( patternHash, ' <a href="' + twitterPath + 'search?q=%23' + RegExp.$1 + '" target="_blank" class="twitter-intext-link"><s>#</s><b>' + RegExp.$1 + '</b></a>' ); flgAllReplaced = false; } if ( ( matchesName = patternName.exec( text ) ) != null ) { text = text.replace( patternName, ' <a href="' + twitterPath + RegExp.$1 + '" target="_blank" class="twitter-intext-link"><s>@</s><b>' + RegExp.$1 + "</b></a>" ); flgAllReplaced = false; } if ( flgAllReplaced ) break; } return text; }
a.twitter-intext-link { color: #0084B4; text-decoration: none; } a.twitter-intext-link:hover { text-decoration: underline; } a.twitter-intext-link s, a.twitter-intext-link:hover s { text-decoration: none; } a.twitter-intext-link b { font-weight: lighter; }
こんなふうにしておくと Twitter のデフォルトと同じになる。
場当たり的なことをしているので、もうちょっとスマートなやり方があるような気がぷんぷん。
「うまくいかない」「うまくいかないだろう」等ありましたらご連絡ください。