Skip to content

yoshinari-nomura/atenac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

atenac の利用方法

atenac とは

atenac は,Ruby + TeX を使った葉書の宛名書スクリプトです. org-mode のテーブルもしくは CSV ファイルを入力として, 主に年賀状に利用する宛名面の PDF を生成します. スクリプトは,Ruby で記述され,バックエンドに TeX (platex) を利用しています. 想定するユーザは,Emacs (org-mode), TeX, Ruby を普段から利用する人です.

これらの環境が既にある人は,このファイルを宛名データのサンプルとして 宛名 PDF を生成してみることができます.

$ atenac README.org > example.pdf
$ open example.pdf

あるいは,

$ atenac --tex README.org > example.tex
$ platex example.tex
$ dvipdfmx example.dvi
$ open example.pdf

すると,こんな感じになります: example.pdf.(--debug 付き: example-debug.pdf)

CSV をアップロードしたら PDF を作ってくれる Web サーバとして動作させることもできます.

インストール

Ruby/pLaTeX 環境が手元にある場合

$ curl https://raw.githubusercontent.com/yoshinari-nomura/atenac/master/atenac > atenac
$ chmod +x atenac

Docker を使う場合

pLaTeX から丸ごと入ったイメージを作りました: nom4476/atenac - Docker Hub

$ docker run -it --rm -v $PWD:/workdir nom4476/atenac
(Invoke bash in Docker container)
# atenac address-file.org > atena.pdf

なお Docker は,以下からインストールできます.

コマンドライン書式

Usage: atenac [--debug] [--rotate] [--table-type=TYPE] [--fontfile=FILE]
              ADDRESS_FILE > ADDRESS.pdf

       atenac [--debug] [--rotate] [--table-type=TYPE] [--fontfile=FILE]
              --tex ADDRESS_FILE > ADDRESS.tex

       atenac [--debug] [--rotate] [--fontfile=FILE] --server

  + TYPE is type of ADDRESS_FILE: "org" (default) or "csv".
    org file is assumed written in UTF-8, while csv is in Shift-JIS or UTF-8.

  + FILE is path to your special font file: /path/to/font.{ttf,otf}
    If you create TeX file with --tex option, you may need to set
    environment variable TTFONTS or OPENTYPEFONTS to "/path/to"
    when you invoke dvipdfmx by yourself to create pdf.

  + If invoked with --server option, you can open http://localhost:3000
    and upload your ADDRESS_FILE to get pdf.
  • オプション:
    --debug
    デバッグのために郵便番号等の枠線を入れます
    --rotate
    縦書き用代替グリフを持っていないフォントのために長音などを90度回転します
    --table-type
    org (デフォルト) か csv を指定します.
    --tex
    PDF (デフォルト) ではなく,TeX を出力します.
    --fontfile
    フォントファイルを直接 (ttf か otf) 指定します. なお,このオプションと --tex を併用して,TeX ファイルを作った場合, dvipdfmx を別途起動する際には環境変数 TTFONTS (ttf の場合) か OPENTYPEFONTS (otf の場合) に /path/to を追加しなければならないかもしれません. 例えば,dvipdfmx が font を見付けられるように
    $ TTFONTS=/path/to: dvipdfmx file.dvi
            

    としてください.

    --server
    http://localhost:3000/ で Web サーバとして動作します. ブラウザで開くとフォームが現れるので, org か CSV をアップロードすると,葉書の宛名面 PDF が開くでしょう. コマンドラインからなら,以下のようにして変換できます.
    curl -X POST http://localhost:3000 -F "file=@address.org" > address.pdf
            

宛名テーブルの書式

atenac に与える org-mode テーブルの書式を以下に説明します. テーブルは,以下の全カラムを持たなければなりませんが,カラムの順番は問いません. また,下記以外のカラムがあっても動作には影響ありません.

last_name
苗字です.
first_name
名前です.
title
敬称です.空欄時は,「様」になります.
family_names
連名です.苗字は入れないで名前だけを記述します.
  • スラッシュ(/) 区切で複数記述できます.
  • 名前の後にセミコロン (;) で区切って敬称を書けます.省略すると「様」になります(title と同様).

記述例:

ひとみ/はなこ;ちゃん/たろう;くん
    
zip
郵便番号です.999-9999 の形式で記述します.
address1
住所です.長い場合は,address2 に記述します.
address2
住所(2行目)です.address1 と address2 の間で必ず改行されます.
action
印刷(生成するPDF)を制御します.以下の値を取ります.
差出人のとして利用されます (なくてもいい).
印刷に利用されます.
それ以外
無視されます.

各種制限

  1. 現状,住所のレンダラは,address1 と address2 を改行位置決定に使用しています.本来は,文字列の長さから自動的に判断すべきでしょう.
  2. zip は,半角で 999-9999 の形式でなければなりません.
  3. 入力には,住所録に関係ないテーブルを含んではいけません.

住所録 サンプル

idlast_namefirst_nametitlefamily_nameszipaddress1address2action昨年自分昨年相手phonetic_last_namephonetic_first_namecategorydescription
0岡山太郎花子/ミコロ(五歳)/ハコロ(五歳)700-8544岡山市北区大供 1-1-1おかやまたろう自分
1高松市太郎先生760-8571香川県高松市番町 1-8-15高松市庁舎001号たかまついちたろう
2岡山県太郎桃太郎/温羅;ちゃん700-8570岡山市北区内山下 2-4-6おかやまけんたろう親戚
3出須野八女太999-9999XX県YY市 1-1-1だすのやめた

About

Addresser for Japanese postcards (年賀状宛名書)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages