latexで小説を書く
タイトルでは小説としてますが、以下の要素を満たした文書を作成します。
- 日本語の文章
- 縦書き
- 用紙サイズは自由(A4,B4,A5,B5から)
使用する環境は以下の通りです。
結論から言ってしまうとこういう書き方で使用しています。
\documentclass[a5j,12pt]{tbook} \usepackage{okumacro} \usepackage[pass]{geometry} \title{タイトル} \begin{document} \maketitle 本文 \ruby{漢字}{かんじ}にルビを振りたい時は、このように入力します。 数字を横書きで書きたい時は、\rensuji{999}と書きます。 \end{document}
用紙サイズに関する注意点
a5jと書いてあるのは用紙サイズを指定しています。
ここではA5用紙サイズです。
同じようにa4j、b4j、b5jと書くことで他のサイズを指定できます。
用紙サイズで注意が必要なのは、documentclassで指定してもpdf化するとうまくいかないことがあります。
私もA4サイズの縮尺でA5サイズに出力されたり、文字が用紙からはみ出したりしました。
3行目の\usepackage[pass]{geometry}はこの問題を回避するために入力しています。
jsonファイルの出力
Python3でjsonファイルを出力するプログラムです。
import json import codecs # jsonオブジェクトを作成する obj = dict() obj['foo1'] = 'bar1' obj['foo2'] = 'bar2' # 書き出すjsonファイルをopen file = codecs.open('./output.json', 'w', 'utf-8') # ファイルにオブジェクトを書き出す json.dump(obj, file, indent=4, ensure_ascii=False)
オプションとしてインデントを4、
ascii文字のエスケープは無効でやっています。
今回の例では不要ですが、ascii文字を使用するときはこれをやらないとエスケープされてしまいます。
以下が書き出したjsonのコードになります。
{ "foo1": "bar1", "foo2": "bar2" }
以下、公式のドキュメントです。
19.2. json — JSON エンコーダおよびデコーダ — Python 3.6.1 ドキュメント
7.2. codecs — codec レジストリと基底クラス — Python 3.6.1 ドキュメント
7、8月のまとめ
前回の記事を書いてから何やってきたか殆ど覚えていないので、
思い出しながらまとめてみる。
- やったこと一覧
Boostnoteのインストール
デスクトップとノートの両方にインストールして使っている。
Markdownでメモを書けるのは本当に楽!わかりやすい!簡単!
iCloudの共有フォルダにデータディレクトリ入れてるので、勝手に同期してくれる。
こんな便利なものあったんだと目からウロコでした。
Python3
主にScrapyでスクレイピングするために勉強した。
前はRubyのAnemoneやNokogiriでやってたけど、それより便利かも。
ただ、Rubyに比べて日本語のドキュメントが少ないのが欠点といえば欠点か。
プログラマなんだから英語の勉強もしろよってことですね。
まだしっくりきてないですが、
一応クローリングとスクレイピングは違いますよってことを書いておきます。
- クローリング
- Webページのリンクを辿りながら保存する作業
- スクレイピング
- 保存したページからデータを抽出する作業
Unity
これについては殆ど触りだけしかやってません。
具体的には、ドットインストールのチュートリアルやったくらい。
ただ何か作れそうといえば作れそうです。
それが未定なのでいまいちモチベが上がらないだけですが……。
C++
ここ最近半分以上はC++いじっていたような気がします。
それくらいずっとC++ばっかりやってました。
今更、STL凄い!スマートポインタ凄い!ラムダ式凄いと感動してます。
いままで避けてきたツケが回ってきたというか。
読んだ本についてはこんな感じです。
- 書籍「ゲームエンジン・アーキテクチャ第2版」
- ゲーム業界特化で書いてあるので面白い
- 具体的なツール名や考え方、便利な機能まで細かく書いてある
- 情報量が多すぎてまだ全部読み切れていない……
- 書籍「標準講座C++」
- 2年近く昔に買った本なので情報が古い
- 基本的なことは一通り書いてあるので困ったときのドキュメントになってる
C++はgccコンパイラを使ってます。
Makefileから書くと今まで意識してなかったことが理解しやすくて勉強になる。
リンクってなんだ?オブジェクトファイルってなんだ?が一気に解決しました。
そんなところです。
TS Sniperの出力エラー「Unable to to read next transport packet - End of file reached.」の対処方法について
録画したテレビ番組の編集にTS Sniperを使っているのですが、
ある時カット編集したTSファイルを出力しようとしたら以下のエラーが表示されました。
Unable to to read next transport packet - End of file reached.
エラーが出るTSファイルと出ないファイルがあるようで、
原因がよく分かりませんでした。
色々調べた結果、対処方法らしきものを発見したので、
以下に記載しておきます。
対処法
要点だけ言うと、
今までと同じようにTSファイルをTS Sniperで編集するのではなく、
TSファイルを一旦tsMuxeRというソフトに通してからTS Sniperで編集するというものです。
tsMuxeRのダウンロードや説明は以下のリンクより
www.gigafree.net
tsMuxeRをダウンロードインストールしたら、以下の手順どおりに編集します。
実行手順
1. tsMuxeRを起動する
2. tsMuxeRにTSファイルをドラッグドロップ
色々設定できるみたいですが、確認するのはInputタブのみで大丈夫です。
Input filesにドラッグドロップしたファイルが設定されてて、
Tracksで全部(動画、音声)にチェックが入ってて、
OutputがTS muxingに設定されていることを確認します。
OutputのFile nameから出力先や出力名を変更できます。
3. [Start muxing]で出力する
4. 出力したTSファイルをTS Sniperで編集して書き出す
今のところ上記の方法でエラーは出なくなりました。