法令中の誤記を発見して所轄省庁に報告した

要約

現在施行されている法令の中に、存在しない条文を指し示すものなどの誤記を発見したため、関係する省庁に報告しました。

発見した誤記

※現在確認中で掲載していないものがまだあるため、誤記であることの確認が取れ次第追記します。

存在しない「次項」への参照

国土交通省関係住宅宿泊事業法施行規則(平成二十九年国土交通省令第六十五号)第十六条(https://laws.e-gov.go.jp/law/429M60000800065/#Mp-Ch_2-At_16)中に、「次項」という記述があります(画像赤枠)。

国土交通省関係住宅宿泊事業法施行規則(平成二十九年国土交通省令第六十五号)第十六条中の存在しない「次項」を参照している誤記

しかし、よく見ると第十六条には第二項以降が無く、「次項」が指し示す先が存在しません。 存在しない物を指し示しているため、さしずめNullPointerExceptionのような状態になっているといってもいいでしょう(問題は例外が発生せず、気づけていなかったことですが)。

「第」が抜けていた

動物用医療機器及び動物用体外診断用医薬品の製造管理及び品質管理に関する省令(平成七年農林水産省令第四十号)第三十二条(https://laws.e-gov.go.jp/law/407M50000200040#Mp-Ch_5-At_32)中に、「法第二十三条の二の十四十一項」という表記が出てきます(画像赤枠)。

動物用医療機器及び動物用体外診断用医薬品の製造管理及び品質管理に関する省令(平成七年農林水産省令第四十号)第三十二条中の誤記

しかし、よく読んでも意味が分かりません。漢数字に「十四十一」という表記はあり得ないからです。 過去の条文などを読んでみたり、参照先の法律を読むと、どうやらこれが正しくは「法第二十三条の二の十四十一項」であることがわかってきました。

過去の改正などについて実際に官報の当該箇所を調べると、2021年の改正でこのミスが発生してしまったことが確認できました(画像赤枠。表の上部が改正後、下部が改正前。)。

動物用医療機器及び動物用体外診断用医薬品の製造管理及び品質管理に関する省令(平成七年農林水産省令第四十号)第三十二条中の誤記が発生することとなった改正の、官報での箇所<https://www.kanpo.go.jp/old/20210730/20210730g00174/20210730g001740292f.html>

発見したらどうするか

法令中の誤記を発見したらどうするのかという知見がインターネット上には見つからなかったので、記述しておきます。

現代においては法令の条文を読むときにはe-Gov法令検索を使う人が多いでしょう。 そのため、法令中の誤記を発見した時にはまず一次資料であるところの官報を確認しに行きましょう。 最近の物であれば官報はインターネット上に掲載されています(https://www.kanpo.go.jp/index.html)し、過去の物も国立国会図書館のアーカイブなどに眠っていることでしょう。

官報で確認しても同じように誤記であったら所管省庁のお問い合わせフォームにお問い合わせの形で投げましょう。 調べればどの省庁が所管しているのかわかるはずです。 今回であれば、国土交通省と農林水産省にそれぞれ問い合わせました。

省庁で確認が取れたら「誤記でした。適切なタイミングで直します。」というメールが返ってくるはずです。

なお、こういった確認作業は省庁の職員の方に手間をかけさせるものですので、きちんと誤記である確信を自分の中で持てないままむやみやたらに問い合わせを送るのはやめましょう。

発見した経緯

筆者は今年度の卒業研究で「法令の親子関係とか参照関係とか改正情報をグラフ構造にして検索できるようにしたら実務上便利になるはずだ」という研究に取り組んでいました。 実際に出来上がった検索システムでは、例えば

  • 電気工事士法第七条第二項(https://laws.e-gov.go.jp/law/335AC0000000139/#Mp-At_7)中の「経済産業省令」に当たる、具体的な省令の名称を調べたい。
  • 健康保険法について調べる際に、2025年の8月25日に書かれた記事を読んだ。この記事が参照している健康保険法が2026年1月26日現在のものと同じかどうかを知りたい。

といったケースに応えられるものになりました。

さて、このようなシステムを作るにあたり、法令間の参照関係を明らかにする必要があります。 これらの情報を高精度で抽出するプログラムを研究の過程で作成しテストしていた時に、エラーを吐いて止まってしまった条文があり、確認すると法令の方が間違っていた、というわけで今回の発見に至りました。

宣伝

この研究について、次の2つの学会で発表します。開催直前ですが、もしよろしければ聞きに来て下さるとうれしいです。発表を見に来れない方で興味のある方は、ぜひメールいただけますと幸いです(knaoki[at]kde.cs.tsukuba.ac.jp)。

  • 情報処理学会第88回全国大会(https://www.ipsj.or.jp/event/taikai/88/index.html) 1P-01.参照関係に基づく法令知識グラフの構築.北野尚樹,天笠俊之(筑波大). スライド発表.3月6日(金) 9:30〜11:30
  • 言語処理学会第32回年次大会(https://anlp.jp/nlp2026/) TS3-5.法令知識グラフ構築のための法令文における参照関係抽出手法.北野 尚樹,天笠 俊之 (筑波大).ポスター発表.3/11 (水) 9:30-11:00

最後に

日本の裁判所データベースの誤記を見つけたとき(https://puripuri2100.hatenablog.com/entry/2023/04/05/200912)もびっくりしましたが、今回は現行法令中に誤りを見つけてしまうとさらにびっくりです。 今回発見したものはいずれも省令ですので、国会審議中に多くの人の目にさらされる法律よりもミスが出てしまうのだと思います。 人手不足もありますから、仕方のないことだと思います。

今後も我々国民が法治国家のために日々貢献して行きたいですね。

自分のためだけのレシピサイトを作った

はじめに

みなさん自炊していますか? 今日の献立を決めたり食材や調理方法を調べたりするには、一昔前であれば専門家が書いたレシピ本か家庭に伝わるレシピ帳しかなかったと思うのですが、今はインターネットの時代です。 Cookpadをはじめとするユーザー投稿型のレシピサイトや味の素やキューピーなどの会社公式のレシピサイト、YouTubeにも料理動画が数多く上がっており、最近はLLMに食材一覧を渡してレシピを生成させる方法も出てきています。

筆者も数多くのレシピサイトやYouTubeの動画にお世話になり自炊をしてきました。 しかし、レシピサイトを参考にする自炊における課題も見えてきました。具体的には次のとおりです。

  • 苦手な食材・好きな食材を反映させるために同じ料理のレシピを複数参考にする必要がある
  • 自分好みの味付けのためにアレンジを加える必要がある
  • 買い物リストを作るために動画を見るのはしんどい

例えば、我が家ではNG食材としてマヨネーズ・キノコ・鶏皮があります。 これを満足させるためには、味を整えるためにマヨネーズを使うレシピを除外し、鶏を焼くときに皮を下にして焼き始める工程を無視し、秋にはキノコを抜いて代わりの何かを入れる改変を加えなければなりません。 また、料理をする上で自分の味の好みに合わせて追加の工程を加えたりしたくなってきます。

自分好みのレシピ情報を保管したい

従来のレシピ本や家庭に伝わるレシピ帳であれば、自分好みの改変を行いたい場合は本やノートに書き込みを追加するだけで済みました。 では、レシピサイト掲載のレシピやYouTubeの調理動画に対してはどうすれば良いでしょうか? 一つの案として、ユーザー投稿型のレシピサイトに自分のためだけのレシピを載せる方法があります。 しかし、これにはいくつかのリスクが伴います。 レシピサイト栄枯盛衰の時代に特定のプラットフォームに依存するのは喪失のリスクが高すぎます。 また、レシピ公開業は一大ビジネスです。InstagramをはじめとしてSNSで競争が激しく行われており、その結果として承認欲求による暴走や炎上がたまに見られます。 自分のためだけのレシピを書いているはずが、いつの間にかコメントやいいね欲しさに負けて目的を見失い、インターネット学級会での吊し上げでもくらって炎上でもしたら本末転倒です。

そういうわけで自分のためだけのレシピサイトを作りました。

コメント欄もいいねも無いので承認欲求に負けることはなく、GitHubでレシピを管理しGitHub Pagesでホストしているのでデータ喪失への耐性も比較的あります。

作ったもの

このようなレシピサイトを作りました。

レシピサイトの見た目

検索欄でいくつかの項目についての検索を行うことができます。 季節では、主に春夏秋冬でどの季節に合うかを選択できます。また、おせち料理などのために「正月」も用意しています。 歳時記みたいですね。 種類では肉と魚というざっくりした分類と、主菜や副菜といった分類を混ぜています。 これらの分類は、自分がレシピを検索するときに考えている項目をそのまま反映させました。 キーワードでは材料名などを入れることでさらに絞り込めるようになっています。

検索結果のレシピは、その概要が下に一覧化されます。レシピ名と大体の材料で中身の見当はつきますし、あとは所要時間で作るかどうかの判断をすれば良いだけです。

レシピ情報のカードをクリックするとレシピの詳細情報が見られるようになります。 材料の項目をチェックボックスにすることで買い物も捗ります。 内容は自分が調理するときに気をつけることを自分や家族向けに伝えるために書けば良いため、厳密な「大さじ○杯」などを書かずに「梅肉の量は大体でなんとかなります。」のような適当さで良いため気楽です。

レシピの詳細画面

実装

技術スタック

スーパーでの買い物中にスマホで操作するような使い方を想定しているため、軽量で通信がほとんど発生しないことが求められます。 また、開発にコストを割くのも好ましくないため、思い通りの機能やデザインをすぐに実現できる構成である必要があります。

そこで、今回はVite + TypeScript + tailwindcssという構成にすることにしました。 また、レシピ情報はMarkdownに書き、デプロイの過程でレシピ情報データベースを生成するような構成にしました。

実装は次のリポジトリのとおりです。簡単に中身について解説していきます。

https://github.com/puripuri2100/recipe

前処理

レシピ情報を書くMarkdownファイルは次のような中身になっています。 レシピ名や材料などの情報はMarkdownファイルの冒頭にYAML形式で記述する、Front Matterという仕様を利用しています。 本文部分には調理方法を書きます。

サイト構築時にこれらのレシピが書かれたファイルをパースし、データベースとして使うための全てのレシピ情報をまとめた最強のJSONファイルを生成します。 また、TSファイルを呼び出すためのHTMLファイルも生成しておきます。

---
title: テスト
description: レシピのテスト
numbers: 8
ingredients:
  材料1: 1個
  材料2: 小さじ 1/3
  材料3: |
    1個
    冷凍でも可
cookTimeMinutes: 40
season:
  春: true
  夏: true
  秋: true
  冬: true
  正月: false
typ:
  肉: true
  魚: false
  主菜: true
  副菜: false
  主食: false
  汁物: false
  おつまみ: false
  お菓子: false
  弁当用: true
  その他: false
tags: []
memo: メモ
---

<!-- h3から始める -->

### 手順1

材料1と材料2を混ぜる

### 手順2

焼く

OGP生成

リンクを貼ったときになんのレシピか一目でわかると嬉しいので、OGPも用意しました。 同じくMarkdownに書かれた情報を基に、OGP用の画像を自動で生成するようにしました。

SatoriというHTMLの構造とCSSから画像を生成するライブラリを利用しました。

https://github.com/vercel/satori

デザイン

Viteプロジェクトにtailwindcssを導入する方法は公式ページに書いてあったので、その通りに導入しました。

https://tailwindcss.com/docs/installation/using-vite

サイトの見た目はノートを意識して罫線を使うようにデザインしました。 商業サイトではないので自分が使いやすいように情報を必要なものだけ載せるようにしています。

デプロイ

GitHub Actionsでの自動デプロイを行っています。 actions/configure-pagesactions/upload-pages-artifactactions/deploy-pagesなどを用いることで手軽にデプロイできました。

Issue Template

レシピの原案はIssueで行うようにしました。 そこで、Issue Templateを用いて必要な情報を入力するためのフォームを用意しました。

レシピ案を書く時のIssue Template

YAMLでフォームの設計を書けばこのような画面ができるので便利ですね。

おわりに

卒業研究が一段落してから趣味のプログラミングができるようになり、本当にうれしいです。

実際にこのレシピサイトが活躍するのはレシピを沢山載せてからにはなると思いますが、今後も継続して充実させていきたいと思います。

2024年に買ったカメラとレンズ

この記事はcoins Advent Calendar 2024の6日目の記事です。 昨日はみずあめさんのgiscusを使用してブログにコメント欄を作ろうでした。明日もみずあめさんです。

はじめに

coins24のアドベントカレンダーからいつのまにか24制限が消えていたようなので投稿してみようかと思います。

大学に入ってから毎年カメラが増えており大変なことになっている自宅防湿庫です。せっかくなので今年買ったレンズやカメラを紹介してみます。

NIKKOR Z 180-600mm f/5.6-6.3 VR

Zマウントの望遠ズームレンズがほしすぎたため、3月に買いました。今まではFマウントのsigma 100-400を持っていましたが、さすがに毎回マウントアダプタを噛ませるのが面倒になってきたので気合を入れて買いました。

www.nikon-image.com

重くでかいので一脚が必要ですが、早速アイドル撮影やサーキット撮影に役立ってくれました。来年の目標はもっと外にでかけてこのレンズを使ってあげることです。

NIKKOR Z 24-120mm f/4 S

大学に入ってからずっとZ6とセットで購入したZ 24-70 f/4を頻繁に使っていました。広角の撮り方を学ぶことができてとても良かったのですが、仕事での撮影や旅行で荷物が制限されるときには使い勝手が悪く、より遠くに手が届くレンズが欲しかったため、11月に買いました。

www.nikon-image.com

AFが思ったよりも遅く撮影時にフォーカスの誘導にコツが必要ですが、写りが綺麗で望遠時の最短撮影距離の短さがとても優秀で重宝しています。 さっそく新婚旅行に持っていって紅葉の撮影を楽しんでいました。

コレット II

12月に東京で撮影をしていた時に誘われて入ったカメラ屋さんで購入しました。

www.ricoh-imaging.co.jp

リコレット IIの裏蓋を開けてシャッターを切っているところの写真
裏蓋をあけてシャッターを切ったところ

1955年発売なのでなんとびっくり70年前のフィルムカメラです。レンズにシャッターが入っているので構造もシンプルで、とても扱いやすいです。

まだ現像に出していないので仕上がりが楽しみです。

おわりに

来年は大判用の90mmレンズが欲しい。

Tauri 2.0でAndroidの位置情報取得機能を使ってみた

はじめに

Rustでデスクトップアプリを作るためのフレームワークであるTauri 2.0が正式リリースされました(https://v2.tauri.app/blog/tauri-20/)。

目新しい機能として次のようなものがあります。

今回、この2つの機能に触ってみたいと思います。 具体的には「現在の位置情報を取得して表示するAndroidアプリ」です。

では早速作り始めましょう。

必要なもののインストール

必要なものは次の通りです。

詳しくはこちらを読んでください。

プロジェクトの作成

お好きなパッケージ管理システムを使ってお好きなフレームワークと言語を使ってプロジェクトを構築してください。

今回自分はnpm + React + TypeScriptで作りました。

npm create tauri-app@latest
cd tauri-gps
npm install

このままビルドするとスマホからアクセスできない旨のエラーが出るので、src-tauri/tauri.conf.jsonbuild.beforeDevCommandの項目に--host引数を渡すように修正し、このようにします。:"npm run dev -- --host"

こちら(https://v2.tauri.app/start/prerequisites/#android)で挙げられている環境変数の設定ができたらAndroid用のバイナリのビルドを行います。

npm run tauri android init
npm run tauri android dev

これでアプリが立ち上がるはずです。

プラグインの追加

位置情報を取得するためのプラグインを追加します。

Tauriのプラグインで公式の物はhttps://github.com/tauri-apps/plugins-workspace/tree/v2/pluginsにあります。グッとにらむとどうやらgeolocationというやつがあるようです。これを探していくとcratesやdoc.rsなどのサイトが見つかります。

これらのドキュメントを元にプラグインを追加します。

npm add @tauri-apps/plugin-geolocation
cd src-tauri
cargo add tauri-plugin-geolocation

次にRustのファイルを変更します。src-tauri/src/lib.rsに次の一行を加えます。

#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
    tauri::Builder::default()
        .plugin(tauri_plugin_shell::init())
+        .plugin(tauri_plugin_geolocation::init())
        .invoke_handler(tauri::generate_handler![])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

これでプラグインが有効化されます。

位置情報を取得する機能を実装する

フロントエンド側で位置情報を取得する機能を実装します。 ここでは簡単に、ボタンを押すと位置情報を取得して緯度経度を丸めて表示するコードを書きます。

import { useState } from "react";
+import {
+  checkPermissions,
+  requestPermissions,
+  getCurrentPosition,
+  Position
+} from '@tauri-apps/plugin-geolocation'
import "./App.css";

function App() {

+  const [phonePos, setPhonePos] = useState<Position | null>(null);

+ async function getPos() {
+   let permissions = await checkPermissions()
+   if (
+     permissions.location === 'prompt' ||
+     permissions.location === 'prompt-with-rationale'
+   ) {
+     permissions = await requestPermissions(['location'])
+   }
+   
+   if (permissions.location === 'granted') {
+     const pos = await getCurrentPosition()
+     setPhonePos(pos);
+   }
+ }

  return (
    <div className="container">

+      <button onClick={getPos}>位置情報を取得</button>
+      <p>{phonePos ? <>({Math.round(phonePos.coords.latitude)}, {Math.round(phonePos.coords.longitude)})</>: null}</p>

    </div>
  );
}

export default App;

簡単に解説を書くと、

  1. checkPermissions()関数で現在の位置情報に関する権限を取得する
  2. 位置情報取得の権限が許可されていなかった場合はrequestPermissions(['location'])でユーザーに権限をリクエストする
  3. 権限がある場合はgetCurrentPosition()で位置情報を取得し、値を更新する
  4. 位置情報を表示する

となります。

位置情報の値はPosition型で表されます。この型の定義はdoc.rsに書いてあるものを自動変換しているようです。:https://docs.rs/tauri-plugin-geolocation/2.0.0/tauri_plugin_geolocation/struct.Position.html

権限の許可

これで表示されている「位置情報を取得する」ボタンを押してみると現在位置の緯度経度が表示される、かと思いきや表示されません。 それどころかターミナルには「権限が許可されていないよ」と出てきます。

この原因は2.0になって強化された権限回りにあります。1.0ではI/Oなどの操作ごとにallowlistで権限の許可を行っていましたが、2.0からはプラグインの各機能ごとに許可の有無を制御できるようになりました(https://v2.tauri.app/learn/security/using-plugin-permissions/)。

権限の許可はsrc-tauri/capabilities/default.jsonファイルで行います。 "permissions"プロパティに、このプラグインで追加された権限を追加します。 今回watchPositionという関数を使っていないので、この権限は許可していません。

{
  "$schema": "../gen/schemas/desktop-schema.json",
  "identifier": "default",
  "description": "Capability for the main window",
  "windows": ["main"],
  "permissions": [
    "core:default",
    "shell:allow-open",
+    "geolocation:allow-check-permissions",
+    "geolocation:allow-clear-permissions",
+    "geolocation:allow-get-current-position",
+    "geolocation:allow-request-permissions",
+    "geolocation:deny-watch-position",
+    "geolocation:deny-clear-watch"
  ]
}

動作結果

これで動くようになりました。位置情報を丸める前の結果が驚くほど正確でびっくりしました。凄いですね。

権限の許可を要求する画面

位置情報取得結果

まとめ

モバイルアプリも作れるようになったのは嬉しいですね。

これらのコードはGitHubで公開しています(https://github.com/puripuri2100/tauri-gps)。

結婚して名字を変えてみた

はじめに

最近結婚しました。

婚姻届

日本では今のところ結婚をするとどちらかが名字を変えないといけません。相手が面倒だと言ったので自分が変えることにしました。

結婚とともに引っ越しをし本籍地も新たにしたため、様々な手続きが大量に発生しました。大体終わったので記事にしてみたいと思います。

これから結婚を考えている人の助けになれば幸いです。内容に間違いがあったら指摘いただけると幸いです。

婚姻届提出

一番最初の手続きです。法律が改正され、結婚は婚姻届の提出のみでできるようになったため、戸籍謄本の写しなどは必要なくなりました。ただ、本籍地の記入などが必要なため、発行しておくと便利かもしれません。

事前に市役所に行って相談しておくと、婚姻届をもらうついでに様々な手続きなどの情報をもらうことができるのでおすすめです。

提出の際は記入ミスへの訂正などをその場で行わされる可能性があるので、ペンと訂正用の印鑑を持っていくと心配がないです。

転入届等(住所)

結婚と同時に同居を開始する際には転入届などが必要になります。 市外から転入してくる場合には事前に転出の処理をしておく必要があります。 自分は市内での引っ越しだったので転居届を婚姻届と同時に出すだけで大丈夫でした。

余談ですが、婚姻届と転居届を同時に処理すると氏名の変更と住所の変更が衝突してしまうように思えますが、役所の人がうまいこと処理して衝突を防いでくれます(例えば転居届の氏名欄の修正を指示されるなど)。

マイナンバーカード(住所・名字)

転居と氏名の変更に伴いマイナンバーカードの情報の更新も行うことになります。

婚姻届の受理が終わるとそのまま窓口に誘導されるのでカードを出し、書類を書くと終わります。 暗証番号の要求をされるので思い出しておくとスムーズです(その場で暗証番号の再発行もできます)。

このあとの名義変更でかなり使うことになるので、まだ発行していない人は発行しておくべきです。 名前も住所も本籍地も変わってしまうので、行政手続き上の本人確認を行うためにはこのカードか住民票が必要になります。マイナンバーカードさえあればコンビニで住民票を発行しまくれて便利です。

印鑑証明(名字)

名字が変わると自動的に印鑑証明が無効になります。せっかく市役所に来ているのでその場で新しいものを登録しておくと良いと思います。

余談ですが、印鑑証明が無効になるタイミングの判定はかなり難しく、提出する直前に古くなる印鑑証明の証明書を発行する場合は注意が必要です。

有効なパターン:

  • 提出する前の日までに発行した証明書
  • 提出する日の、提出する前までに市役所で発行した証明書

無効なパターン:

  • 提出した後に発行した証明書
  • 提出する日の、提出する前までにコンビニで発行した証明書

提出する日に慌てて発行するなら市役所の窓口で発行しないといけないらしいです。

運転免許証(住所・名字)

運転免許証はマイナンバーカードと並んでよくコピーを取られる身分証なため、早い段階で名義変更をしておくと良いと思います。自分は市役所からの帰りがけにそのまま変更しました。

マイナンバーカードと住民票を持っていくと手続きが数十分で終わります。二人分の記載のある住民票の写しが一枚あれば二人分の記載の変更を同時にできます。

銀行口座・クレジットカード(住所・名字)

不一致があると、振り込みや引き落としのときに説明が必要で面倒になるため、早めに変更するべきです。自分は婚姻届を出した翌日に変更しに行きました。

以下のものをもって実店舗に行き、婚姻による氏名の変更をしたいと言うといい感じに手続きをしてくれます。

  • 旧姓時の銀行印
  • 新しい銀行印
  • 通帳
  • 名義変更済みの身分証

手続きにかかる時間は混み具合によりますが、1時間もあれば余裕で終わるのではないでしょうか。

口座の名義変更が終わると一週間ほどで新しいキャッシュカードが届きますが、それまでの間も旧姓のキャッシュカードは使えるので特に困ることはないです。 クレジットカードの名義変更も口座の名義変更が終わった後に手続きをすればスムーズに終わるはずです。

口座やクレジットカードの名義が変わると自動引き落としが失敗するようになるため、すべてのサービスへの登録を切り替える必要があります。 自分の場合は引き落とし情報を見て登録しているサービスを割り出して変更しました。 引き落としには失敗しますが、振り込みは旧姓でもパッチがあたって問題なく行えるそうです。自分はまだ大学の短期雇用で使う振り込み情報を修正していません。いつ怒られるのかな。

車検証(住所・名字)

事故ったときに面倒なことになるので早めにしておくと良いのではないでしょうか。 引っ越しがある場合は警察署に車庫証明の申請をするところから始まります。賃貸であれば管理会社に使用許可証を発行してもらい、それと合わせて必要事項を「自動車保管場所証明申請書」と「保管場所標章交付申請書」の2種類に書いて管轄の警察署に申請しに行きます。 茨城県警では https://www.pref.ibaraki.jp/kenkei/a06_shinsei/street_traffic/depository/depository01.html からPDFをダウンロードできます。車庫証明の発行には2600円かかりました。

車庫証明ができたら陸運局に行って内容変更を申請します。持ち物は以下のとおりです。2時間ほど待っていると新しい車検証をもらえます。陸運局の管轄が変わる場合にはナンバープレートも変わるため、追加でお金が必要です。

社会保険

二人共親の扶養に入り親の社会保険に加入していたため、結婚と同時に資格を喪失し国民健康保険に入り直すことにしました。

婚姻の日を資格喪失の日にした上で資格喪失の手続きをし、資格喪失証明書を発行してもらいます。 これを元に市役所で手続きをすれば1週間ほどで新しい国民健康保険の資格証が届きます。

つくば市ではオンラインですべて手続きが完結して楽でした。

大学(住所・名字・本籍)

諸々の情報が変わったので大学に申請して学生証を再発行してもらいました。 支援室に行き、その指示に従って書類を書いて出すと新しい学生証を数日後にもらえます。

学生証自体が別物になってしまったので今まで入れていたところが入れなくなったりと大変でした。 個別の管理者に相談して登録し直す必要があります。

各種資格(住所・名字・本籍)

自分が取得した、もしくは取得しようとしている資格についての情報の変更です。 資格ごとにどの情報が変わったらどこに申請して再発行せよ、という基準が変わるのでそれは適宜調べてください。

今回は電工二種と乙4について紹介します。

発行前の名義変更(電工二種の場合)

婚姻届を出した二日後に試験があり、どのタイミングで氏名等の変更をするべきかわからなかったので聞きに行きました。 試験センター宛に変更したい旨を書いた紙と本籍地記載の住民票の写しを郵送しました。 合格通知書には変更後の氏名で届きました。良かった〜。

再発行(乙4の場合)

氏名が変わる、もしくは本籍地が変わるときは再発行になります。 ホームページに申請書のテンプレートがあったので記入して現在の免状と一緒に送りました。 一ヶ月後に新しいものが届きます。

税務署(個人事業主の場合)(住所・名字)

個人事業主をやっているので、税務署に名前と住所が変わったことを伝える必要がありました。 幸いなことに管轄税務署が変わらなかったので簡単に終わりました。 電話して聞いたところ、「所得税・消費税の納税地の異動又は変更に関する手続」(https://www.nta.go.jp/taxes/tetsuzuki/shinsei/annai/shinkoku/annai/06.htm)というものがあり、これに従って手続きを行います。 自分の場合は名字も変わっているので紙に書き、郵送しました。このとき氏名欄に但し書きで婚姻による旨を書きます。 返送用封筒に切手を貼って同封しておくと受理された後の書類が返ってきます。

おわりに

大学生の夏休み期間を使って名義変更を行ったので比較的のんびりと終わらせることができ、とても良かったです。 社会人だと有給を数日使ってうまく予定を組む必要があり、大変だと思いました。やはり時代は学生結婚ですね。

大変とは言ってもマイナンバーカードで住民票を手軽に発行できたり、手続き自体が電子化されていたりと社会が良くなって居るのを実感できてとても良かったです。車検証の内容変更の書類を生成できたのはかなり感動でした。

今回の学びとしては次の2点です。まず、「手続きは先延ばしにするな。でも遅れてもなんとかなるので諦めるな。」です。先延ばしにすると不整合が出てきて困るので早めにやっていきましょう。次に「困ったら電話するなりして聞く。」です。恐れず担当の人に電話したり窓口に行くとなんとかなります。

関数でデザインを設定するSATySFiのクラスファイルについて

これは

の25日目の記事です。

概要

satysfi-class-templateというクラスファイルを作りました。これは

  • タイトル
  • 概要
  • 目次
  • 節構造
  • 参考文献
  • 付録
  • 浮動図
  • 多段組
  • 参照
  • 脚注
  • リンク
  • フォント設定

に対応しています。これにより、現実的なコード量でデザインについて変更することができ、そして高品質な組版をすることができます。具体的には、既存の学会テンプレートを再現することができました。

使い方

インストール

ドキュメントがまだ整備しきれていないため安定リリースはしていませんが、以下のコマンドによりインストールすることができます。依存ソフトウェアはSATySFi, satyrographos, gitです。

git clone git@github.com:puripuri2100/satysfi-class-template.git
cd satysfi-class-template
opam pin add -y "file://$PWD"
satyrographos install

簡単な使い方

ドキュメントファイル冒頭で

@require: class-template/class-template

とすることで読み込むことができ、たとえば以下のようにして使うことができます。詳細はhttps://github.com/puripuri2100/satysfi-class-template/blob/master/doc/demo.satyから見ることができます。

@require: class-template/class-template

open ClassTemplate
in

document (
  default-setting
  |> set-title {タイトル\footnote{title}}
  |> set-author {\@puripuri2100\thanks{\url(`https://github.com/puripuri2100`);} \@puripuri2100\thanks{\url(`https://github.com/puripuri2100`);}}
  |> set-show-toc true
  |> set-title-page false
  |> set-multicolumn 2
  |> set-abstract ('<
    +abstract ?:({Abstract}) <
      +p{Cras bibendum elit vel tellus ultrices vestibulum. Curabitur euismod tempus ex. Aliquam sed lectus at nulla porttitor ornare vitae ac odio. Donec volutpat augue ac quam elementum sollicitudin. Donec ac metus in urna auctor lobortis volutpat dictum quam. Cras id quam sed erat tempor tempor id et leo.}
    >
  >)
  |> set-paragraph-margin-top-ratio 1.5
  |> set-paragraph-margin-bottom-ratio 0.5
  |> set-table-title-fun (fun i -> (let i = i |> arabic |> embed-string in {Table\ #i;:\ }))
  |> set-introduction '<
    +section ?* ?:(true) {はじめに} <
      +p{はじめにです}
    >
  >
  |> set-doc-link-color (1pt, Color.red)
  |> set-url-link-color (1pt, Color.blue)
) '<
  +section {section} <
    +section {sub section} <
      +section ?:(`ref`) ?:(false) {sub sub section} <
        +p{text\ref(`ref`);}
      >
    >
  >
>

以上のコードをPDFに変換すると

デモ

という見た目になり、多段組や様々なデザインの変更ができることが解ると思います。set-*という関数で設定を変更し、実現したいデザインや挙動に近づけていきます。

拡張

これらの関数を組み合わせることで実現していきますが、組み合わせが事前に用意できるものについてはすでに用意しています。具体的には紙面サイズやフォントの設定などです。

読み込みと使用は次のようにします。

@require: class-template/expand

open ClassTemplateExpand

in

document (
  default-setting
  |> set-a0
  |> set-fonts-noto-regular
) '<
  +p{text}
>

高度な使い方

class-templateを下地にした上でコマンドや設定を加えた新しくクラスファイルを作ることができます。これがtemplateの由来です。

具体例としては、自身が現在も使っているレポートのテンプレートがあります:https://github.com/puripuri2100/report-template

今後に向けて

ドキュメントを充実させ、リリースを目指しています。また、拡張を多数用意したいと考えています。

簡単にはなりましたが、コントリビュートをお待ちしています。

好きな地下アイドル2023

はじめに

これはcoins Advent Calendar 2023の2日目の記事です。 1日目は私のSATySFi Conf 2023まとめでした。

好きな音楽の話などをすると良いらしいので、ここ最近好きな地下アイドル曲を紹介していきたいと思います。

地下アイドルとはメディアへの露出というよりもライブやイベントをメインの活動の場としているアイドルで、その特徴から曲もリズムが良くノリやすいものになっており自分は作業中によく聞いてストレス解消にしたり、心が折れそうになった時に元気を出すためなどに聞いています。

今回紹介するのは

の3つになります。

uijin

人が人の上を飛び交う最高で強烈なライブをしてくれるアイドルグループ。

これを見れば雰囲気はわかると思う。

x.com

一度解散したが去年に復活した。本当にありがとう。

001

叫べ!

youtu.be

future

僕はいくよ 存在証明の旅路へと

youtu.be

door

この先も君と見たい未来があるから行こう

youtu.be

ignition

ブレーキなんて最初から壊れてるんだって

youtu.be

neo asia

ああもうきっと止まれない僕らが生きるこの世界で

youtu.be

ppp

パリピッピッピ!!!!!!!!!!

youtu.be

Devil ANTHEM.

デビアンこと、Devil ANTHEM.です!

明るく騒げる歌が多く、ノリノリでコードを書いているときに流して嬉しくなっている。 レーザービームを使った演出があるライブも素敵。

STARLIGHT CIRCUS

月明かりは七色 流れ星のミラーボール

youtu.be

ストレライド

そりゃもうなんていうか語彙力

youtu.be

あなたにANTHEM.

掴みとるよ チャンス一度だけ

youtu.be

ソラシド

デビアンのshow time!

youtu.be

えっとねれみしー

えっとね君のことがなんというか

youtu.be

おんなのこけいさつ

5(6)人合わせてデビアンよ!

youtu.be

yosugala

綺麗な歌詞と曲調が好き。 すべてに向き合う覚悟を決めるときに横に居てくれる。

夜明けの唄

振り向いてふっと笑った

youtu.be

僕に願いを

あふれ出した感情をぶつけたくて

youtu.be

会心の一撃

将来なんか待ってないで今をもっと強く生きたいな

youtu.be

prologue

やってやるんだ できるんだって言い聞かせろ

youtu.be

オヒメサマ?

大胆不敵かかってこいや

youtu.be

indigo

暗闇振り切って行こう

youtu.be