The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
   Program Name : '=SCRIPT='    ('=Bin=')

   Usage Example : 
     '=SCRIPT=' -_ -c 12 -3 4..8  # Assuming 12 columns and treat some column in numbers and emphasize spaces.

    Give the tab separated table from STDIN, then it yields a LaTeX table code from "\begin{table})..".
    Labor-saving to create LaTeX tables from the copy/paste from Excel and SQL outputs, etc.

    Main functions : 
     NOT ONLY performing the tedious work in typing LaTeX codes such as 
    (1) transforming tab characters into ampersands (&) characters for table environments,
    (2) adding the "\hline" on the beginning and the ending inside the tabular environments,
     BUT ALSO
    (3) grouping every 3 digits by comma on numbers >= 1000 and aligning toward right in a column,
    (4) properly modifying various signs \~!<>_%#&$ fitting into LaTeX (with -j, Japanese half-width as well),
    (5) emphasizing the space chacters both usual half-size space and full-width space, 
    (6) by with -z, emphasizing the fullsize hyphen to indicate that it differs from prolonged sound sign.

 Options :     
    -=   : To indicate that the first line in STDIN is the header, to yield "\hline" btw. 1st and 2nd lines.
    -c N : To explicitly indicate that the table has N columns. (Else, automatically determined by 1st line)
    -j   : For Japanese half-width character. The LaTeX output utilize \scalebox{0.5}[1]{...}
    -s N : N is the displaying magnifying factor. Often used for large-size table to reduce the physical size.
    -_   : To emphasize the space character. Both for half-width \x{20} and full-width \x{3000}.

    -3 n[..n][,n[..n]][,n[..n]].. ;  Specify number columns. The leftest columns is numbered 1. 
    -9  : Rotate the entire table 90 degree unclockwise, using "\rotatebox{90}".
    -\'  : Rotate each cell of the 1st line unclockwise. Often used that column names are long string. 
    -H :  (Just for the author's usage. 64digit hexagonal codes from SHA2 is shrinked into 15 digits.)


    --help : Print this online help manual of this command "'=SCRIPT='". Similar to "perldoc `which [-t] '=SCRIPT='` ".
    --help opt ..or..  --help options : Only shows the option helps. It is easy to read when you are in very necessary.
    --help ja : Shows Japanese online help manual. ; latextable --help ja で日本語のオンラインマニュアルを表示します。

 Remarks : 
  - \usepackage{graphicx} is needed between \documentclass and \begin{document}, for rotating and magnifying.
  - The output LaTeX snippet does not work well if the column number of each line increase in a table.
  - Please fill in \caption{} and \label{} as neccessary in the output LaTeX code.
  
 Notes for developing : 
   * I want to add -r switching options to specify only right alignment.
   * I have not yet fully investigate good LaTeX books yet. I only developed this program merely mainly by experience.

 # This program has been made since 2018-02-09(Fri) by Toshiyuki Shimono, as a part of TSV hacking toolset for table data.
=begin JapaneseManual
  プログラム名 : '=SCRIPT='    ('=Bin=')

  標準入力からタブ区切りのデータを読取り、それを LaTeX の表で使えるように変換する。
  下記の作業などを省力化することが目的である。
    (1) タブ区切りをアンパサンド区切りに変換すること
    (2) \hline コマンドを書き入れること
    (3) 数値はコンマ3桁区切りで右詰めにすること
    (4) 各種記号や半角カナをLaTeXで出力できるようにすること
    (5) 半角空白と全角空白を目立たせること
    (6) 全角ハイフンも、全角長音と区別させること
オプション : 
    -=   : 標準入力の最初の行は、作りたいテーブルのヘッダであると仮定する。(\hlineの処理に関わる)
    -c N : 表が幅何列かを明示的に指定する。未指定なら先頭行の列数で判定する。
    -j   : 日本語の半角カナに対応する。
    -s N : 出力の拡大率を指定する。未指定なら 1.0。
    -z   : 全角スペース(UTF8)を、LaTeXの出力結果において、正方形の下半分のような形で可視化する。

    -3 n[,n][,n].. :  3桁区切りにして右寄せにしたい列を1始まりで指定する。 ..で範囲指定。
    -9  : LaTeXで表示させる表の全体を90度左回りに回転させる。
    -H : 便宜上のもの。リリース時に消去。16進の長い文字列を短くする。
    -\'   : 1行目を左回りに回転する。

    --help : このコマンド '=SCRIPT=' のオンラインヘルプマニュアルを表示する。
    --help opt ないし --help options : 分かり安くオプションのヘルプのみを表示する。

注意点 : - 途中で列数が変わると、LaTeXの動作がうまくいかなくなるので注意。 - \caption と \label の中が空白なので、後で書き込む必要がある。 - LaTeX の \scalebox コマンドなどを使うので \usepackage{graphicx} がプリアンブルに必要となる。 このプログラムの開発上のメモ : * 3桁区切りにしたい数ではなくて、単に右寄せしたい列の指定をする -r を実装したい。 * ドルマークとバックスラッシュの処理は内部処理上でトリッキーだった。正規表現の \Gで解決した。

# このブログラムは 2018年2月9日(金)から表形式データに対する道具作りの一環として、下野寿之が作成したものである。 =end JapaneseManual