ほねつき備忘録

ほねつき備忘録

僕のブログです。僕のためのブログです。

ARAI リリースノート (7/31)

リリースノート

ARAI: 一問一答Webアプリの,2022/7/29-2022/7/31間に行われたアップデートによる変更点を紹介します.

bonychops.github.io

リポジトリはこちらから

github.com

キーボードショートカットの追加(問題回答時)

問題回答時にキーボードショートカットを用いることができるようになりました.#2 (ba8f5e1)

キー 割当
次の問題(問題回答済の場合)
前の問題
ENTER 回答/次の問題/(自己採点)正解
N (自己採点)不正解

出題位置/出題数指定

出題開始位置/終了位置や出題数を指定できるようになりました. #10 (8e4d8c4)

出題順が入れ替えの場合,出題数の指定に切り替わります

プレイ状況の一時保存

プレイ状況が保持されるようになりました. #18 (0114a72) 途中で閉じたり,別の問題を開始しても,プレイ状況をリストアすることができます.

バグ修正

次に示すバグの修正を行いました.

  • 数値のみの回答を設定するとフリーズする #1 (a0ff068)
  • [IDからインポート]ダイアログの閉じるボタンが反応しない#4 (5291ea8)
  • ARAIロゴタップしてトップ移動しない #5 (1a4f314)
  • テキスト編集部がデフォルトで開かれていない #6 (fef3f70)
  • IDインポート直後に問題を開始すると問題が消される #9 (dd17abd)

内部仕様の変更

バグ報告

ARAIのバグを見つけた際は,ぜひIssueをお願いします.

github.com

質問/新機能の提案

質問や新機能の提案はぜひDiscussionsへお願いします.(バグ報告は直接Issueでも良いです)

github.com

FirefoxでAmazon Primeを観る(Linux?)

よおし,せっかくの休みだし,前々から見ようと思っていたSPY×FAMILYをイッキ見するぞお!

カチッ!

(画像は上記ツイートより引用)

あれ?

言われたとおりやってみる

えーっと,Widevine Content Decryption Moduleってやつを有効にするんやったな...

おらんやんけ

結論

www.reddit.com

about:preferencesでDRMを有効にする

Widevine Content Decryption Moduleが現れ,無事SPY×FAMILYをイッキ見できましたとさ.めでたしめでたし.

余談

実はこのDRMコンテンツをFirefoxで閲覧できない!という経験はこれが初めてではありません.その時にいろんな記事鵜呑みにしてあれよあれよと変なレポジトリを追加した記憶があるので,今回このような内容の記事を備忘録として書きました.
Linuxを使っているからと言って,本家で完結する機能に目もくれず,すぐに諦めてサードパーティに頼るクセもなくしたいものですね.

俺的LaTeX環境構築(Ubuntu on WSL編)

Ubuntu on WSLでLaTeX環境を構築する方法になります.

この方法のメリット・デメリット

基本的にWinネイティブと比較しています.以下も御覧ください.

bonychops.hatenablog.jp

メリット

  • ビルドが早い
  • 必要なパッケージを選べるため,ダウンロード・インストールサイズが小さい
  • 環境が(Linuxに慣れている人にとって)いじりやすい
  • WSLさえ入れちゃえば後は早い
  • 個人的に好きな方法

デメリット

  • 環境構築が面倒くさいかもしれない
    • 特にWSLあたり
  • WSLを使う(のが人によってはデメリットかもしれない)
  • VSCodeでいちいちWSLに接続する必要がある

WSL環境の構築

公式のDocsを読んでインストールしましょう. とりあえず次を管理者権限のPowershellで実行すればどうにかなります.多分.

wsl --install

LaTeXの各パッケージインストール

WSLを起動して,以下を実行してパッケージ群をインストールしましょう(jlistingsも一緒に入ります).

gist.github.com

bony-reportパッケージのインストール

自分が使うパッケージ群をまとめたものです1ソースコードはこちら. (ここもう少し楽にできるように改善しなきゃ...)

cd $( mktemp -d )
git clone --depth 1 https://github.com/bonychops/tex-packages.git
cd tex-pakcages
sudo sh manual-install.sh

VSCodeの設定

この章の内容は次のQiitaからの引用です.ありがとうございます.

qiita.com

  1. 下記サイトより,VSCodeをインストール code.visualstudio.com
  2. WSLに接続します.ウィンドウ左下のアイコンをクリックし,New WSL Window より接続できます(接続が完了すると見た目がWSL: Ubuntu-20-04になる).
  3. LaTeX Workshop拡張をインストールする
  4. ファイル→フォルダを開く より,~ (/home/xxx)を開き,.latexmkrcファイルを作成,内容を以下とする(引用).

     #!/usr/bin/env perl
     # LaTeX
     $latex = 'platex -synctex=1 -halt-on-error -file-line-error %O %S';
     $max_repeat = 5;
    
     # BibTeX
     $bibtex = 'pbibtex %O %S';
     $biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';
    
     # index
     $makeindex = 'mendex %O -o %D %S';
    
     # DVI / PDF
     $dvipdf = 'dvipdfmx %O -o %D %S';
     $pdf_mode = 3;
    
     # preview
     $pvc_view_file_via_temporary = 0;
     if ($^O eq 'linux') {
         $dvi_previewer = "xdg-open %S";
         $pdf_previewer = "xdg-open %S";
     } elsif ($^O eq 'darwin') {
         $dvi_previewer = "open %S";
         $pdf_previewer = "open %S";
     } else {
         $dvi_previewer = "start %S";
         $pdf_previewer = "start %S";
     }
    
     # clean up
     $clean_full_ext = "%R.synctex.gz"
    
  5. Ctrl + Shift + P から>settings json より Preferences: Open Settings (JSON)を選択,内容を以下とする(引用).

     {
         // ---------- Language ----------
    
         "[tex]": {
              // スニペット補完中にも補完を使えるようにする
             "editor.suggest.snippetsPreventQuickSuggestions": false,
             // インデント幅を2にする
             "editor.tabSize": 2
         },
    
         "[latex]": {
             // スニペット補完中にも補完を使えるようにする
             "editor.suggest.snippetsPreventQuickSuggestions": false,
             // インデント幅を2にする
             "editor.tabSize": 2
         },
    
         "[bibtex]": {
             // インデント幅を2にする
             "editor.tabSize": 2
         },
    
    
         // ---------- LaTeX Workshop ----------
    
         // 使用パッケージのコマンドや環境の補完を有効にする
         "latex-workshop.intellisense.package.enabled": true,
    
         // 生成ファイルを削除するときに対象とするファイル
         // デフォルト値に "*.synctex.gz" を追加
         "latex-workshop.latex.clean.fileTypes": [
             "*.aux",
             "*.bbl",
             "*.blg",
             "*.idx",
             "*.ind",
             "*.lof",
             "*.lot",
             "*.out",
             "*.toc",
             "*.acn",
             "*.acr",
             "*.alg",
             "*.glg",
             "*.glo",
             "*.gls",
             "*.ist",
             "*.fls",
             "*.log",
             "*.fdb_latexmk",
             "*.snm",
             "*.nav",
             "*.dvi",
             "*.synctex.gz"
         ],
    
         // ビルドのレシピ
         "latex-workshop.latex.recipes": [
             {
                 "name": "latexmk",
                 "tools": [
                     "latexmk"
                 ]
             },
         ],
    
         // ビルドのレシピに使われるパーツ
         "latex-workshop.latex.tools": [
             {
                 "name": "latexmk",
                 "command": "latexmk",
                 "args": [
                     "-outdir=%OUTDIR%",
                     "%DOC%"
                 ],
             },
         ],
     }
    
  6. example.texなどを作って,texファイルをCtrl + Alt + Bでビルドできることを確認して完了.以下にサンプルソースをおいておきます.
\documentclass[a4j]{jarticle}
\usepackage{bony-report}
\title{Hello, \LaTeX !}
\begin{document}

\maketitle

\end{document}

  1. jlistingsの導入が必須です

俺的LaTeX環境構築(Windows編)

Windowsで環境を構築する方法になります.

この方法のメリット・デメリット

基本的にWSL使うときと比較しています.ぜひ以下も御覧ください.

bonychops.hatenablog.jp

メリット

  • Winネイティブで動く(WSL使わなくてもいい)から環境がわりかし楽
  • 導入が(Winに慣れている人であれば,WSLと比較して)楽
    • VSCodeも普通に起動するだけで使える

デメリット

  • ビルドが(WSLと比較して)遅い
  • 導入が(Linuxに慣れている人にとって)面倒
  • 個人的に好きじゃない(おい)
  • フルパッケージを落とすため,ダウンロード・インストールサイズが膨大(ダウンロード時で6GB)

ISOイメージのダウンロード

次のリンクより,texlivexxxx-xxxxxxxx.isoをダウンロードしてください(例: texlive2022-20220321.iso)1. 6GBあるので結構時間かかります ftp.jaist.ac.jp

インストール

install-tl-windows.exeみたいなやつを選べばOK.

jlistingsのインストール

LaTeX文章で(日本語入り)ソースコードを貼り付ける際に必要です.

  1. 下記サイトより,jlistings.sty.bz2をダウンロードします. osdn.net

  2. ダウンロードしたものは7-Zip等で展開してください.

  3. 中から出てきたjlisting.styC:\texlive\texmf-local\tex\latex\local\listingsに置く.
  4. 管理者コマンドプロンプトmktexlsr c:\texlive\tekmf-local を実行

bony-reportパッケージの導入

自分が使うパッケージ群をまとめたものです2ソースコードはこちら

  1. 下記サイトより,Code(緑のボタン) -> Download ZIP3github.com
  2. ZIPを解凍し,bony-report.styC:\texlive\texmf-local\tex\latex\local\bonyフォルダに置く(bonyフォルダはないので作成).
  3. 管理者コマンドプロンプトmktexlsr c:\texlive\tekmf-local を実行

VSCodeの設定

VSCodeの設定

この章の内容は次のQiitaからの引用です.ありがとうございます.

qiita.com

  1. 下記サイトより,VSCodeをインストール code.visualstudio.com
  2. LaTeX Workshop拡張をインストールする
  3. ファイル→フォルダを開く より,ユーザーディレクトリ (C:\Users\xxx)を開き,.latexmkrcファイルを作成,内容を以下とする(引用).

     #!/usr/bin/env perl
     # LaTeX
     $latex = 'platex -synctex=1 -halt-on-error -file-line-error %O %S';
     $max_repeat = 5;
    
     # BibTeX
     $bibtex = 'pbibtex %O %S';
     $biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';
    
     # index
     $makeindex = 'mendex %O -o %D %S';
    
     # DVI / PDF
     $dvipdf = 'dvipdfmx %O -o %D %S';
     $pdf_mode = 3;
    
     # preview
     $pvc_view_file_via_temporary = 0;
     if ($^O eq 'linux') {
         $dvi_previewer = "xdg-open %S";
         $pdf_previewer = "xdg-open %S";
     } elsif ($^O eq 'darwin') {
         $dvi_previewer = "open %S";
         $pdf_previewer = "open %S";
     } else {
         $dvi_previewer = "start %S";
         $pdf_previewer = "start %S";
     }
    
     # clean up
     $clean_full_ext = "%R.synctex.gz"
    
  4. Ctrl + Shift + P から>settings json より Preferences: Open Settings (JSON)を選択,内容を以下とする(引用).

     {
         // ---------- Language ----------
    
         "[tex]": {
              // スニペット補完中にも補完を使えるようにする
             "editor.suggest.snippetsPreventQuickSuggestions": false,
             // インデント幅を2にする
             "editor.tabSize": 2
         },
    
         "[latex]": {
             // スニペット補完中にも補完を使えるようにする
             "editor.suggest.snippetsPreventQuickSuggestions": false,
             // インデント幅を2にする
             "editor.tabSize": 2
         },
    
         "[bibtex]": {
             // インデント幅を2にする
             "editor.tabSize": 2
         },
    
    
         // ---------- LaTeX Workshop ----------
    
         // 使用パッケージのコマンドや環境の補完を有効にする
         "latex-workshop.intellisense.package.enabled": true,
    
         // 生成ファイルを削除するときに対象とするファイル
         // デフォルト値に "*.synctex.gz" を追加
         "latex-workshop.latex.clean.fileTypes": [
             "*.aux",
             "*.bbl",
             "*.blg",
             "*.idx",
             "*.ind",
             "*.lof",
             "*.lot",
             "*.out",
             "*.toc",
             "*.acn",
             "*.acr",
             "*.alg",
             "*.glg",
             "*.glo",
             "*.gls",
             "*.ist",
             "*.fls",
             "*.log",
             "*.fdb_latexmk",
             "*.snm",
             "*.nav",
             "*.dvi",
             "*.synctex.gz"
         ],
    
         // ビルドのレシピ
         "latex-workshop.latex.recipes": [
             {
                 "name": "latexmk",
                 "tools": [
                     "latexmk"
                 ]
             },
         ],
    
         // ビルドのレシピに使われるパーツ
         "latex-workshop.latex.tools": [
             {
                 "name": "latexmk",
                 "command": "latexmk",
                 "args": [
                     "-outdir=%OUTDIR%",
                     "%DOC%"
                 ],
             },
         ],
     }
    
  5. example.texなどを作って,texファイルをCtrl + Alt + Bでビルドできることを確認して完了.以下にサンプルソースをおいておきます.
\documentclass[a4j]{jarticle}
\usepackage{bony-report}
\title{Hello, \LaTeX !}
\begin{document}

\maketitle

\end{document}

  1. texlive.isotexlive2022.isotexlive2022-20220321.isoの違いがわからん
  2. jlistingsの導入が必須です
  3. gitを使う人であればcloneでも可.git clone --depth 1 https://github.com/BonyChops/tex-packages.git

自己証明まとめ

この記事に、自分が所有、許可したものなどをまとめておきます。署名に使うPGPキーは457B F5D6 9ECE 0883です(Keybaseも参照)。

目次

検証方法

以下などを参考に行ってください。

bonychops.hatenablog.jp

所有するSNSアカウント

b7s.dev/sに載せています(そういえば本ブログを載せていませんね、、、、)。

以下の署名メッセージはbonychops.com/socialsに掲載したら消します

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

ほねつき備忘録(bonychops.hatenablog.jp)は私、Bony_Chopsが運用しています。
-----BEGIN PGP SIGNATURE-----

iQJBBAEBCgArJBxTb3RhIFN1enVraSA8Y29udGFjdEBib255Y2hvcHMuY29tPgUC
YoeY0gAKCRBFe/XWns4Ig/DtD/0ZAbbiiLDz5wV1fXMbOO5W9hENDUdDhoW6FKK/
6rYSHQNCtxzMDsGE8WR+Asn/c1sM+a/oDuOzqYnWsJZMRdjb9fvj+2wXhf0+7wQi
MkgPlIAMj12un38qHjS7BQiWEcIOCuGQ33Cx9L6Cg+eWDljU5hmzJVZNpxHKTiB/
vByRjHthk/aOj/9vcCW6s7sdNkJ0TKQDjfiwCau1jdpvJrJcMxK5+Is3b2Jxvvft
a7N0aDuq/NqDI3fXWAzm7fzgJUxULWuzHD8tW8Sgap9xfb0A30XfYYISGmhS0zUZ
CfsH9pDSwTu4SPdezkl/BUD0y/alJlrJjeMpsCDBtNUUZqo6+tOdJKt9SPOT6BPI
FvtWNQjlW+34UYlMTy+2pzpdjK3Az6J3KcWHK1p9CiCYUvNft7/Xcq3XxRnk6c8j
Okcyzpy62utCTpjwOk9c7/BD1JMw93eGfHmXou0FZlC+1z53aAeak6Hto5hAyFNh
ruhofv4N26Zw2+0+hIVs9aAeg78gXHXDFx84F8uvl2YsqJAILrfB+6/Yh6jCQq+B
v9oZBu7VVRr24S+3hcl4iBPnKnxNUEqY5z8r5Ajn1+gFlWD80ltlaihJ8mFcrYB4
DD8DRkOD3+QjulFk+aGUUGLQickvfo2LpsXMZiC/JmqJNL7I0u+/wfJSCzY2dQaC
gItStw==
=Nuga
-----END PGP SIGNATURE-----

DESPAIR海藻

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

私、Bony_ChopsはDESPAIR海藻(https://twitter.com/K_NNCT/status/1527628613524131841)の掲載を許可しています
-----BEGIN PGP SIGNATURE-----

iQJBBAEBCgArJBxTb3RhIFN1enVraSA8Y29udGFjdEBib255Y2hvcHMuY29tPgUC
YoeXmwAKCRBFe/XWns4Ig6fBD/9L6XVAoOUWqi2vigUhNIKLuqIb1qvtIdb15d9O
mEhnylygEr8jCdqTqT6cn5tvN5K5Wg3VEkvZs7ex+NqSKn/jfEkShiOJlEaRKzTo
j//HvurabLcEAR/55F7oR/noHfXp7uHMC6e+jh5HNJccadAEwmZOySFNT9iTqtfC
dEiR+NR8Sli6WKNfE3/eIyYRakpQKcBZJ7uU2l8OmAAYM5hWUeRq2v8UbFPjcV2/
skZVTX8D0hoWpNYo0UNVqJJ9aPgjeIoVy0stjYtZEQa3fiSZx1hRL1af42qhz4CT
doAwiJxT63QNHVUuMAW2CBsEtP57KnTzw1xDEJ/UJaMzelgVslSnudKbE+JZqy1T
vLTDDfKIbIgL8Ue2TBCNHzFhiNKmJJLTojU9zkP8ixoyGY5wMvtuAyAToqIAvWpn
O+ud9uMO/xrBIGlIWHmdFbYwO5iJI6W92YiIpxsvcAjGhz/BOx6uWjgWFkRE9RW7
IBzurKWOt+pDZ2ad4pQ8A57nJrGySXV7KvJ5qpDXS7gyZW2zPvJeO6w3ZdzAvkNP
UFpM37d7acYloE6mtonNMfajePZ1eufzPJhZIPB+pGuABCxguIIKnH7ScfEIsben
9CxSPxScTcjERsfu3Fl5ztQ25XifVEP+DpJ5kYlL7ArBD1pX1YqF/INFgnMYPQ+Y
vprgqQ==
=S/k1
-----END PGP SIGNATURE-----

PGP署名の検証方法

PGPによる署名を行う機会が増えたので、それの簡単な検証方法を載せておきます。細かい手順は調べたほうがわかりやすいかもしれません。

keybase.ioを使う

ブラウザで署名を入力するだけで使えます。ただ、何を思ったか、PGPは検証できますがKEYBASE SALTPACKはなぜかできません(??????)。
KEYBASE SALTPACKはKeybaseクライアントを使いましょう(反対に、PGPはクライアント側でできないので、ブラウザでやりましょう)。
やり方は簡単

  1. 検証したい署名メッセージをすべて選択し、コピー
  2. https://keybase.io/verifyにアクセス
  3. 貼り付けてVerify
  4. 想定するユーザーが出れば成功です

GPGコマンドラインツールを使う

こちらは自分で公開鍵を持ってきたり、バイナリ(画像とか)に対して検証を行いたいときに使います。書きかけ

echo "test" | gpg --clear-sign | gpg --verify