2020年04月24日

Windows上にLaTeX組版環境を構築する

1. 前提となる環境
Windows上で仕事をするときは、「TeX Live」「GNU Emacs」など日常的に使う基本的な道具は、ホームディレクトリ直下に「tools」フォルダを作ってそこにまとめて置いています。
Windowsでは基本的に「C:\Users\username」がホームディレクトリになっているので、道具置き場は「C:\Users\username\tools」で、たとえば「GNU Emacs」であれば「C:\Users\username\tools\emacs」に格納していくイメージです。
できるだけ管理者権限でログインしてない場合でもおなじ環境を構築できるように、理想的には道具置き場フォルダ「C:\Users\username\tools」をそのままUSBメモリにコピーして持ち出し、外出先のWindowsマシンに挿入していつもの環境で仕事ができるようにしたい、という方向で考えています(が、現状はあまりその部分はこだわって解決はしていません・・・)。

C:
+ Users
| + username
| | + tools
| | | + texlive
| | | + emacs
| | | + hunspell
| | | + SumatraPDF
| | | + ...

上記環境を前提としてWindows上でLaTeX組版を使うとすれば、かつて角藤版「W32TeX」にはたいへんお世話になったんだけど、いまならやはり「TeX Live」にしておきたいところ。
以下では、とりあえず「TeX Live」をまるごとインストールして、日本語で組版できる環境を構築するところまでの手順を記述します。

2. インストールの準備とファイルの取得
Installing TeX Live over the Internet」からWindows用のネットワークインストールファイル「install-tl.zip」をダウンロードします。

3. インストール作業
ダウンロードした「install-tl.zip」ファイルを解凍すると「install-tl-2020XXXX」のようなフォルダが生成されるので、そのなかにある「install-tl-windows.bat」ファイルをダブルクリックして実行します。
明示的に右クリックから「管理者として実行」を選択すれば、システム全体へのインストールも可能ですが、通常はユーザ権限でのインストールで問題ないことが多いと思います。
インストール画面では、インストール先やデフォルト用紙サイズ、TeX統合環境のひとつである「TeXworks」をインストールするかどうかを選択できます。
(「高度な設定」ボタンから、さらに詳細なオプションを指定することも可能です。)
標準では(C:)ドライブ直下から作成される「C:\texlive\2020」フォルダにファイルが配置されていきますが、ユーザ権限でインストールするなら自分のホームフォルダ内に置いておけばいいので、インストール先を道具置き場フォルダ内の「C:\Users\username\tools\texlive\2020」に変更します。
用紙サイズは「A4」のままで変更なし、「TeXworks」は「GNU Emacs + YaTeX」などべつの統合環境を使う場合は不要なのでチェックをはずしますが、そのままインストールしてしまってもべつに邪魔にはなりません。
上記設定が終わったら、「install」ボタンをクリックすれば、ファイルのコピーがはじまります。
環境にもよりますが、フルインストールにはかなり時間がかかります(一~二時間)ので、気長に待ちましょう。
インストールが完了したら、「閉じる」ボタンを押してインストール画面を閉じます。

4. インストール後の設定
以上で、「TeX Live」を使った日本語組版環境の構築は完了です。
「スタート」ボタンに「TeX Live 2020」フォルダが登録されており、そこから必要なプログラムへアクセスできます。
各種コマンドへのパスも通っているはずですが、「環境変数の編集」を開いて、ユーザ環境変数「Path」欄に「C:\Users\username\tools\texlive\2020\bin\win32」が追加されていることは確認しておきましょう。
ファイルはすべてこの「texlive」フォルダ以下に格納されており、各種設定ファイルはホームディレクトリに作成される隠しフォルダ「.texlive」に残されます。

・パッケージのアップデート
コマンドプロンプトを開いて、以下のコマンドを入力すれば、パッケージを最新版に一括更新できます。
「スタート」ボタンから「TeX Live 2020」 -> 「TeX Live Manager」を選択して「TeX Live Shell」を起動し、「ファイル」 -> 「リポジトリを読み込む」を選択、「すべてアップデート」をクリックしても同じことができます。
> tlmgr update --self --all


・アンインストール
「スタート」ボタンから「TeX Live 2020」 -> 「Uninstall TeX Live」を選択して、アンインストーラを起動します。
アンインストーラの実体は「C:\Users\username\tools\texlive\2020\tlpkg\installer\uninst.bat」なので、インストール後にファイルを移動した場合などは、このファイルを編集して現在の置き場所を指定することで対応できます。
要はインストール先「texlive」フォルダの削除、環境変数からのパス削除、「スタート」メニューに登録したショートカットの削除です。
設定ファイル用隠しフォルダ「.texlive」は、アンインストーラでは削除されないので、不要な場合は手動で削除しておきます。

5. TeX統合環境の構築
ここまでで「TeX Live」を使った日本語組版環境の構築は完了しているとはいっても、LaTeXファイルを編集しながら各種コマンドをべつべつに実行して、じっさいに組版作業をすすめていくのはたいへんです。
そのため、LaTeXファイルを編集しているエディタから直接コマンドを呼び出して、出力を確認しながら組版作業を効率よくすすめられるように、TeX統合環境というものが準備されています(ふつうはLaTeXファイル編集時の入力支援などの機能もそなえています)。
「TeX Live」といっしょにインストールできる「TeXworks」もそのひとつですが、ほかにも「GNU Emacs」エディタにLaTeX文書編集支援モード「YaTeX」を追加するなど、使用環境や慣れている入力方法におうじてさまざまな選択肢があります。
hatakazuはずっとLinuxメインで「GNU Emacs + YaTeX」を使ってきているので、Windows上にもおなじ環境を構築していますが、Windowsでは「SumatraPDF」というTeX総合環境に最適なPDFリーダも使えて便利です。
「GNU Emacs」のインストールや「YaTeX」の設定、「SumatraPDF」との連携については、また別投稿でまとめていきます。


参考ウェブページ一覧表(順不同)

TeX Wiki
TeX入手法
Microsoft Windows
TeX Live/Windows
LaTex入門
TeX Forum
日本語版『TeX Live ガイド』Git-Hubレポジトリ
TeX Live ガイド 2020 日本語版(PDFファイル)
Free PDF Reader - Sumatra PDF
Yet Another LaTeX mode for Emacs
GNU Emacs - GNU Project
posted by hatakazu at 18:04| Comment(0) | TeXとかEmacsとか | 更新情報をチェックする

2020年04月23日

Windows上の「GNU Emacs」でスペルチェックを利用する

1. 前提となる環境
Windows上で仕事をするときは、「TeX Live」「GNU Emacs」など日常的に使う基本的な道具は、ホームディレクトリ直下に「tools」フォルダを作ってそこにまとめて置いています。
Windowsでは基本的に「C:\Users\username」がホームディレクトリになっているので、道具置き場は「C:\Users\username\tools」で、たとえば「GNU Emacs」であれば「C:\Users\username\tools\emacs」に格納していくイメージです。
できるだけ管理者権限でログインしてない場合でもおなじ環境を構築できるように、理想的には道具置き場フォルダ「C:\Users\username\tools」をそのままUSBメモリにコピーして持ち出し、外出先のWindowsマシンに挿入していつもの環境で仕事ができるようにしたい、という方向で考えています(が、現状はあまりその部分はこだわって解決はしていません・・・)。

C:
+ Users
| + username
| | + tools
| | | + texlive
| | | + emacs
| | | + hunspell
| | | + SumatraPDF
| | | + ...

上記環境を前提として、「GNU Emacs」から利用できるスペルチェッカーを導入する方法を、以下に記述していきます。

2. インストールの準備とファイルの取得
利用できるスペルチェッカーはいろいろありますが、やはり「Aspell」や「Hunspell」が有力な選択肢になります。
ユーザ権限でインストールできるバイナリファイルをさがしてみたところ、「hunspell windows」Git-Hubレポジトリで公開されているものがありましたので、これを使います。
Releases」ページへすすみ、「hunspell-windows-h-1.6.2-1-d-9ec31e4-v2.zip」ファイルをダウンロードします。

3. インストール作業
ダウンロードしたファイルを解凍すると「hunspell-windows-h-1.6.2-1-d-9ec31e4-v2」フォルダができるので、フォルダ名を「hunspell」に変更して、まるごと「C:\Users\username\tools」ヘ移動します。
最終的に、「GNU Emacs」から呼び出すスペルチェックプログラム「hunspell.exe」は、「C:\Users\username\tools\hunspell\bin」フォルダに格納されていることになります。

4. インストール後の設定
「GNU Emacs」ホームフォルダ(「C-x C-f」として開いた小窓に「~/」と入力したときに開くのがホームフォルダ)には隠しフォルダ「.emacs.d」が設置されており、そのなかに「GNU Emacs」の挙動を制御する設定ファイル「init.el」が置かれています。
この設定ファイル「init.el」に、スペルチェッカーを呼び出す設定を記述します。
入力中にリアルタイムでスペルチェックをかけていく「Flyspell」という便利な機能もあるので、それを呼び出す設定も追加してあります。

・「init.el」設定例

;;
;; 1. Hunspellを使う場合
;;
;; Windowsでは、「https://github.com/gromnitsky/hunspell-windows/releases/」から
;; 「hunspell-windows-h-1.6.2-1-d-9ec31e4-v2.zip」をダウンロードする。
;; 「https://sourceforge.net/projects/ezwinports/files/」からも、
;; Windows用バイナリ「hunspell-1.3.2-3-w32-bin.zip」をダウンロードできる。
;; 以下の行をコメントアウトして、上記ファイルを解凍した場所を指定する。
(add-to-list 'exec-path "C:/Users/username/tools/hunspell/bin")
;;
;; Linuxなら、「$ sudo apt install hunspell hunspell-en-us」コマンドでインストールし、
;; 以下の二行をコメントアウトして、環境変数を設定する。「~/.bashrc」に記述でも可。
;; (setenv "DICTIONARY" "en_US")
;; (setenv "WORDLIST" "$HOME/.hunspell_personal_dictionary")
;;
;; 以下の行をコメントアウトして、スペルチェックプログラムにHunspellを指定する。
(setq-default ispell-program-name "hunspell")
;;
;; Hunspellの拡張機能を使う場合は、以下の行をコメントアウトする。
;; (setq ispell-really-hunspell t)
;;
;; Aspellを使う場合
;;
;; Windowsでは、「http://aspell.net/win32/」からWindows用インストーラ
;; 「Aspell-0-50-3-3-Setup.exe」をダウンロードして実行する。
;; 以下の行をコメントアウトして、Aspell のインストールパスを指定する。
;; (add-to-list 'exec-path "C:/Users/username/tools/aspell/bin")
;;
;; Linuxなら、「$ sudo apt-get install aspell aspell-en」コマンドでインストールする。
;;
;; あらかじめホームフォルダに「.aspell.conf」ファイルを作成し、対象言語「lang en_US」を記述しておく。
;; Linuxなら「$ echo "lang en_US" > ~/.aspell.conf」コマンドを実行する。
;; 上記の代わりに、以下の行をコメントアウトしてもO.K.かも。
;; (setenv "LANG" "en_US")
;;
;; 以下の行をコメントアウトして、スペルチェックプログラムにAspellを指定する。
;; (setq-default ispell-program-name "aspell")
;;
;; 以下の行をコメントアウトして、「ispell」を要求する。
(require 'ispell)
;;
;; ほかの辞書を使う場合は、その場所を指定する。
;; (setq ispell-personal-dictionary "C:/Users/username/tools/hunspell/xxxxx")
;; (setq ispell-alternative-dictionary "C:/Users/username/tools/hunspell/xxxxx")
;;
;; 日本語と英語が混ざった文章でスペルチェックを可能にする設定
(eval-after-load "ispell"
'(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
;;
;; 「C-M-$」で単語補完する設定
(global-set-key (kbd "C-M-$") 'ispell-complete-word)
;;
;; Flyspellで自動スペルチェックを実行する設定
;; 基本的には「M-x flyspell-mode」で自動スペルチェックを有効にできるが、
;; ファイル形式によって自動で有効化する設定を追加する。
;;
(mapc
(lambda (hook)
(add-hook hook 'flyspell-prog-mode))
'(
;; コメントのみスペルチェック対象とするFlyspellを自動起動するモードを指定
c-mode-common-hook
emacs-lisp-mode-hook
prog-mode-hook
))
(mapc
(lambda (hook)
(add-hook hook
'(lambda () (flyspell-mode 1))))
'(
;; Flyspellを自動起動するモードを指定
yatex-mode-hook
org-mode-hook
text-mode-hook
))


5. スペルチェッカーの利用方法
「GNU Emacs」での文書編集中に、スペルチェックをかけるによく使うキー操作は、以下のとおりです。





























入力 動作
M-x ispell スペルチェック呼び出し(対象範囲は選択状況に依存)
M-x ispell-buffer バッファ全体をスペルチェック
M-x ispell-region 選択範囲をスペルチェック
M-$ (M-x ispell-word) 選択した単語のスペル確認
C-M-$ (M-x ispell-word-complete) 選択した単語の補完
M-x flyspell-mode 自動スペルチェック(Flyspell)モード起動



参考ウェブページ一覧表(順不同)

http://gromnitsky.blogspot.com/2016/09/emacs-251-hunspell.html
https://texwiki.texjp.org/?Hunspell
posted by hatakazu at 18:42| Comment(0) | TeXとかEmacsとか | 更新情報をチェックする

2019年11月13日

EpubMerge

章ごとに作成していたepubファイルを一冊分まとめるときなど、重宝するCalibreプラグイン「EpubMerge」についての情報源です。

How to Easily Merge and Split Ebooks

GitHub repository for EpubMerge
GitHub repository for EpubSplit
GitHub repository for SmartEject

EpubMerge Calibre Plugin forum

2019年07月24日

アップルがインテルの通信半導体事業を買収か

アップルがインテルからスマートフォンむけの通信半導体事業を買収する方向で交渉をすすめている、とのこと。

Apple in advanced talks to buy Intel's smartphone-modem chip business: WSJ
Apple Is in Talks With Intel for Cellular Modem Unit
Intel stock up amid rumors it's selling part of its chip business to Apple

三カ月ほどまえに、Appleが5G対応加速のためにQualcommと和解、そのあおりを受けてIntelが5G事業からの撤退を発表した、という経緯があった。
しかしそうはいっても、Intelはそれまでに5G関連でかなりの投資をおこなっており、事業としては継続不可能という判断にいたったものの、相当なレベルの技術がすでに蓄積されていることはまちがいない。
その意味では、AppleとしてはIntelの事業を買収することで、当面Qualcommからの部品調達に依存することになる通信半導体を、将来的には自社開発していく選択肢を残したいと考えているのかもしれない。

ついでに、いくつかおもしろい情報へのリンクが貼られていたので、そのページをブックマーク。

日本の輸出規制(準備)で起こる半導体大変動
posted by hatakazu at 19:36| Comment(0) | 気になるニュース | 更新情報をチェックする

2019年05月10日

インテルが10nmプロセスおよび7nmプロセス製品の投入計画を発表

https://newsroom.intel.com/news/2019-intel-investor-meeting/#gs.aw0qz9
https://www.engadget.com/2019/05/08/intel-ships-volume-10nm-in-june/
https://www.anandtech.com/show/14311/intel-process-technology-update-10nm-server-products-in-1h-2020-accelerated-7nm-in-2021
https://wccftech.com/intel-10nm-2019-and-7nm-2021-confirmed-xe-gpu-launch-2021/

インテルがロードマップを発表し、10nmプロセスを採用したプロセッサを今年6月から投入開始、来年にかけてサーバ用途のプロセッサも発売予定であることをあきらかにした。
インテルでは10nmプロセスの開発がおくれており、それにともなって需要が集中した14nm世代の生産能力が追いつかず、結果としてプロセッサの供給不足が価格高騰へとつながったといわれている。
さらには、このプロセッサの供給不足がメモリの供給過剰による値くずれを誘発、深刻な半導体不況の原因となったという見方もある。
しかし、ここにきて10nmプロセス製品の投入計画が明示され、さらには7nmプロセスを採用した製品の2021年投入予定も発表されたことで、業界全体がそれにあわせて準備をはじめることはまちがいない。
posted by hatakazu at 08:16| Comment(0) | 気になるニュース | 更新情報をチェックする

2019年05月06日

米中貿易戦争、あらたな局面へ

https://www.reuters.com/article/us-usa-trade-china/trump-ratchets-up-pressure-on-china-threatens-tariff-hikes-idUSKCN1SB0KP
https://www.bloomberg.com/opinion/articles/2019-05-06/trump-s-trade-threats-hurt-u-s-more-than-china
https://edition.cnn.com/2019/05/05/politics/trump-china-additional-tariffs/index.html

順調にすすんでいるといわれていた米中貿易交渉は、あらたな局面に突入しているもよう。
トランプ大統領は、現在10パーセントの関税がかかっている2000億ドルの輸入品について、関税を25パーセントへ引きあげる可能性を表明。
それに加えて、現在関税がかかっていない3250億ドルぶんについても、25パーセントの関税を発動する考えがあることを強調した。
合意へとむかっていた交渉のなかで、中国がわが対応を硬化させて再交渉を引きだそうとする動きを見せたことに対して、あらかじめ牽制する意図があると考えられる。
米国市場における中国製品の競争力を奪う反面で、最終的には米国消費者へ転嫁されることで米国経済への影響も避けられない対中関税強化策、トランプ大統領の真意はどこにあるのか、今後の展開に注目です。
posted by hatakazu at 22:40| Comment(0) | 気になるニュース | 更新情報をチェックする

2019年05月04日

独自性あふれる企業文化について

6 Inspiring Employee Handbook Examples - Nasdaq.com

それぞれに強烈な印象をもたらす、六つのカルチャーが紹介されている。
けっきょくのところ、従業員の一人ひとりを価値ある大人として遇する、というところに尽きるのだろうか。
社会のなかでほかの人びととつながり、その複雑な関係性を生きていくということは、みずからのもつ創造性を発揮して、問題を解決していくということと同義だ。
実社会のなかでみずからの自由と責任においてそれを実行している一人ひとりの大人が、会社という組織に属したとたんに小人に対するような規則にしばられ、その創造性を発揮できないままに能力と人生の時間をむだにしつづけている。
そういう状態から抜けだし、最重要経営資源としての従業員の一人ひとりが能力を最大限に発揮できるように、大人として当然もつべき自由と責任を会社という組織のなかにおいてももたせる。
そのマインドセットの転換が、せまられているのかもしれない。
posted by hatakazu at 14:07| Comment(0) | 会社とか仕事とか | 更新情報をチェックする

2019年05月02日

「KindleGen」を使ってepub形式電子書籍をmobi形式に変換(続)

「KindleGen」プログラムを使用して、koboで読んでいたepub形式電子書籍をkindle用のmobi形式に変換するにさいして、有用な情報があったのでサイト情報を追加しておく。

MobileRead Wiki
MobileRead Wiki - KindleGen
MobileRead Wiki - KindleUnpack