かすみん日記

暇なときに何か喋ります

Macの写真アプリから画像を書き出すときのメモ

f:id:geniusium:20180922225702p:plain

はじめに

iOS端末で保存した画像は自動でiCloudに保存されるようになったが、スクショやら写真やらが数千枚ごちゃ混ぜになっているのは何だか心地よくないので、季節の変わり目にでも全てPCに取り込んで整理したいものである。
MacBookを手に入れてからは、Macの写真アプリからiOS端末(iCloud)に保存しているの画像を書き出しているが、毎回やり方を忘れてしまい色々困ったことになっていた。それで今回ようやくメモしておこうという気になったのでそうすることにする。

書き出しについて

まず、Mac写真アプリからの画像書き出し方法は3つある。
「ドラッグ&ドロップ」と「写真を書き出す(Shift+⌘+E)」と「未編集のオリジナルを書き出す」である。

「ドラッグ&ドロップ」はよくわからないので今回はやめておく。
他2つの違いは、以下の通りである。

「写真を書き出す(Shift+⌘+E)」は、写真アプリ内で行った画像のトリミングや回転、明るさ調整などの編集結果を維持したまま、Macに取り込む。ただし、画像ファイルの作成日や編集日が今この瞬間に書き換えられてしまう。これはファイルのソートやリネームをする時に非常に困ったことになる。あと、書き出す画像や動画のフォーマット(jpg, pngとか)や画質を選べたりできる。

「未編集のオリジナルを書き出す」では、写真アプリ内で行った画像の編集は全てリセットされたオリジナルの画像が書き出される。よって、画像ファイルの作成日や編集日は元のままである。あと、オリジナルなので当然フォーマットなどは選べない。

写真アプリではただの写真や動画だけでなく、Live Photosやスローモーションなどの形式がある。上の2つの書き出し方法で、これらがどういう風に書き出されるのか表にまとめた。

写真を書き出す(Shift+⌘+E) 未編集のオリジナルを書き出す
写真 作成日や編集日は上書きされるが、撮影日は上書きされない。jpg, tiff, pngから選択。 作成日や編集日、撮影日は上書きされない。オリジナルはjpg。
動画 720pとか1080pなどが選べる。フォーマットはm4v。 フォーマットはmov。
Live Photos 静止画1枚になり、jpg, tiff, pngから選択。 実体はただの動画。mov。
スクリーンショット jpg, tiff, pngから選択。 png
アニメーション jpg, tiff, pngから選択。選択肢にgifなし。 gif
バースト 1枚だけ書き出される。jpg, tiff, pngから選択。 連写した全ての画像が書き出される。
スローモーション スローモーションの設定が維持。m4v 等倍の動画に戻ってしまう。mov

という具合である。
まあどちらを選ぶかは人の好みではあるが、個人的にはリネーム時に欠かせない作成日や編集日の情報が消えて(上書きされて)しまうのはどうにも我慢ならない。写真のトリミングや回転は大したことはないので、これらは諦めることにする。
しかし、さすがにスローモションが等倍になってしまうのは許せないので、臨機応変に対応することにする。

結局、ファイルの作成日や編集日の情報を維持するため、画像編集の維持は諦め、「未編集のオリジナルを書き出す」で画像や動画を書き出すことにした。しかし、スローモーションについては「写真を書き出す(Shift+⌘+E)」と「未編集のオリジナルを書き出す」の両方で書き出し、「未編集のオリジナルを書き出す」で書き出したファイルを作成日でリネームし、それを参照しつつ「写真を書き出す(Shift+⌘+E)」で書き出した方を手動でリネームすることにした(面倒)。

フォーマットについて

フォーマットについて簡単に説明しておく。

画像
jpg 圧縮されるが拡大しなければキレイ。おすすめ。
png ビットマップ。ファイルサイズでかい。
tiff 圧縮されない。プロ用。ファイルサイズめちゃでかい。
gif アイコンとかによく使われてる。アニメーションができる。

iPhoneなどで撮影した写真は、普通jpg。スクショはpng

動画
mov Apple端末用。winとかでは見慣れないが、おすすめ。
m4v mp4のApple版という認識。

どっちがいいのかわからん。

注意

iOS端末間をマイフォトストリームで画像共有していた時代は良かったのだが、iCloudフォトライブラリになってから面倒な問題が発生した。ファイル作成日およびファイル編集日は、普通その画像が作られた時(写真なら撮影時、スクショならスクショした時)の日付・時刻になるはずだが、写真アプリから(オリジナルを)書き出してみると実際そうはなっていないことがよくある。じゃあいつの日付になっているかというと、その画像がiCloudにアップロードされた時刻である。リアルタイムで画像がアップロードされていればいいのだが、ある時刻に複数の画像がまとめてアップロードされると、それらのファイル作成日(編集日)が同じ時刻になってしまう(または順序が入れ替わったりする)。
画像編集の情報を捨ててまでファイル作成日にこだわったのに、こんな事になっていてはもう激おこぷんぷん丸である。さらに、どうにもこの問題を解決することはできないようである。諦めよう。しかし、写真のファイルに付いている「撮影日」の情報はどうも正しいようである。なので、撮影日の情報がある写真については撮影日でリネームし、その情報がないものは(動画は撮影日の情報はない)仕方ないのでファイル作成日または編集日でリネームしよう。まあスクショとかなら多少順序が変わったところで別にいいもんね。
最後に、一応リネームの方法も書いておく。

ファイルの一括リネーム

マクロを書ければそれでいいが、僕は書けないので「Shupapan.app」というアプリを使う。少し不安定な気もするが、一応使えるのでおk。
注意のところでも述べたが、撮影日の情報があるもの(写真)についてはそれで、ないものについては作成日または編集日(一致していないファイルもあるようだが、どちらがいいのかわからない。)を用いてリネーム。
Shupapanの設定は以下の通り。

日付の種類:ファイルの撮影日(作成日or修正日)
日付の位置:指定文字列 + 日付にリネーム
追加する文字列:IMG_
書式:[year][mon][day]_[hour][min][sec]
「リネーム時に元の拡張子を保護(除外)」にチェック。

リネーム結果の例:IMG_20180922_225503.jpg

多くのファイルを一気にリネームしようとするとアプリが落ちるので、一度にリネームするファイルは数百個程度までにしておくのが無難。リネームし終わったら「全てクリア」を押してから次をしよう。



以上。長文スマソ。
ちなみに今回の画像書き出しでは、写真1300枚、スクショ920枚、その他少々でした。ソシャゲより学業を優先できてるということですね(写真の7割は書類か黒板)。スクショ枚数が写真枚数を超えたらソシャゲ廃人認定です。

vscodeのLaTeX環境で.auxなどの補助ファイルを自動で消去

目的

vscodeLaTeX Workshopを用いたLaTeX環境において、
.aux や .log などの補助ファイル(auxiliary files)を自動で消去するように設定する。

方法

「⌘ + , (or Ctrl + , )」でユーザ設定を開いて「latex-workshop.latex.clean」と検索。
Latex-workshop › Latex › Clean: Enabled」にチェックを入れる。

または、settings.jsonの { } の中に

"latex-workshop.latex.clean.enabled": true

を追加。設定が既に複数ある場合は行末にカンマ" , "で区切る。

これでLaTeXをタイプセットすると、タイプセットが完了した後、自動で補助ファイルが消去される。
ただし、デフォルトだと .synctex.gz や .dvi は消去されないので、それらを追加した

"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",
  "*.dvi",
  "*.synctex.gz"
]

を、さらに settings.json に追加。


以上。

【LaTeX】\newenvironment で空白が挿入されてしまう

症状

\newenvironmentで環境を入れ子すると、頭に半角スペースが挿入されてしまうことがある。(されない時もある。)

半角スペースが挿入されてしまうところに \ignorespaces を入れることで解決した。

入力(tex

\documentclass{jsarticle}
\usepackage{framed}

\newenvironment{myframed1}{%
    \vspace{-1zw}%
    \begin{oframed}%
}{\end{oframed}}

\newenvironment{myframed2}{%
    \vspace{-1zw}%
    \begin{oframed}%
    \noindent%
}{\end{oframed}}

\newenvironment{myframed3}{%
    \vspace{-1zw}%
    \begin{oframed}%
    \noindent\hspace{-0.33em}%
}{\end{oframed}}

\newenvironment{myframed4}{%
    \vspace{-1zw}%
    \begin{oframed}%
    \noindent\ignorespaces%
}{\end{oframed}}

\begin{document}

これは普通。段落で始まる。
\begin{myframed1}
  ああああああああああああああああああああああああああ\par
  あああああああああああああああああああああああああああああああああああああああ
  あああああああああああああ
\end{myframed1}

\verb|\noindent|は効いてるが、そのあとに半角スペースが入ってる。
\begin{myframed2}
  ああああああああああああああああああああああああああ\par
  あああああああああああああああああああああああああああああああああああああああ
  あああああああああああああ
\end{myframed2}

\verb|\hspace|でその場しのぎ。
\begin{myframed3}
  ああああああああああああああああああああああああああ\par
  あああああああああああああああああああああああああああああああああああああああ
  あああああああああああああ
\end{myframed3}

\verb|\ignorespaces|というのがあるらしい。これ採用。
\begin{myframed4}
  ああああああああああああああああああああああああああ\par
  あああああああああああああああああああああああああああああああああああああああ
  あああああああああああああ
\end{myframed4}

\end{document}

出力(pdf)

f:id:geniusium:20180920140123p:plain

gnuplotからTikZを介してpdfを生成

gnuplotでグラフをpdfで作成したい。直接pdfに出力できるが、LaTeX(TikZ環境)を介した方法があったのでメモ。

LaTeX, gnuplot はインストール済みとする。

 

環境:Mac, texlive 2016.

 

gnuplotの出力切り替え

gnuplotを起動して、set terminal (または set term)と打つと、出力先の一覧が出る。

set terminal ◯◯ で切り替えられる。

例えばこんな感じ:

 gnuplot > set terminal pdf
 gnuplot > set output "graph.pdf"
 gnuplot > plot sin(x)

 

TikZ形式で出力

直接pdfを作るのではなく、LaTeX (TikZ環境)を経由することでより美しいグラフのpdfを作ることにする。

 

出力先をtikzにしてプロットすると、tikz環境の形式でtexファイルが出力される。

 gnuplot > set terminal tikz
 gnuplot > set output "graph.tex"
 gnuplot > plot sin(x)

gnuplot-lua-tikz.sty の生成

これでできたtexファイルを読み込んでタイプセットすればpdfが作られるのだが、それにはスタイルファイル gnuplot-lua-tikz.sty が必要。インストールしたgnuplotのパッケージ内にも存在すると思うが、探すのが面倒なので然るべき場所に新しく生成することにする。

ターミナルで

texlive/texmx-local/tex/latex/gnuplot

に移動する。(ディレクトgnuplotは自分で生成)

gnuplotを起動して、以下のコマンドを入力。

 gnuplot > set terminal tikz createstyle

すると以下の4つのファイル

が生成されるはず。

最後にターミナルから sudo mktexlsr を実行してls-Rファイルを更新。(多分 sudo 必要)

 

タイプセット

あとはgnuplotで出力したgraph.texを以下のようなtexファイルで読み込み、タイプセットすればpdfが生成される。

\documentclass[dvipdfmx]{standalone}
\usepackage{gnuplot-lua-tikz}
\usepackage{tikz}

\begin{document}
 \input{graph.tex}
\end{document}

 

参考

qiita.com

 

【Mac】Safariで文字入力中フリーズする

環境

 

症状

なんだか最近、Safariで文字入力中フリーズするようになった。キャッシュとか消しても治らないし、ネット見てみるとOSのバグでどうしようもない(アプデ待ち)らしい。

しかし一応、解決法があるらしいので記す。

 

参考

www.doyagao.info

 

方法

左上のステータスバーのリンゴから

  システム環境設定→キーボード→ユーザ辞書

と進んで

  Touch Barに入力候補を表示

チェックボックスを外す。

 

副作用

Touch Barで文字入力変換ができなくなる。

 

 

 

 

【LaTeX】vscodeで「てふてふ」する!

Atomを使ってTeXを書いてたが、間違えてアプデしたりなんか勝手に仕様変更されたりやらでもう使えなくなっちゃったので、エディタをvscodeに切り替えた。

ということで、vscodeの設定をメモっておく。

 

目次

1. vscodeのインストール

2. 拡張機能 LaTeX Workshop を導入

3. LaTeX Workshopの設定を変更

4. タイプセット!!

5. コメント

 

 

1. vscodeのインストール

公式サイトからダウンロード

code.visualstudio.com

 

2. 拡張機能 LaTeX Workshop を導入

vscodeを起動して、左側の四角いタブを開いて「latex」と検索して一番上に表示される「LaTeX Workshop」をインストール。

f:id:geniusium:20180614200631p:plain

3. LaTeX Workshopの設定を変更

latexmkを使ってタイプセットするらしいがこの辺はよくわからない。

初期設定ではengineがpdflatexになっているのでこれをplatexとかに変える。

Macなら[⌘ + ,]で、winなら[Ctrl + ,]でユーザ設定を開き、以下のリンクから自分の環境に合わせて設定をコピーしてきて、ユーザ設定のところにペースト。

Visual Studio Code/LaTeX Workshop - TeX Wiki

f:id:geniusium:20180614201809p:plain

補足:

僕の場合はMacpLaTeXを使用するので、ユーザ設定は以下の通り。

"latex-workshop.latex.tools": [
  {
    "name": "latexmk",
    "command": "latexmk",
    "args": [
      "-e",
      "$latex=q/platex %O -synctex=1 -interaction=nonstopmode -file-line-error %S/",
      "-e",
      "$bibtex=q/pbibtex %O %B/",
      "-e",
      "$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/",
      "-e",
      "$makeindex=q/pmendex %O -o %D %S/",
      "-e",
      "$dvipdf=q/dvipdfmx %O -o %D %S/",
      "-norc",
      "-pdfdvi",
      "%DOC%"
    ]
  }
],

 

4. タイプセット!!

この設定が済めばもうタイプセットできるようになっているはずである。

texファイルをvscodeで開き、[⌘ + s]で保存すると自動でタイプセットされる。

 

5. コメント

これにてAtom卒業。Atomよりvscodeの方が軽いしね。

マカーなのにvscodeを使うというのは何だかあれだが。。。