adbird(広告鳥) 備忘録

記事一覧・このブログの主要カテゴリー

記事一覧

ブログ(無料版)の仕様で、デフォルトのトップページだと投稿記事の1つ1つが全部表示されてしまい、ブログ全体を把握しづらい。下記のリンクから入ったほうが記事を探しやすいかも。このブログをブックマークする際も下記リンクをブックマークすることをオススメする。

最近よく更新するカテゴリーなど。

Ubuntuで年賀状の宛名作成 2022年版

LibreOffice の Calc で住所録を作成して、コマンド1発で年賀はがきの宛名印刷面のPDFデータを作成する方法。

以前の方法(Ubuntuで年賀状の宛名作成 csvで住所録編集 2020年版)ではLibreOffice の Calc で csv データを作成・編集していたので、新規作成・保存の際や編集のためにデータを開き直す際にちょっと煩雑な手順が必要だった。

しかし、今回はLibreOffice Calc のデフォルトのオープンドキュメント形式(.ods)で住所録の作成・編集ができるので、煩雑な手順がなくなり、とても簡単になった。

一度環境を整えたら、次年度からは Calc で住所録編集&スクリプト実行(コマンド1発)だけでOK。



動作確認環境

IPAmj明朝フォント・IPAexフォント、perlchromiumブラウザをインストール

人名の様々な異体字が使えるIPAmj明朝フォントと、郵便番号でIPAexゴシックを使う。 フォントを変更したい場合、後述のnenga.cssの該当箇所を修正する。

「端末」を開き、下記を1行ずつコピペして、エンターキーを押す。一番最初はパスワードを求められるので入力して(セキュリティ上、入力中は何も表示されないけど、ちゃんと入力されている)、エンターキーを押す。

sudo apt install fonts-ipamj-mincho
sudo apt install fonts-ipaexfont
sudo apt install perl
sudo apt install chromium-browser

フォルダ構成

年賀宛名from-odsフォルダ(フォルダ名は任意)を作って以下のように設定ファイル等を置いていく。

年賀宛名from-ods (フォルダ名は任意)
 ├── makenenga.sh
 ├── nenga.css
 └── 宛名.ods (ファイル名は任意)

スクリプトファイル・設定ファイル

スクリプトファイル・設定ファイルをいちいち作成するのが面倒くさい人は、年賀宛名from-ods.zip をダウンロードしてください。

上記zipファイルをダウンロード・展開(解凍)した場合、 宛名データ(宛名.ods)を作成する まで読み飛ばして構いません。

makenenga.sh (スクリプト

ods → csv → html → pdf というスクリプト

Ubuntu 22.04.1 LTS上のLibreOffice 7.3.5.2(snap版)を使用している場合、4行目は「libreoffice」にしないとうまくいかなかったが、もしcsvへの変換がうまくいかず、PDFがちゃんと生成されない場合は「soffice」にしてみてください。

参考リンク: odsからcsvへの変換 CSV Filter parameters

テキストエディタを開いて、下記の内容をコピペして、makenenga.sh として保存。

#!/bin/sh

#odsデータからcsvデータへ変換。うまくいかないときは「libreoffice」のところを「soffice」にするといいかも。
libreoffice --headless --convert-to csv:"Text - txt - csv (StarCalc):59,59,76" $1.ods
sed -e 's/^[oO○]//g' $1.csv > $1_002.csv

#↓住所の2行目を1字下げしている($14 "<br /> " \)。字下げしたくない場合は当該箇所を $14 "<br />" \ にする。
sed -e '1d' -e '/^[xX☓]/d' $1_002.csv | \
awk -F ";" \
'{print \
$1 "<section class=\"sheet\">\n<p class=\"郵便番号\">" \
$13 "</p>\n<p class=\"住所\">" \
$14 "<br /> " \
$15 "</p>\n<div class=\"宛名\">\n<p class=\"姓\">" \
$3 "</p><p class=\"名\">" \
$4 "<span class=\"敬称\">" \
$5 "</span><br />" \
$7 "<span class=\"敬称\">" \
$8 "</span><br />" \
$9 "<span class=\"敬称\">" \
$10 "</span><br />" \
$11 "<span class=\"敬称\">" \
$12 "</span><br /></p>\n</div>\n<div class=\"差出人住所氏名\">\n<p class=\"差出人住所\">" \
$20 "<br />" \
$21 "</p>\n<p class=\"差出人姓\">" \
$16 "</p><p class=\"差出人名\">" \
$17 "<br />" \
$18 "</p>\n</div>\n<p class=\"差出人郵便番号\">" \
$19 "</p>\n</section>\n"}' | \
sed \
-e 's/<br \/><span class=\"敬称\"><\/span>//g' \
-e 's/<br \/><\/p>/<\/p>/g' \
-e '/<p class=\"名\"><span class=\"敬称\"><\/span><\/p>/d' \
-e '/別姓/s/<span class=\"敬称\"><\/span><br \/>/<\/p><p class=\"名\">/g' \
-e 's/<\/span><br \/>別姓=/<\/span><\/p>\n<br \/>\n<p class=\"姓\">/g' \
-e '/住所/y/-−ー*/―――*/' \
-e '/郵便番号/s/[-−ー]//g' \
-e 's/class=”yoko”/class=\"yoko\"/g' > filein01.txt

#住所の数字を漢数字に変えたい時は以下の行頭の「#」を消して、上書き保存。
#sed -i -e '/住所/y/1234567890*/一二三四五六七八九〇*/' filein01.txt
#sed -i -e '/住所/y/1234567890*/一二三四五六七八九〇*/' filein01.txt

perl -e '
    print "<!DOCTYPE html>\n";
    print "<html lang=\"ja\">\n";
    print "<head>\n";
    print "<meta charset=\"UTF-8\">\n";
    print "<link rel=\"stylesheet\" href=\"nenga.css\" type=\"text\/css\">\n";
    print "<title>年賀状 宛名<\/title>\n";
    print "<\/head>\n";
    print "<body>\n";
    open(RDFILE, "< filein01.txt");
    while(<RDFILE>){ print $_; }
    close(RDFILE);
    print "<\/body>\n";
    print "<\/html>\n";
' > `date +%Y%m%d_$1年賀状`.html

#PDF出力
chromium-browser --headless --print-to-pdf=`date +%Y%m%d_$1年賀状`.pdf `date +%Y%m%d_$1年賀状`.html


#中間ファイル削除
rm -f $1.csv
rm -f $1_002.csv
rm -f filein01.txt
#rm -f `date +%Y%m%d_$1年賀状`.html

nenga.css (宛名面の版面調整)

ハガキの版面調整(郵便番号や宛名、住所等の位置など)やフォント変更をする場合は、テキストエディタでnenga.cssを開いて修正する。

テキストエディタを開いて、下記の内容をコピペして、nenga.css として保存。

@page {size:100mm 148mm; margin:0; padding:0;}

body {margin: 0; padding:0;}

.sheet {
    width:100mm; height:148mm;
    margin: 0;
    padding:0;
    position: relative;
    page-break-after: always;
}

#title-block-header{
    display:none;
}

p{
    margin:0;
    padding:0;
    font-family:"IPAmj明朝"; 
}

.郵便番号 {
    font-family:"IPAexゴシック";
    font-style: normal;
    font-weight: normal;
    letter-spacing: 4.4mm; /*数字の間隔 IPAexゴシック使用時で調整している。フォントを変えた場合は要調整。*/
    font-size:13pt;
    margin:0;
    padding:0;
    position:absolute; top:13mm; left:46mm; /*上部および左からの位置。ズレる場合は要調整。*/
}

.住所 {
    font-family: "IPAmj明朝"; /*フォント*/
    font-size:14pt;
    margin-left:0px;
    padding-top:0px;
    line-height:1.5em;
    letter-spacing:2pt;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright; 
    -webkit-text-orientation: upright; 
    position:absolute; top:30mm; right:7mm; /*上部および右からの位置*/
}

.yoko {
    text-orientation: mixed !important; 
    -webkit-text-orientation: mixed !important; 
}


.宛名 {
    position: absolute;
    top: 30%;               /*上部から位置*/
    left: 52%;              /*左からの位置*/
    -webkit-transform: translateY(-10%) translateX(-50%);
    transform: translateY(-10%) translateX(-50%);
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    -webkit-text-orientation: upright;
}

.姓 {
    display : inline-block; 
    font-family:"IPAmj明朝";  /*フォント*/
    font-size:23pt;     /*フォントサイズ*/
    line-height:1.3em;      /*.名のline-heightの値と同じにする*/
    letter-spacing: 0.4em;  /*文字間隔*/
}

.名 {
    display : inline-block; 
    /* vertical-align: -webkit-baseline-middle;  /*↑連名時、姓を中央寄せにするときはこちら。*/
    vertical-align: top;                         /*↑連名時、姓を右寄せにするときはこちら。*/
    font-family:"IPAmj明朝";  /*フォント*/
    font-size:23pt;     /*フォントサイズ*/
    margin-top:0.6em;       /*姓と名のスペース*/
    letter-spacing: 0.4em;  /*文字間隔*/
    line-height:1.3em;      /*連名時の行間*/
}

.敬称 {padding: 0.5em;}     /*名前と敬称の間の調整*/


.差出人住所氏名 {
    position:absolute; top:70mm; left:8.5mm; /*上部および左からの位置。*/
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    -webkit-text-orientation: upright;
}

.差出人住所 {
    font-family:"IPAmj明朝"; /*フォント*/
    font-size:10pt; 
    margin:0;
    padding-left:0.8em;  /*差出人との間*/
    line-height:1.2;
}

.差出人姓{
    display : inline-block; 
    font-family:"IPAmj明朝"; /*フォント*/
    font-size:14pt; 
    line-height:1.2em;      /*.差出人名のline-heightの値と同じにする*/
    letter-spacing: 0.4em;  /*文字間隔*/
    padding-top:0.5em;      /*字下げ*/
    }
.差出人名{
    display : inline-block; 
    /* vertical-align: -webkit-baseline-middle;  /*連名時、姓を中央寄せにするときはこちら。*/
    vertical-align: top;                         /*連名時、姓を右寄せにするときはこちら。*/
    font-family:"IPAmj明朝"; /*フォント*/
    font-size:14pt; 
    margin-top:0.6em;       /*姓と名のスペース*/
    letter-spacing: 0.4em;  /*文字間隔*/
    line-height:1.2em;      /*連名時の行間*/
    }

.差出人郵便番号{
    font-size:10pt;
    font-family:"IPAmj明朝"; /* IPAmj明朝で文字間隔等を調整している */
    margin:0;
    padding:0;
    position:absolute; top:124mm; left:6mm; /*上部および左からの位置。ズレる場合は調整*/
    letter-spacing: 2mm;                   /* 文字の間隔 */
}

/*数字の縦中横はイマイチな感じなので保留*/
.縦中横 {
    text-combine-upright: all;
    vertical-align: middle;
}

/** For screen preview **/
@media screen {
    body { background: #e0e0e0 }
    .sheet {
    background: white;
    box-shadow: 0 .5mm 2mm rgba(0,0,0,.3);
    margin: 5mm;
    }
}

@media print {
  body {
    margin: 0;
    padding:0;
    width:100mm; height:148mm; /* needed for Chrome */
    }
}

宛名データ(宛名.ods)を作成する

雛形のデータは 年賀宛名from-ods.zip の中に入ってます。それを編集するのが手っ取り早いです。

LibreOfficeのCalcで、表計算ドキュメントを新規作成。

1行目を

| 送付 | No. | 姓 | 名 | 敬称 | ふりがな | 連名 | 敬称 | 連名 | 敬称 | 連名 | 敬称 | 郵便番号 | 住所 | 住所2 | 差出人(姓) | 差出人(名) | 差出人連名 | 差出人郵便番号 | 差出人住所 | 住所2 |

にする。

書き方は ods書き方01〜03.png を参考に。

  • 郵便番号は -(ハイフン)があってもなくてもどちらもでいい。
  • A列(送付):○または空白の場合は宛名面が作成される。☓の場合は宛名面が作成されない。
  • 夫婦別姓の場合、2人目をG列(連名)に「別姓=○○」と姓を書き、I列(連名)に名(下の名前)を書く。
  • マンション名が英語の場合に、アルファベットを横倒しにしたいときは、<span class="yoko">〜</span>とする。

既存の住所録がエクセル等で手元にある人はデータをそれぞれの列にコピペしていくといい。

保存は「宛名.ods」(ファイル名は任意)と拡張子を「.ods」にする(デフォルトで.odsになるはず)。

スクリプト実行・PDFファイル生成

年賀宛名from-odsフォルダ内の構成が次の通りになっていることを確認。

年賀宛名from-ods(フォルダ名は任意)
 ├── makenenga.sh
 ├── nenga.css
 └── 宛名.ods

年賀宛名from-odsフォルダ内で、 右クリック端末で開く で、端末を開いて、以下を実行。

sh makenenga.sh 宛名

宛名データのファイル名(ここでは 宛名.ods)を入力するときは、拡張子(.ods)はいらないので注意。

ヘッドレスchromiumの処理?でエラーが表示されることもあるけど、ちゃんとPDFは生成されているはず。

もし、PDF生成が失敗していたら、makenenga.shをテキストエディタで開いて、4行目の「libreoffice」を「soffice」に変えてみてください。

ハガキの版面調整(郵便番号や宛名、住所等の位置など)をする場合は、nenga.cssテキストエディタで開いて修正する。

完成イメージ

印刷設定

プリンタ等、環境によるので、ご注意を。

参考リンク

Geany で LaTeX や html などの表を簡単に作成

Geanyをインストール後、さらにプラグインをインストール(Geany 個人的設定 プラグインを追加する)後、Geanyを再起動。

そうすると、上部の項目に ツール > 「テーブルに変換」や「More TableConvert」が追加される。

例えば、表にしたい内容を以下のように書く。
各項目は A1〈Tabキー入力〉B1 というように、「Tab」で区切る。

A1  B1  C1
A2  B2  C2
A3  B3  C3

これを範囲選択して、ツール > 「テーブルに変換」(←おそらくファイルの拡張子で自動判別してくれる)や「More TableConvert」で変換したい表をクリックすれば、一瞬で

\begin{table}[h]
\begin{tabular}{}
    A1 & B1 & C1\\ \hline
    A2 & B2 & C2\\
    A3 & B3 & C3\\
\end{tabular}
\end{table}

というように変換してくれる。

あとは \begin{tabular}{}\begin{tabular}{|c|c|c|} にしたり、\begin{table}[h]の下に

\centering
\caption{表のキャプション}
\label{ラベル}

を入れたりすればいい。

表への変換は、LaTeXやhtmlの他に、SQLDokuWikiに対応しているらしい。

LaTeX(LuaLaTeX 《 jlreq 》) で B6・縦書きの小説本・エッセイ本を作る

LaTeX(LuaLaTeX 《 jlreq 》) で A5・縦書き・2段組の小説本・エッセイ本を作る の設定をいじって、B6・縦書き(段組みなし)の小説本・エッセイ本を作るためのLaTeXテンプレートを作った。

目次

環境

環境が変われば、うまくいかない場合もあるかもしれませんので、あしからず。

フォルダ内の構成

任意のフォルダ内が以下のような構成になるようにする。

任意のフォルダ
├── B6tate-jlreq.sty
├── breakfbox.sty
├── myuline--.sty
├── uline--.sty
├── pic (画像ファイルを入れるフォルダ)
│    ├── cat001.jpg
│    ├── cat002.jpg
│    ├── cat003.jpg
│    └── cat004.jpg
└── B6原稿.tex

準備

  • Windowsの人はファイルの拡張子が表示されるようにしておいてください。

LaTeXTeX Live)のインストール

以下のリンク先を参照のこと。
インストールにはものすごく時間がかかる場合があるので、ご注意を。

uline--.sty breakfbox.sty myuline--.sty

下線・波線などのために必要なTeXスタイルファイル。
breakfbox パッケージから、以下の3つのファイルを入手する。

  • uline--.sty
  • myuline--.sty
  • breakfbox.sty

B6原稿.tex と同じフォルダ内に入れておけばよいが、その後もずっと使うのなら、LaTeX スタイルファイルの保存先 を参考に、TEXMFフォルダ内にインストールしてもいい。(TEXMFフォルダ内にインストールしたら、B6原稿.tex と同じフォルダ内には入れなくていい。)

B6tate-jlreq.sty

テキストエディタを開いて、以下をコピペして「B6tate-jlreq.sty」として保存。
細かい調整等は jlreq/README-ja.md at master · abenori/jlreq · GitHub を見ながら、いじってください。

%%% ページスタイル %%%
\NewPageStyle{hajime}{% 「はじめに」のページスタイル
%running_head_position=top-left,% 柱の位置
%running_head_font=\footnotesize,% 柱のフォントサイズ
nombre_position=bottom-left,% ノンブルの位置
%odd_running_head=,% 奇数ページの柱
%even_running_head=,% 偶数ページの柱
}

\NewPageStyle{honbun}{% 本文のページスタイル
running_head_position=top-left,% 柱の位置
running_head_font=\footnotesize,% 柱のフォントサイズ
nombre_position=bottom-left,% ノンブルの位置
odd_running_head=_chapter,% 奇数ページの柱
even_running_head=,% 偶数ページの柱
}

\NewPageStyle{chapter}{% 「chapter」のページスタイル
%running_head_position=top-left,% 柱の位置
%running_head_font=\footnotesize,% 柱のフォントサイズ
nombre_position=bottom-left,% ノンブルの位置
%odd_running_head=,% 奇数ページの柱
%even_running_head=,% 偶数ページの柱
}

\NewPageStyle{atogaki}{% 「あとがき」のページスタイル
%running_head_position=top-left,% 柱の位置
%running_head_font=\footnotesize,% 柱のフォントサイズ
nombre_position=bottom-left,% ノンブルの位置
%odd_running_head=,% 奇数ページの柱
%even_running_head=,% 偶数ページの柱
}
%%% ページスタイルここまで %%%

%%% 目次(\tableofcontents)設定 %%%
\makeatletter
%\renewcommand{\@pnumwidth}{3\jlreq@mol}% 点線とページ番号との間
\renewcommand{\@dotsep}{2}% 点線の間隔
\setlength\toclineskip{0.5\jlreq@gol plus .02\jlreq@gol}% 最初の数値が行間
\makeatother

%目次の部(part)の設定。
%\renewcommand*{\l@区分}{\@dottedtocline{レベル}{インデント量}{ラベル幅(数字+余白)}}
\makeatletter
\renewcommand*{\l@part}{\@dottedtocline{1}{3\zh}{5\zh}}
\makeatother

%目次の章(chapter)の設定。
%\renewcommand*{\l@区分}{\@dottedtocline{レベル}{インデント量}{ラベル幅(数字+余白)}}
\makeatletter
\renewcommand*{\l@chapter}{\@dottedtocline{1}{4\zh}{2\zh}}
\makeatother

%目次の節(section)の設定。
%\renewcommand*{\l@区分}{\@dottedtocline{レベル}{インデント量}{ラベル幅(数字+余白)}}
\makeatletter
\renewcommand*{\l@section}{\@dottedtocline{1}{6\zh}{2\zh}}
\makeatother
%%% 目次の設定ここまで %%%


%本文中の chapter(章) 設定
\ModifyHeading{chapter}{
pagebreak=begin_with_odd_page,% 奇数ページ起こし
font=\fontsize{14pt}{1.7\zw}\selectfont,%フォントサイズ14pt、行送り1.7文字分
label_format={\thechapter},% 漢数字のみ。第」や「章」を表示させない
}

%ルビや傍点  例 \ruby{山﨑}{やま|さき} 
\usepackage{pxrubrica}

%下線・波線・囲み文字 https://github.com/doraTeX/breakfbox から uline--.sty と breakfbox.sty を入手
%\usepackage[usetype1]{myuline--}
\usepackage{breakfbox}

%縦中横数字&minipageで<y>を使えるようにする
\usepackage{lltjext}

%画像
\usepackage{graphicx}

%写真のキャプションに「図」を入れない
\renewcommand{\figurename}{}
%画像まわり再定義
\makeatletter
\renewcommand{\thefigure}{%
%\ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@figure} %%画像のキャプションに余計な文字や数字を入れない
 }
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename\thefigure}
\makeatother

%キャプションのフォントサイズ等
\jlreqsetup{
caption_font=\normalsize,
caption_label_font=\normalsize,
}

%ダッシュをつなげる 参照:https://qiita.com/isari/items/1d0b60b76c7ef168e376
\usepackage{newunicodechar}
\makeatletter
\chardef\my@J@horizbar="2015% Unicodeの2015
\newunicodechar{―}{\x@my@dash}
\def\x@my@dash{\@ifnextchar―{%
  \my@J@horizbar\kern-.5\zw\my@J@horizbar\kern-.5\zw}{%
    \my@J@horizbar}}
% 次が―なら2回目のkernまでを、そうでないなら普通の―を出力
\makeatother

% 〜をつなげる。例)\〜\〜\〜〜! 最後だけ「〜」を2つにする。
\def\〜{〜\kern-0.25\zw}

%濁点 例)\dakuten{あ} 参照:https://tadeku.net/94393/
\usepackage{bxghost}
\newcommand{\dakuten}[1]{%
    \jghostguarded{%
        \leavevmode\hbox to 1\zw{%
            \rensuji{\hbox to 1\zw{#1\hspace*{-.25\zw}゛}}%
        }%
    }%
}

B6原稿.tex を書いていく。

テキストエディタを開いて、以下のような感じで書いていき、「B6原稿.tex」として保存。 文字コードUTF-8で。

\documentclass[
tate,
book,
paper=b6j,
twoside,
fontsize=9pt, % 欧文フォントサイズ
jafontsize=9pt, % 和文フォントサイズ
%head_space=17truemm, % 天の余白
%gutter=20truemm, % ノドの余白
%line_length=46zw, % 1行の文字数
%number_of_lines=21, % 行数
%column_gap=10truemm,% 段間
headfoot_verticalposition=5truemm,%本文とヘッダ/フッタの間の空き
]{jlreq}

\usepackage{B6tate-jlreq}% B6tate-jlreq.sty を適用

\begin{document}%
\pagestyle{honbun}% ページスタイル honbun 適用

%タイトルページ
\thispagestyle{empty}
\null\vspace{40.5truemm}% 右余白
\begin{center}
{\LARGE 吾輩は猫である}\hspace{2\zw}{\large 夏目漱石}% タイトル、2文字分空ける、筆者名
\end{center}

\tableofcontents %目次を挿入
%以下に本文を書いていく。

\chapter*{はじめに}% 「*」をつけることで章番号を消す。
\addcontentsline{toc}{chapter}{はじめに}% 上記で章番号を消すと目次からも消えるので、目次には表示させる。
\thispagestyle{hajime}% ページスタイル hajime 適用

用紙B6サイズの縦書きの文章が書けます。

細かい調整をしたい場合は、B6tate-jlreq.styをいじってください。

\oline{傍線}、そして、\kenten{傍点}、\kenten[s]{傍点}……。

ダッシュ(―)を二つ。――。

〝ダブルミニュート(二重引用符)〟〝〟を「かっこ」と打てば出てくるように単語登録しておけばいいかも。

\breakfbox{枠で囲む。枠で囲む。枠で囲む。枠で囲む。枠で囲む。枠で囲む。枠で囲む。枠で囲む。枠で囲む。枠で囲む。枠で囲む。}

濁点だ\dakuten{あ}\dakuten{あ}\dakuten{あ}\dakuten{つ}\dakuten{い}。

波線をつなげる\〜\〜\〜\〜\〜〜!

目次の挿入には「\$ lualatex 原稿」を2回実行する必要があります。


\begin{figure}
\centering
\begin{minipage}<y>[htb]{92truemm} %
\hspace{0truemm}% 余白調整
\includegraphics[width=90truemm]{./pic/cat001.jpg} %
\caption{多賀山公園のネコ} %
\end{minipage}
\end{figure}



\part{吾輩は犬ではない}
\pagestyle{honbun}% ページスタイル honbun に戻す

\chapter{吾輩は猫である}
\thispagestyle{chapter}% このページだけ柱を表示させない

吾輩は猫である。名前はまだ無い。

どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで始めて人間というものを見た。しかもあとで聞くとそれは書生という人間中で一番\ruby{獰悪}{どう|あく}な種族であったそうだ。この書生というのは時々我々を捕えて煮て食うという話である。しかしその当時は何という考もなかったから別段恐しいとも思わなかった。ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあったばかりである。掌の上で少し落ちついて書生の顔を見たのがいわゆる人間というものの見始であろう。この時妙なものだと思った感じが今でも残っている。第一毛をもって装飾されべきはずの顔がつるつるしてまるで\ruby{薬缶}{や|かん}だ。その後猫にもだいぶ逢ったがこんな片輪には一度も出会わした事がない。のみならず顔の真中があまりに突起している。そうしてその穴の中から時々ぷうぷうと煙を吹く。どうも咽せぽくて実に弱った。これが人間の飲む煙草というものである事はようやくこの頃知った。

この書生の掌の裏でしばらくはよい心持に坐っておったが、しばらくすると非常な速力で運転し始めた。書生が動くのか自分だけが動くのか分らないが無暗に眼が廻る。胸が悪くなる。到底助からないと思っていると、どさりと音がして眼から火が出た。それまでは記憶しているがあとは何の事やらいくら考え出そうとしても分らない。

ふと気が付いて見ると書生はいない。たくさんおった兄弟が一疋も見えぬ。肝心の母親さえ姿を隠してしまった。その上今までの所とは違って無暗に明るい。眼を明いていられぬくらいだ。はてな何でも容子がおかしいと、のそのそ這い出して見ると非常に痛い。吾輩は藁の上から急に笹原の中へ棄てられたのである。

\section{大きな池}

ようやくの思いで笹原を這い出すと向うに大きな池がある。吾輩は池の前に坐ってどうしたらよかろうと考えて見た。別にこれという分別も出ない。しばらくして泣いたら書生がまた迎に来てくれるかと考え付いた。ニャー、ニャーと試みにやって見たが誰も来ない。そのうち池の上をさらさらと風が渡って日が暮れかかる。腹が非常に減って来た。泣きたくても声が出ない。仕方がない、何でもよいから食物のある所まであるこうと決心をしてそろりそろりと池を左りに廻り始めた。どうも非常に苦しい。そこを我慢して無理やりに這って行くとようやくの事で何となく人間臭い所へ出た。ここへ這入ったら、どうにかなると思って竹垣の崩れた穴から、とある邸内にもぐり込んだ。縁は不思議なもので、もしこの竹垣が破れていなかったなら、吾輩はついに路傍に餓死したかも知れんのである。一樹の蔭とはよく云ったものだ。この垣根の穴は今日に至るまで吾輩が隣家の三毛を訪問する時の通路になっている。さて邸へは忍び込んだもののこれから先どうして善いか分らない。そのうちに暗くなる、腹は減る、寒さは寒し、雨が降って来るという始末でもう一刻の猶予が出来なくなった。仕方がないからとにかく明るくて暖かそうな方へ方へとあるいて行く。今から考えるとその時はすでに家の内に這入っておったのだ。ここで吾輩は彼の書生以外の人間を再び見るべき機会に遭遇したのである。第一に逢ったのがおさんである。これは前の書生より一層乱暴な方で吾輩を見るや否やいきなり頸筋をつかんで表へ抛り出した。いやこれは駄目だと思ったから眼をねぶって運を天に任せていた。

\begin{figure}
\centering
\begin{minipage}<y>[ht]{92truemm}
\hspace{-2truemm}% 余白調整
\includegraphics[width=90truemm]{./pic/cat002.jpg}
\caption{吾輩は猫である。名前はまだ無い。}
\end{minipage}
\end{figure}


しかしひもじいのと寒いのにはどうしても我慢が出来ん。吾輩は再びおさんの隙を見て台所へ這い上った。すると間もなくまた投げ出された。吾輩は投げ出されては這い上り、這い上っては投げ出され、何でも同じ事を四五遍繰り返したのを記憶している。その時におさんと云う者はつくづくいやになった。この間おさんの三馬を偸んでこの返報をしてやってから、やっと胸の痞が下りた。吾輩が最後につまみ出されようとしたときに、この家の主人が騒々しい何だといいながら出て来た。下女は吾輩をぶら下げて主人の方へ向けてこの宿なしの小猫がいくら出しても出しても御台所へ上って来て困りますという。主人は鼻の下の黒い毛を撚りながら吾輩の顔をしばらく眺めておったが、やがてそんなら内へ置いてやれといったまま奥へ這入ってしまった。主人はあまり口を聞かぬ人と見えた。下女は口惜しそうに吾輩を台所へ抛り出した。かくして吾輩はついにこの家を自分の住家と極める事にしたのである。

吾輩の主人は滅多に吾輩と顔を合せる事がない。職業は教師だそうだ。学校から帰ると終日書斎に這入ったぎりほとんど出て来る事がない。家のものは大変な勉強家だと思っている。当人も勉強家であるかのごとく見せている。しかし実際はうちのものがいうような勤勉家ではない。吾輩は時々忍び足に彼の書斎を覗いて見るが、彼はよく昼寝をしている事がある。時々読みかけてある本の上に涎をたらしている。彼は胃弱で皮膚の色が淡黄色を帯びて弾力のない不活溌な徴候をあらわしている。その癖に大飯を食う。大飯を食った後でタカジヤスターゼを飲む。飲んだ後で書物をひろげる。二三ページ読むと眠くなる。涎を本の上へ垂らす。これが彼の毎夜繰り返す日課である。吾輩は猫ながら時々考える事がある。教師というものは実に楽なものだ。人間と生れたら教師となるに限る。こんなに寝ていて勤まるものなら猫にでも出来ぬ事はないと。それでも主人に云わせると教師ほどつらいものはないそうで彼は友達が来る度に何とかかんとか不平を鳴らしている。

吾輩がこの家へ住み込んだ当時は、主人以外のものにははなはだ不人望であった。どこへ行っても跳ね付けられて相手にしてくれ手がなかった。いかに珍重されなかったかは、今日に至るまで名前さえつけてくれないのでも分る。吾輩は仕方がないから、出来得る限り吾輩を入れてくれた主人の傍にいる事をつとめた。朝主人が新聞を読むときは必ず彼の膝の上に乗る。彼が昼寝をするときは必ずその背中に乗る。これはあながち主人が好きという訳ではないが別に構い手がなかったからやむを得んのである。その後いろいろ経験の上、朝は飯櫃の上、夜は炬燵の上、天気のよい昼は椽側へ寝る事とした。しかし一番心持の好いのは夜に入ってここのうちの小供の寝床へもぐり込んでいっしょにねる事である。この小供というのは五つと三つで夜になると二人が一つ床へ入って一間へ寝る。吾輩はいつでも彼等の中間に己れを容るべき余地を見出してどうにか、こうにか割り込むのであるが、運悪く小供の一人が眼を醒ますが最後大変な事になる。小供は――ことに小さい方が質がわるい――猫が来た猫が来たといって夜中でも何でも大きな声で泣き出すのである。すると例の神経胃弱性の主人は必ず眼をさまして次の部屋から飛び出してくる。現にせんだってなどは物指で尻ぺたをひどく叩かれた。

\chapter{人間は我儘なものだ}
\thispagestyle{chapter}% このページだけ柱を表示させない


吾輩は人間と同居して彼等を観察すればするほど、彼等は我儘なものだと断言せざるを得ないようになった。ことに吾輩が時々同衾する小供のごときに至っては言語同断である。自分の勝手な時は人を逆さにしたり、頭へ袋をかぶせたり、抛り出したり、へっついの中へ押し込んだりする。しかも吾輩の方で少しでも手出しをしようものなら家内総がかりで追い廻して迫害を加える。この間もちょっと畳で爪を磨いだら細君が非常に怒ってそれから容易に座敷へ入れない。台所の板の間で他が顫えていても一向平気なものである。吾輩の尊敬する筋向の白君などは逢う度毎に人間ほど不人情なものはないと言っておらるる。白君は先日玉のような子猫を四疋産まれたのである。ところがそこの家の書生が三日目にそいつを裏の池へ持って行って四疋ながら棄てて来たそうだ。白君は涙を流してその一部始終を話した上、どうしても我等猫族が親子の愛を完くして美しい家族的生活をするには人間と戦ってこれを剿滅せねばならぬといわれた。一々もっともの議論と思う。また隣りの三毛君などは人間が所有権という事を解していないといって大に憤慨している。元来我々同族間では目刺の頭でも鰡の臍でも一番先に見付けたものがこれを食う権利があるものとなっている。もし相手がこの規約を守らなければ腕力に訴えて善いくらいのものだ。しかるに彼等人間は毫もこの観念がないと見えて我等が見付けた御馳走は必ず彼等のために掠奪せらるるのである。彼等はその強力を頼んで正当に吾人が食い得べきものを奪ってすましている。白君は軍人の家におり三毛君は代言の主人を持っている。吾輩は教師の家に住んでいるだけ、こんな事に関すると両君よりもむしろ楽天である。ただその日その日がどうにかこうにか送られればよい。いくら人間だって、そういつまでも栄える事もあるまい。まあ気を永く猫の時節を待つがよかろう。

我儘で思い出したからちょっと吾輩の家の主人がこの我儘で失敗した話をしよう。元来この主人は何といって人に勝れて出来る事もないが、何にでもよく手を出したがる。俳句をやってほととぎすへ投書をしたり、新体詩を明星へ出したり、間違いだらけの英文をかいたり、時によると弓に凝ったり、謡を習ったり、またあるときはヴァイオリンなどをブーブー鳴らしたりするが、気の毒な事には、どれもこれも物になっておらん。その癖やり出すと胃弱の癖にいやに熱心だ。後架の中で謡をうたって、近所で後架先生と渾名をつけられているにも関せず一向平気なもので、やはりこれは平の宗盛にて候を繰返している。みんながそら宗盛だと吹き出すくらいである。この主人がどういう考になったものか吾輩の住み込んでから一月ばかり後のある月の月給日に、大きな包みを提げてあわただしく帰って来た。何を買って来たのかと思うと水彩絵具と毛筆とワットマンという紙で今日から謡や俳句をやめて絵をかく決心と見えた。果して翌日から当分の間というものは毎日毎日書斎で昼寝もしないで絵ばかりかいている。しかしそのかき上げたものを見ると何をかいたものやら誰にも鑑定がつかない。当人もあまり甘くないと思ったものか、ある日その友人で美学とかをやっている人が来た時に下のような話をしているのを聞いた。

「どうも甘くかけないものだね。人のを見ると何でもないようだが自ら筆をとって見ると今更のようにむずかしく感ずる」これは主人の述懐である。なるほど詐りのない処だ。彼の友は金縁の眼鏡越に主人の顔を見ながら、「そう初めから上手にはかけないさ、第一室内の想像ばかりで画がかける訳のものではない。昔し以太利の大家アンドレア・デル・サルトが言った事がある。画をかくなら何でも自然その物を写せ。天に星辰あり。地に露華あり。飛ぶに禽あり。走るに獣あり。池に金魚あり。枯木に寒鴉あり。自然はこれ一幅の大活画なりと。どうだ君も画らしい画をかこうと思うならちと写生をしたら」

「へえアンドレア・デル・サルトがそんな事をいった事があるかい。ちっとも知らなかった。なるほどこりゃもっともだ。実にその通りだ」と主人は無暗に感心している。金縁の裏には嘲けるような笑が見えた。

% 縦長1枚の画像
\begin{figure}
\centering
\begin{minipage}<y>[h]{92truemm}
\hspace{-3truemm}% 余白調整
\includegraphics[width=92truemm]{./pic/cat003.jpg}
\caption{黒猫}
\end{minipage}
\end{figure}

その翌日吾輩は例のごとく椽側に出て心持善く昼寝をしていたら、主人が例になく書斎から出て来て吾輩の後ろで何かしきりにやっている。ふと眼が覚めて何をしているかと一分ばかり細目に眼をあけて見ると、彼は余念もなくアンドレア・デル・サルトを極め込んでいる。吾輩はこの有様を見て覚えず失笑するのを禁じ得なかった。彼は彼の友に揶揄せられたる結果としてまず手初めに吾輩を写生しつつあるのである。吾輩はすでに十分寝た。欠伸がしたくてたまらない。しかしせっかく主人が熱心に筆を執っているのを動いては気の毒だと思って、じっと辛棒しておった。彼は今吾輩の輪廓をかき上げて顔のあたりを色彩っている。吾輩は自白する。吾輩は猫として決して上乗の出来ではない。背といい毛並といい顔の造作といいあえて他の猫に勝るとは決して思っておらん。しかしいくら不器量の吾輩でも、今吾輩の主人に描き出されつつあるような妙な姿とは、どうしても思われない。第一色が違う。吾輩は波斯産の猫のごとく黄を含める淡灰色に漆のごとき斑入りの皮膚を有している。これだけは誰が見ても疑うべからざる事実と思う。しかるに今主人の彩色を見ると、黄でもなければ黒でもない、灰色でもなければ褐色でもない、さればとてこれらを交ぜた色でもない。ただ一種の色であるというよりほかに評し方のない色である。その上不思議な事は眼がない。もっともこれは寝ているところを写生したのだから無理もないが眼らしい所さえ見えないから盲猫だか寝ている猫だか判然しないのである。吾輩は心中ひそかにいくらアンドレア・デル・サルトでもこれではしようがないと思った。しかしその熱心には感服せざるを得ない。なるべくなら動かずにおってやりたいと思ったが、さっきから小便が催うしている。身内の筋肉はむずむずする。最早一分も猶予が出来ぬ仕儀となったから、やむをえず失敬して両足を前へ存分のして、首を低く押し出してあーあと大なる欠伸をした。さてこうなって見ると、もうおとなしくしていても仕方がない。どうせ主人の予定は打ち壊わしたのだから、ついでに裏へ行って用を足そうと思ってのそのそ這い出した。すると主人は失望と怒りを掻き交ぜたような声をして、座敷の中から「この馬鹿野郎」と怒鳴った。この主人は人を罵るときは必ず馬鹿野郎というのが癖である。ほかに悪口の言いようを知らないのだから仕方がないが、今まで辛棒した人の気も知らないで、無暗に馬鹿野郎呼わりは失敬だと思う。それも平生吾輩が彼の背中へ乗る時に少しは好い顔でもするならこの漫罵も甘んじて受けるが、こっちの便利になる事は何一つ快くしてくれた事もないのに、小便に立ったのを馬鹿野郎とは酷い。元来人間というものは自己の力量に慢じてみんな増長している。少し人間より強いものが出て来て窘めてやらなくてはこの先どこまで増長するか分らない。
 我儘もこのくらいなら我慢するが吾輩は人間の不徳についてこれよりも数倍悲しむべき報道を耳にした事がある。

\chapter*{あとがき}
\addcontentsline{toc}{chapter}{あとがき}
\thispagestyle{atogaki}% ページスタイル atogaki 適用

あとがきとか、謝辞を書きましょう。

\rightline{広告鳥}

\begin{figure}
\centering
\begin{minipage}<y>[htp]{92truemm}
\centering
\includegraphics[width=92truemm]{./pic/cat004.jpg}
\caption{}
\end{minipage}
\end{figure}

%奥付け
\clearpage
\thispagestyle{empty}
\begin{minipage}<y>[htpb]{95mm}
\begin{center}
    \vspace{90mm} %奥付のページ上部からの位置

\begin{tabular}{l}
\multicolumn{1}{c}{\large{吾輩は猫である}}\\[3mm] %%タイトル
\hline
\\[-3mm]
\hspace{2mm}\normalsize{著\hspace{2mm}者}\hspace{5mm}夏目 漱石\\[0mm]  %%著者
\hspace{2mm}\small{発行日\hspace{5mm}\today}\\[0mm] %%発行日。「\today」のところに任意の日付を入れてもいい。
\hspace{2mm}\small{発行者}\hspace{5mm}{\small 広告鳥}\hspace{50mm}\scriptsize{※無断転載禁止}\\[-3mm]  %%発行者
\\\hline
\end{tabular}
\end{center}
\end{minipage}

\end{document}

実行

Ubuntuならフォルダ内で右クリック > 端末で開く で端末を開いて、下記を実行。
目次作成のためには2回実行する必要がある。

$ lualatex B6原稿

完成

B6原稿.pdfができているはず。

サンプルPDFはこちら

試験問題用 LaTeX テンプレート(文末脚注機能を利用した解答・解説の別紙出力)

最終更新

  • 2022年6月11日:「\解説{}」の設定を追加。

特徴・諸注意

  • 文末脚注機能を利用して、解答解説を最後のページに出力している。
    • 本文中の脚注番号を白文字にして見えないようにしている。
  • メリット問題文のすぐ後に、解答解説が書ける。問題番号と解答解説の番号のズレを気にせずに、簡単に問題を並び替えることが可能。
  • デメリット:本来の文末脚注(\endnote)機能は使えなくなる。まあ、試験問題等で文末脚注を使うことはないだろうから、まず問題ないだろう。
  • breakfbox パッケージ」の3つのスタイルファイル(uline--.sty breakfbox.sty myuline--.sty)を使用する。ここから3つのスタイルファイルをダウンロードして、LaTeX スタイルファイルの保存先 - adbird(広告鳥) 備忘録を参考に、3つのスタイルファイルを適切に配置すること(手っ取り早いのはコンパイルするTeXファイルと同じディレクトリ内に配置する方法)。

設定と書き方

プリアンブルで以下のような設定をする。

%「\答{}」コマンドを設定。下記の文末脚注(\endnote)機能を利用しているので、本来の文末脚注機能は使えない。脚注(\footnote)機能は別に使える。
\newcommand{\答}[1]{{\color{white} \endnote{#1} \vspace{-1\zh}}}

%%%%% 文末脚注(解答・解説部分)
%%%%% 本文の終わりに「\theendnotes」を置くこと。
\usepackage[yoko]{endnotesj}
\renewcommand{\notesname}{解答・解説}
\def\enotesize{\normalsize}% フォントサイズ
%% endnotesj パッケージのカスタム
\makeatletter
\def\endnj@iii@yoko@enoteformat#1{%
  \parindent 1em\noindent
  \@hangfrom{\mbox{}\relax\hspace{0.1\endnj@zw}%「(」をつけない
  %\@hangfrom{\mbox{}\char\jis"214A\relax\hspace{0.1\endnj@zw}% endnotesjの元の設定
    \hbox{\fbox{\@theenmark}}% 数字を枠で囲む
    %\hbox{\@theenmark}% 元の設定
    \hspace{0.1\endnj@zw}\hspace{1\zw}\relax\mbox{}%「)」をつけない。番号と文の間に1文字分空ける。
    %\hspace{0.1\endnj@zw}\char\jis"214B\relax\mbox{}% endnotesjの元の設定
  }#1%
}
\makeatother

文書末(\end{document})に以下を書いておく。

%%%%%%%%%%%%% 解答・解説部分 %%%%%%%%%%%%%%
\newpage
\begingroup
\parskip 0.5\zh % 段落間の行間
\theendnotes
\endgroup

本文中では大問ごとに、問題文の後に以下のように書く。

\答{正答を書く。}

コマンド設定時の名前は自分の好きなものを

コマンド名の設定は別に \答{} コマンドじゃなくてもいい。

プリアンブルの設定の \newcommand{\答}・・・・・・ の箇所を、\newcommand{\answer}・・・・・・ にして、本文中で \answer{正答を書く。} でもいい。
ただし、すでに存在するコマンド名と被らないようにする。

試験問題用 LaTeX(LuaLaTeX) テンプレート

\documentclass[a4paper,10ptj]{ltjsarticle} 
%%% LuaTEX-ja パッケージ使用時には長さの単位として「zw」「zh」は使えない。「\zw」「\zh」とすること。

%%%MS明朝・MSゴシックの場合
%\usepackage[ms]{luatexja-preset}

%%%ページ余白
\usepackage[top=20truemm,bottom=20truemm,left=20truemm,right=20truemm]{geometry} 

% 本文の左余白:1文字分
\setlength{\leftskip}{1\zw}

%%%行間
\renewcommand{\baselinestretch}{0.9}

%%%%% 見出し設定
\usepackage{titlesec} 
\titleformat{\section}% command
    [hang]% (hang/block/display/runin など)
    {\rmfamily\normalsize}% ラベルのフォント書式・フォントサイズ
    %{\thesection.}% ラベル。数字のあとにピリオドの場合「\thesection.」。
    {\fbox{\thesection}}% ラベル。数字を四角で囲む。
    {0.5em}% 番号と見出しの間のスペース
    {}% 見出し直前
    []% 見出し直後
\titlespacing{\section}
    {0pt}% 左余白
    {1\zh}% 上余白
    {0.5\zh}% 下余白
%%%%%

%%%%%ルビ・下線・圏点など
\usepackage{pxrubrica} %ルビ
\usepackage[usetype1]{uline--} %下線等
\usepackage[usetype1]{myuline--} %下線等(uline--.styをTeXLive2020で正しく動くように改変したものらしい)
\usepackage{breakfbox} %囲み文字(2021/02/17 v0.2]はRequirePackage[usetype1]{myuline--})
%%%%%

%\pagestyle{empty}

%%% 画像設定
\usepackage{wrapfig} %画像回り込み
\usepackage{graphicx} %
%%%

\usepackage{color}% 色

%「h」で配置された図表とテキストとの間隔
\setlength{\intextsep}{1\zh}

%% 表
\usepackage{tabularx}    % 表用&カラムサイズ指定
%% 表でセルの幅を指定しつつ、左寄せ・中央寄せ・右寄せ %%
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

%%% 小問のインデント。%%%
% 本文では
% \問{(1)問題文~。}
% と書く。
\newcommand{\問}[1]{\noindent\hangindent=1\zw #1}

%%% 選択肢のインデント。%%%
% 本文では
% \選択肢{ア.問題文~。}
\newcommand{\選択肢}[1]{\hangindent=2\zw #1 \par}

%「\答{}」コマンドを設定。下記の文末脚注(\endnote)機能を利用しているので、本来の文末脚注機能は使えない。脚注(\footnote)機能は別に使える。
\newcommand{\答}[1]{{\color{white} \endnote{#1} \vspace{-1\zh}}}

%「\解説{}」コマンドを設定。
% 本文では、上記「\答{}」コマンドの中に以下のような感じで
%   \答{○○
%   \解説{◇◇}}
%と書く。
\newcommand{\解説}[1]{\par{\setlength{\leftskip}{3\zw}\noindent #1 \par}}

%%%%% 文末脚注(解答・解説部分)
%%%%% 本文の終わりに「\theendnotes」を置くこと。
\usepackage[yoko]{endnotesj}
\renewcommand{\notesname}{解答・解説}
\def\enotesize{\normalsize}% フォントサイズ
%% endnotesj パッケージのカスタム
\makeatletter
\def\endnj@iii@yoko@enoteformat#1{%
  \parindent 1em\noindent
  \@hangfrom{\mbox{}\relax\hspace{0.1\endnj@zw}%「(」をつけない
  %\@hangfrom{\mbox{}\char\jis"214A\relax\hspace{0.1\endnj@zw}% endnotesjの元の設定
    \hbox{\fbox{\@theenmark}}% 数字を枠で囲む
    %\hbox{\@theenmark}% 元の設定
    \hspace{0.1\endnj@zw}\hspace{1\zw}\relax\mbox{}%「)」をつけない。番号と文の間に1文字分空ける。
    %\hspace{0.1\endnj@zw}\char\jis"214B\relax\mbox{}% endnotesjの元の設定
  }#1%
}
\makeatother
%%%%% 文末脚注設定ここまで。



%%%%%%%%%%%%%%%%% 本文ここから %%%%%%%%%%%%%%%%%%
\begin{document}


\noindent\textgt{練習問題}

\section{次の文章を読み、後の問いに答えよ。}

吾輩は( A )である。名前はまだ無い。

どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで始めて人間というものを見た。しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ。この書生というのは時々我々を捕えて煮て食うという話である。しかしその当時は何という考もなかったから別段恐しいとも思わなかった。ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあったばかりである。掌の上で少し落ちついて書生の顔を見たのがいわゆる人間というものの見始であろう。

\vspace{.5\zh}% 0.5文字分空ける

\問{(1)( A )に入る語句を書け。}

\問{(2)この文章を書いたのは誰か。次の1〜5の中から、一つ選べ。}

\begin{enumerate}
    \item 太宰治
    \item 夏目漱石
    \item 坂口安吾
    \item 芥川龍之介
    \item 志賀直哉
\end{enumerate}


\答{(1)猫 (2)2
\解説{解説を書いていく。\newline
解説を書いていく。}
}




\section{次の文章を読み、後の問に答えよ。}

農村の美徳は耐乏、忍苦の精神だという。乏しきに耐える精神などがなんで美徳であるものか。必要は発明の母と言う。乏しきに耐えず、不便に耐え得ず、必要を求めるところに発明が起り、文化が起り、進歩というものが行われてくるのである。日本の兵隊は耐乏の兵隊で、便利の機械は渇望されず、肉体の酷使耐乏が謳歌せられて、兵器は発達せず、根柢的に作戦の基礎が欠けてしまって、今日の無残極まる大敗北となっている。あに兵隊のみならんや。日本の精神そのものが耐乏の精神であり、変化を欲せず、進歩を欲せず、憧憬讃美が過去へむけられ、たまさかに現れいでる進歩的精神はこの耐乏的反動精神の一撃を受けて常に過去へ引き戻されてしまうのである。

必要は発明の母という。その必要をもとめる精神を、日本ではナマクラの精神などと云い、耐乏を美徳と称す。一里二里は歩けという。五階六階はエレベータアなどとはナマクラ千万の根性だという。機械に頼って勤労精神を忘れるのは亡国のもとだという。すべてがあべこべなのだ。真理は偽らぬものである。即ち真理によって復讐せられ、肉体の勤労にたより、耐乏の精神にたよって今日亡国の悲運をまねいたではないか。

ボタン一つ押し、ハンドルを廻すだけですむことを、一日中エイエイ苦労して、汗の\uline{ケッショウ}だの勤労のよろこびなどと、馬鹿げた話である。しかも日本全体が、日本の根柢そのものが、かくの如く馬鹿げきっているのだ。

\vspace{.5\zh}% 0.5文字分空ける

\問{(1)下線部を漢字で書け。}

\問{(2)この文章は誰の、何という作品か。作者名と作品名の組み合わせとして最も適当なものを、次のア〜オから一つ選び、記号で答えよ。}

\begin{table}[h]%h…here.t…top.b…bottom.p…page(別のページを作成し,そこに表示).
\centering
\begin{tabular}{|p{3\zw}|c|c|c|c|c|}%列の数だけc,l,r,p{幅}などを入れる。罫線「|」は適宜
\hline%このhlineは表上部の罫線
 & ア & イ & ウ & エ & オ \\ \hline%行の終わりには必ず「\\」を入れる。罫線「\hline」は適宜。
作者名 & 坂口安吾 & 太宰治 & 夏目漱石 & 與謝野晶子 & 寺田寅彦 \\ \hline
作品名 & 続堕落論 & 人間失格 & 私の個人主義 & 巴里にて & 学問の自由
 \\ \hline
\end{tabular}
\end{table}

\答{(1)結晶 (2)ア}


\newpage% 改ページ
\section{次のア~オで最も妥当なものはどれか。一つ選び、記号で答えよ。}


\選択肢{ア.えええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ}
\選択肢{イ.えええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ}

\答{ア
\解説{これは解説の文章。文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章}}



%%%%%%%%%%%%% 解答・解説部分 %%%%%%%%%%%%%%
\newpage
\begingroup
\parskip 0.5\zh % 段落間の行間
\theendnotes
\endgroup

\end{document}

IMEの単語登録(辞書登録)を利用して、「こたえ」と打ったら\答{}、「かいせつ」と打ったら\解説{}と出るようにしておくと便利。

サンプル

上記TeXファイルをコンパイルしたのがこちら。

drive.google.com

LaTeX コマンド備忘録

今後、継続的に更新していく。

環境は LuaLaTeX(LuaTeX-ja)なので、「3\zw」(3文字分の全角文字幅(zenkaku width))のように「zw」「zh」単位には「\」がついて、「\zw」「\zh」となる。

あと、こちらもご参考に。→LaTeX 使い方・参考リンク - adbird(広告鳥) 備忘録

目次

インデント

1字下げをしない

段落の最初に

\noindent

をつけ、本文との間に半角スペースを入れる。

ぶら下げ(ハング)インデント

段落の最初に

\hangindent=3\zw

をつけ、本文との間に半角スペースを入れる。

\noindentと組み合わせて

\noindent\hangindent=2\zw

のようにもできる。

段落の左右の余白

段落の左側の余白。

{\setlength{\leftskip}{5\zw}%
本文。
\par}

段落の左側・右側の余白。

{\setlength{\leftskip}{10\zw}\setlength{\rightskip}{3\zw}%
本文
\par}

行間

文書全体の行間を調整する場合は、プリアンブルに

\renewcommand{\baselinestretch}{0.8}

などのようにする。上記は行間を0.8倍にしている。

段落と段落の間の行間

段落の行間ではないので注意。

文書全体の段落間の行間

プリアンブルに

\setlength{\parskip}{3mm}

段落間の行間

その場所以降

\parskip 0.5\zh

引用

短い引用

「1段落以内の引用文」らしい。段落先頭の1字下げされない

\begin{quote}
引用文
\end{quote}

長い引用

「複数段落にわたる引用文」。段落先頭の1字下げされる(1字下げしたくないときは\noindentをつける)。

\begin{quotation}
引用文
\end{quotation}

引用の再定義

「ltjsarticle」クラスを使っている場合。

引用部分の段落の左余白が大きすぎる(3文字分空く)ので、2文字分にしたい。

プリアンブルに以下を追加。

%%% 引用文 の再定義(\leftmargin 2\zwを追加)
\makeatletter
\renewenvironment{quotation}{%
  \list{}{%
    \listparindent\parindent
    \itemindent\listparindent
    \rightmargin \z@
    \leftmargin 2\zw}%
  \item\relax}{\endlist}
\renewenvironment{quote}%
  {\list{}{\leftmargin 2\zw\rightmargin\z@}\item\relax}{\endlist}
\makeatother
%%%%%

テキストの右寄せ

環境版とコマンド版がある。

環境版はその上下に多少の空白が入るが、コマンド版には上下の空白は入らないらしい。

環境版

\begin{flushright}
テキスト
\end{flushright}

コマンド版

{\raggedleft テキスト\par}

「raggedleft」なので、要注意。

「ragged」 は「rag(ぼろ切れ)」に由来する言葉で、「ギザギザの、でこぼこの」という意味で使われます。 「ragged right」は「ギザギザになった右側」、つまり右端の余白部分に文字の位置を揃えないこと=「左揃え」のことです。
デザイナー必見!「右揃え・左揃え・センタリング」レイアウト指示で使う英語表現 - Webデザイナーのビジネス英語備忘録

テキスト(文字列)をゴシック体にする

\textgt{文字列}

または

{\gtfamily 文字列}

テキスト(文字列)を太字にする

\textbf{文字列}

または

{\bfseries 文字列}

文章に枠をつける [framed パッケージ]

プリアンブルに下記を追加。

%%% 文章に枠をつける
\usepackage{framed}

本文中では以下のように書く。「o」framed はおそらく open framed の略。文章がページを跨いだときの枠を開いてくれる。

\begin{oframed}
本文。
\end{oframed}

やることはないと思うけど、ページを跨ぐときに枠を閉じるときは「framed」にする。

ルビ(ふりがな)[pxrubrica パッケージの場合]

pxrubrica パッケージを使ったルビの付け方の詳細は、CTAN: Package pxrubricaLaTeX 文書で“美しい日本の”ルビを使う ~pxrubrica パッケージ~ - Qiitaを参照のこと。

プリアンブルでpxrubrica パッケージを設定。

\usepackage{pxrubrica}

1文字のルビ

\ruby{鷹}{たか}

2文字以上のルビ

\ruby{小鳩}{こ|ばと}
\ruby{七面鳥}{しち|めん|ちょう}

2文字以上のルビ(グループルビ)

\ruby[g]{小鳩}{こばと}

圏点・傍点 [pxrubrica パッケージの場合]

プリアンブルでpxrubrica パッケージを設定。

\usepackage{pxrubrica}

普通の圏点

\kenten{親文字}

傍点

\kenten[s]{親文字}。

ルビの上に圏点

\kenten{ダメ、\ruby[<j*>]{絶対}{ぜっ|たい}。}

圏点のマークを変える

\kentenmarkinyoko{bullseye}\kenten{圏点のマークを変える}。

再び、元(デフォルト)の圏点に戻すには以下のようにする。

\kentenmarkinyoko{bullet*}\kenten{親文字}。

どんなマークがあるかは、CTAN: Package pxrubrica のドキュメントを参照のこと。

表のセルの幅を指定しつつ、左寄せ・中央寄せ・右寄せ

TeXでは、表のセル内の幅を固定するためには、p{3\zw} というように設定するが、そうするとその列のセルの中身は左寄せになってしまう。

そこで、表のセルの幅を指定しつつ、左寄せ・中央寄せ・右寄せにする方法。

プリアンブルに以下を追加。

\usepackage{tabularx}   
%% 表でセルの幅を指定しつつ、左寄せ・中央寄せ・右寄せ %%
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

本文中では、

\begin{table}[tbh]%h…here. t…top. b…bottom.  p…page(別のページを作成し,そこに表示).
\centering
\begin{tabular}{|c|C{6\zw}|C{6\zw}|C{6\zw}|}% ここで設定
\hline %このhlineは表上部の罫線
A1 & A2 & A3 & A4\\ \hline
B1 & B2 & B3 & B4\\ \hline
\end{tabular}
\end{table}

リスト(箇条書き)

番号付きリスト

\begin{enumerate}
\item 番号付きリスト
\item 番号付きリスト
\item 番号付きリスト
\end{enumerate}

記号(「・」など)付きリスト

\begin{itemize}
\item 記号付きリスト
\item 記号付きリスト
\item[☆] 記号付きリスト
\end{itemize}

特定の項目だけ見出しを任意に変えたい場合は、上記のように\item[☆]などとする。

リスト(itemize, enumerate, description)のレイアウト調整

プリアンブルに下記を追加。

\usepackage{enumitem}

本文で以下のようにする。

\begin{itemize}[leftmargin=5\zw]
\item 記号付きリスト
\end{itemize}

詳細はCTAN: Package enumitemのドキュメントを参照のこと。

list 環境

じつは「一般的なリスト(箇条書き)」の環境は、list環境。

\begin{list}{〈各項目のデフォルトの見出し〉}{〈追加設定〉}
\item リストの内容
\end{list}

〈各項目のデフォルトの見出し〉は、任意のマーク(例「☆」など)にする際に、
〈追加設定〉は、leftmargin=2\zw などのリストのレイアウトの調整をする際に設定。

見出しをつけないリスト

\begin{list}{}{}
\item リストの内容
\item リストの内容
\end{list}

任意の見出しのリスト

例)見出しを全部「☆」マークにする

\begin{list}{☆}{}
\item リストの内容
\item リストの内容
\end{list}

特定の項目だけ見出しを変えたい場合は、\itemの後に[△]などとする。

カタカナなどのリスト

\begin{list}{}{}
\item[ア、] リストの内容
\item[イ、] リストの内容
\end{list}

細かい調整を加えたものの例。

\begin{list}{}{\leftmargin=2\zw \labelsep=1\zw \itemindent=1\zw}
\item[ア、] 箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き
\begin{list}{}{\leftmargin=2\zw \labelsep=0\zw \itemindent=0\zw}
\item[い:] 箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き
\item[ろ:] 箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き
\end{list}
\item[イ、] 箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き
\item[ウ、] 箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き箇条書き
\end{list}