2018年5月19日

久しぶりにテプラを使った.家になかった幅のに印刷したかったので,近くの電気屋まで.テプラのテープって高いよなぁ.

昔買ったSR3900P,長らくPC専用のハイエンド機だったのだが,今Webページを見たら新しくSR5900Pというのが出ていた.調べてみると五年ほど前に出たらしい.SR3900Pとの違いはLAN接続が可能なこと,高速化・静音化されていること,カットラベルに対応していること,テープの終了位置を検出できるようになったことだろうか.少し新しいのも気になったけど,新機能で是非ともほしいというのもないし,そもそもそんなに安いものでもないので,まだしばらくはSR3900Pのお世話になることにしよう.というかあと何年使うんだろう.ちなみに買ったのは13年前らしいのだけど.

2018年5月18日

いーや暑い.さすがに半袖出した.汗かきながら外を歩く.洗濯物が気持ちよく乾くのだけはうれしいんだけどねぇ.

HDMIセレクタを買って,つけてみた.Amazonとか楽天とかで探すとよくわからないメーカーの安いのがひっかかるけど,相性とかありそうで少し怖かったので,Buffaloのを買ってみた.Buffaloなら大丈夫なのかは不明だが…….とりあえず問題なく動いたのでよかった.

リモコン付き.受信部分は本体とは別になっていて,どっか好きな場所におけということらしい.本体はテレビの後ろにネジ止めするのが推奨(そのための部品がついている)のだが,そもそもテレビの後ろにネジ穴なんて見つからないのだが……うちのテレビが古いから?仕方ないのでテレビボードの中に格納.少しケーブルがごちゃごちゃするけどまぁ仕方ないか.

2018年5月17日

ゼルダの伝説,炎のカースガノンまでたどり着いて,倒すのが面倒になって塩漬けになってしまった…….予想していたけど.盾構えたままの回避が運動神経的にできなくて諦めたので,ダッシュで斬撃を避けようと思ったのだけど,射程範囲がでかくで逃げられない…….おとなしくサイドステップとかバク宙の練習をした方がよいだろうか.

サイドステップやバク宙からラッシュにつなげるというのを何度かしてみたが,失敗して結局ハートを削られてしまう.もう気合いをいれて倒そうと,戦闘に入る前にわざとしんでミファーの祈りを発動させて限界を超えて回復.さらにミファーの祈りがまた発動するようにそのまま待って,かなりハートに余裕がある状況で挑んでみた.運良く最初にラッシュを発動させられたので,ラッシュ終了後もそのままYボタン連打……していたら第二段階まで一気に追い込んでしまった.剣振り回してきたけど近場だとあたり判定がないのか当たらず.後半も似たような感じで,結局ノーダメで倒せてしまった.なんか拍子抜け…….

2018年5月16日

titleps

ページスタイル(ヘッダやフッタ)をいじるパッケージ.titlesecパッケージのお友達だけど,あまり仲が良くないのか説明書は別.texdoc titleps.

\documentclass[book]{jlreq}
\usepackage{titleps}
\newpagestyle{mystyle}{
  \sethead{\small\chaptertitle}{}{\small\sectiontitle}
  \setfoot{}{\small(\thepage)}{}
}
\pagestyle{mystyle}
\begin{document}
\chapter{ちゃぷた}
\section{せくしょん}
……
\end{document}

上が2ページ目のヘッダ,下が2ページ目のフッタです.

使い方

\newpagestyleにより新しいページスタイルを作ることができます.既存のものを改変するならば\renewpagestyleです.作成したページスタイルは\pagestyleの引数に使えます.使い方は,

\newpagestyle{<ページスタイル名>}[<全体への設定>]{<ページスタイルの定義>}
です.<全体への設定>ではヘッダおよびフッタに適用される設定を書きます.例えば\newpagestyle{mystyle}[\Large]{...}とするとヘッダおよびフッタの文字サイズが大きくなります.ただし上のように個別に設定することもできます.好みで.

<ページスタイルの定義>\sethead\setfootで行います.使用方法は

\sethead[<偶数ページ左>][<偶数ページ中央>][<偶数ページ右>]{<奇数ページ左>}{<奇数ページ中央>}{<奇数ページ右>}
で,\setfootも同様です.それぞれの箇所に出力したいものを指定します.偶数ページ部分は省略可能で,その場合は奇数ページと同じものが使われます.

典型的には,個々の場所では次のような命令を組み合わせて使うことになるでしょう.

  • \the<見出し命令名>:対応する見出しの現在の番号.例えば\thesectionならば今のセクション番号を出力する.
  • \thepage:現在のページ数.
  • \<見出し命令名>title:現在の見出しの中身.例えば(上でも使った)\chaptertitleは今の章のタイトルを出力する.以下で説明する\settitlemarksによる登録が必要.

\<見出し命令名>titleを使うためには,あらかじめ\settitlemarksを使い,見出しを登録しておく必要があります.使い方は

\settitlemarks{chpter,section,subsection>
というように,見出し命令名をカンマ区切りで引数に与えます.以下に説明するように順序も大事です.上の設定では
  • \chaptertitle\sectiontitle\subsectiontitleが使えるようになる.
  • \chapterが行われると\section\subsectionの中身が,\sectionが行われると\subsectionの中身がリセットされる.
という効果が得られます.今は三つの見出しを登録しましたが,見出し数に制限はありません.ちなみにデフォルトは\settitlemarks{chapter,section}です.

なお,\settitlemarksは,\newpagestyle<ページスタイルの定義>で使います.

罫線

jsbookのように)ヘッダやフッタに罫線を引きたくなるかもしれない.この場合は,\newpagestyle<ページスタイルの定義>内で\headrule\footruleを使います.

\documentclass[book]{jlreq}
\usepackage{titleps}
\newpagestyle{mystyle}{
  \headrule
  \sethead[\thepage][][第\thechapter 章\quad \chaptertitle]
      {\thesection\quad\sectiontitle}{}{\thepage}
}
\pagestyle{mystyle}
\begin{document}
\chapter{ちゃぷた}
\section{せくしょん}
……

2ページ目のヘッダです.なお,\makeheadrule{<幅>}\makefootrule{<幅>}により線の幅を指定することもできます.

ヘッダとフッタの長さを伸ばすことができます.

\widenhead[<偶数ページ左>][<偶数ページ右>]{<奇数ページ左<}{<奇数ページ右>}

各々の場所の伸ばす量を指定します.何もしないともちろん全部0pt.ヘッダとフッタを同時に伸ばすので,\widenfootはありません.

2018年5月15日

titletoc

目次の見た目を変更するパッケージ.titlesecパッケージのお友達.お友達なので説明書はtitlesecのに一緒に入っています.

使い方

\usepackage{titletoc}
とします.こんな感じ.
\documentclass{jlreq}
\usepackage{titletoc}
\titlecontents{section}[1zw]{}{■\thecontentslabel}{}{……\hfill\contentspage}
\begin{document}
\tableofcontents
\section{はじめに}
\end{document}

ちなみに和文なクラスファイルを使っていると,titletocを読み込んだだけで目次がおかしくなっちゃうみたいなので,必要な目次は全部以下のようなコマンドで再定義した方がよさそうです.

\titlecontents

目次の見た目の変更は上記の\titlecontentsで行います.\titlecontentsの書式は,

\titlecontents{<見出しコマンド名>}% figureとかも大丈夫
    [<左空き>]% 必須!
    {<頭で実行されるコマンド>}
    {<番号付き見出しに対するラベルの書式>}
    {<番号無し見出しに対するラベルの書式>}
    {<目次の後に続く書式>}
    [<最後に実行されるコマンド>]% オプション
です.左空きは[]で囲まれていますが,必須項目です.たとえば上の例では
\titlecontents{section}% \sectionの目次を変える
    [1zw]% 左側には一文字分の空き
    {}% 先頭では特に何も実行しない
    {■\thecontentslabel}% ■の後に番号を入れる,というラベルをつける
    {}% 番号無しラベルには何も入れない
    {……\hfill\thecontentspage}% 三点リーダーを二つ出力した後,右にページ番号を出力する.
としています.

ラベルやページ数を出すには,上の例にあるように\thecontentslabel\thecontentspageを使います.ラベルに関しては,\contentslabelというもう少し拡張されたものもあります.使い方は\contentslabel[<フォーマット>]{<長さ>}.長さ<長さ>の中にラベルを表示します.全体は左に<長さ>分だけずれます.<フォーマット>が与えられると,それに応じて表示します.例えば\contenslabel[(\thecontentslabel)]{2zw}とするとラベルが括弧でくくられます.\hspace{-<長さ>}\makebox[<長さ>][l]{<フォーマット>}とほぼ等価かと思う.

articleクラスの\subsectionで出てくるような,見出し文字列の後に……と続く目次をのためには,titlesecパッケージ内でも出てきた\titlerule*がよいでしょう.

\documentclass{jlreq}
\usepackage{titletoc}
\titlecontents{section}[1zw]{}{\thecontentslabel}{}
    {\titlerule*{・}\makebox[2zw][r]{\thecontentspage}}% ・を並べた後,全角二文字の幅内にページ数を表示
\begin{document}
\tableofcontents
\section{はじめに}
\end{document}

字上げ

目次の左端の位置の調整は,\contentsmarginでできます.これはプリアンブルなどで使うことができます.書式は

\contentsmargin[<補正長さ>]{<長さ>}
で,目次の右の余白を<長さ>に設定します.各項目が二行以上になった場合,最後の行を除きさらに<補正長さ>の長さが入ります.以下は\contentsmargin[5zw]{3zw}の例です.

プリアンブルなどでと書きましたが,\titlecontents<頭で実行されるコマンド>に入れることもできます.この場合,対応する目次項目のみがその影響を受けます.

2018年5月14日

titlesec

LaTeXで標準的に定義されている各種見出し\part\chapter\section\subsection\subsubsection\paragprah\subparagraphの見た目を変更するパッケージとして,titlesecパッケージというのがある.

使い方

\usepackage{titlesec}
とする.
\documentclass{jsarticle}
\usepackage{titlesec}
\titleformat{\section}{\LARGE\itshape}{■\thesection}{1zw}{}
\begin{document}
\section{I Am a Cat}
どこで生れたかとんと見当がつかぬ。
\end{document}

\titleformat

書式の変更には,\titleformatを使う.書式は次の通り.

\titleformat{<命令>}
    [<特殊な形状の指定>]
    {<書式>}
    {<ラベル書式>}
    {<ラベルと見出し文字列の間の空き>}
    {<見出し文字列直前に入るコード>}
    [<見出し直後に入るコード>]

「ラベル」というのは節番号などの部分です.たとえば\section{セクション}とすると,「1 セクション」のように出ますが,この「1」の部分をラベル,「セクション」の部分を見出し文字列と呼んでいます.

\titleformat{\section} % \sectionを変更する
    [hang] % 形状はhang(デフォルト値)
    {\LARGE} % フォントサイズを\LARGEとする
    {\fbox{\thesection}} % ラベルを枠で囲む(\thesectionにより明示的に出力をする必要がある)
    {1zw} % ラベルと見出しとの間に全角一文字分の空白を入れる
    {■} % 見出し文字列の前に■を入れる
    [] % 後ろには何も入れない

書式内では,\filright\filcenter\filleft\fillastを使うことができる.それぞれ見出しを左寄せ,中央寄せ,右寄せ,最後の行のみ中央寄せを行う.

「特殊な形状」は以下の通り.

hang

デフォルト値です.

\titleformat{\section}[hang]{\large\bfseries}{\thesection}{1zw}{}

block

見出し全体を一つの段落として扱う.

\titleformat{\section}[block]{\large\bfseries}{\thesection}{1zw}{}

display

ラベルと見出し文字列の間に改行を挟む.

\titleformat{\section}[display]{\large\bfseries}{\thesection}{1zw}{}

runin

同行見出し.(下のサンプルで太字でない部分は見出しに続く本文.)

\titleformat{\section}[runin]{\large\bfseries}{\thesection}{1zw}{}

leftmargin,rightmargin

それぞれ左余白と右余白に見出しを出す.以下で説明する\titlespacingでの調整が必要.

\titleformat{\section}[leftmargin]{\large\bfseries}{\thesection}{1zw}{}
\titlespacing{\section}{5zw}% 見出しの長さを5zwとする.
    {0zw}
    {1zw}% 見出しと本文との間を1zw空ける

drop,wrap

窓見出しっぽいのを作る.やっぱり\titlespacingでの調整が必要.dropは\titlespacingで指定された長さを必ず見出しの長さとするが(見出しが短い場合は本文との間に空白が入る)wrapは見出し文字列の長さに応じて短くなる.

\titleformat{\section}[wrap]{\large\bfseries}{\thesection}{1zw}{}
\titlespacing{\section}{5zw}{0zw}{1zw}

見出し直後に改段落があると大変なことになります…….

frame

枠囲み.

\titleformat{\section}[frame]{\large\bfseries}{\thesection}{1zw}{}

\titlespacing

周りの空白などは\titlespacingで指定する.書式は

\titlespacing{<命令>}
    {<見出し左の空き(hang,block,display,frameの時)または見出しの長さ(その他)>}
    {<見出し上の空き>}
    {<見出しとその後の本文との空き>}% hang/block/display/frameとその他で方向が異なる
    [<見出し右の空き>] % hang,block,display,frameのみ
となる.代わりに\titlespacing*を使うと,見出し直後の本文のインデントを抑制する.

改ページ

\<見出し命令>breakが定義されていると,見出しの場所での改ページが行われる.たとえば

\newcommand{\sectionbreak}{\clearpage}
とすると,\sectionの直前で改ページされる.

やりたい放題

\titleformat<書式>と書いた第二引数,実際には「見出しの前に入る命令」なので,ここに色々書くと見出しの見た目をカスタマイズできる.例えば

\titleformat{\section}
    {\vspace{3cm}\LARGE}% \vspace{3cm}を加えた
    {\fbox{\thesection}}{1zw}{■}% 後はさっきと同じ
とすると見出しの前に3cmの空白が入る.さらに<ラベル書式><見出し文字列直前に入るコード><見出し直後に入るコード>を組み合わせるとかなりやりたい放題になる.

もっとやりたい放題をするには,パッケージオプションにexplicitを加える.これをすると,<見出し文字列直前に入るコード>において,見出し文字列自身を#1でとることができる.ただし,この場合自動的には見出し文字列が出力されなくなるので,<見出し文字列直前に入るコード>で明示的に出力をする必要がある.

\documentclass{jsarticle}
\usepackage[explicit]{titlesec}
\titleformat{\section}{\LARGE}{}% 通常のラベル出力を無効化しておく
  {0pt}{\fbox{#1} (\thesection)}% 見出し文字列を四角で囲み,その後にラベルを出力する
\begin{document}
\section{はじめに}
\end{document}

罫線

前節の要領でやりたい放題しようとすると,線とか引きたくなるかもしれない.titlesecパッケージは罫線を出力する\titleruleとかいう命令を用意している.\titleruleは行末まで罫線を引く.\titlerule[2pt]というようにオプションで高さ(太さ)を指定もできる.*をつけた\titlerule*は,同じものの繰り返しで行末まで埋める.\dotfillの中身変更できるバージョン.使い方は,\titlerule*[<並べるものの長さ>]{<並べるもの>}とする.

いずれの命令も,その直前に\titleline[l]{<テキスト>}をしておくと,<テキスト>を含めて下線が引かれる.[l]はテキストの配置指定で,lは左寄せ.他には中央配置cと右寄せr.省略すると均等割的な感じになる.いくつか例.

\documentclass{jsarticle}
\usepackage[explicit]{titlesec}
\titleformat{\part}{\LARGE}{}{0pt}{\titleline[l]{\rule[-4pt]{.2cm}{1em}\hspace{.3zw}\thepart\hspace{1zw}#1}\titlerule}
\titleformat{\section}{\Large}{\thesection}{1zw}{\titleline[r]{#1}\titlerule}
\titleformat{\subsection}{\normalsize}{\thesubsection}{1zw}{\titleline[l]{#1}\titlerule*{/}}
\begin{document}
\part{ぱーと}
\section{せくしょん}
\subsection{さぶせくしょん}
\end{document}

2018年5月10日

大学居室の部屋を出ようとしたらドアノブがとれた.なんとかとりあえずくっつけて(閉じ込められたかと思った)総務に行ったら,回してくっつけてくださいと言われた.壊れたと思ったのだが,とれるものだったらしい.院生の時からずっと同じタイプのドアノブだと思うのだけど,とれるのはじめて知った.言われたとおりに回したらくっついた.