TeXのPDFをPaperCutNGで印刷した際の失敗
先日遭遇した出来事です。
私が通っている大学では PaperCutNG という印刷サービスが採用されていて、利用者はPDF化したファイルをそのサービスにアップロードして印刷を行うことになっています。
で、画像付きのLaTeXの書き物を印刷しようとしたところ、後述するトラブルに見舞われてしまいました。
例として以下のTeXファイルを印刷するとします。(一部文章は省略しています)
\documentclass{jarticle} \usepackage{color} \RequirePackage[dvipdfmx]{graphicx} \usepackage{tikz} \begin{document} %%% 一枚目の画像 \begin{figure} \includegraphics[scale=0.5]{cat.jpg} \caption{椅子の上のネコ達} \end{figure} %%% 二枚目の画像 \begin{figure}[htbp] \centering \begin{tikzpicture} \clip[draw] (1.0,1.5) rectangle (6.0,5.5); \node[anchor=south west,inner sep=0] at (0,0){\includegraphics[scale=0.5]{./cat.jpg}}; \draw[red, rounded corners](2.8,3.4) rectangle (3.7,4.5); \end{tikzpicture} \caption{椅子の上のネコ} \end{figure} こちらが猫です。猫という生き物は、大昔からネズミ捕りのために人間に飼われていたらしいです。 ~~~(中略)~~~ \end{document}
また、上記のTeXファイルをコンパイルしたPDFファイルが以下のようになります。(Cloud LaTeX でコンパイルしたものです。)
さてここからが本題なのですが、このPDFファイルをPaperCutNGにて印刷すると、以下の写真のようになってしまいました。
上記のTeXソースコードにおけるコメント「二枚目の画像」以下の処理にて表示される部分が、一枚目のPDFとは異なる表示になっているのが分かります。(分かりづらいですが、キャプションが画像と重なった表示されてしまっています)
この原因はわからないのですが、どうやらPaperCutNGのサービスを利用してLaTeXファイルから生成されたPDFファイルを印刷すると、TikZの"clip"による切り抜き処理が無効化されてしまうようなのです。
LaTeXを多く利用される方々は十分お気を付けください。
Github DesktopとSourcetreeの違いについて
アドベントカレンダー、18日目の記事です。
なにかの Advent Calendar 2016 - Adventar
Gitでのバージョン管理をより行いやすくするために作られたGUIがいくつか存在します。
このうち、ウェブサービスのGitHubと連携をとれるもので著名なものに SourceTree と GitHub Desktop があります。
SourceTree (https://ja.atlassian.com/software/sourcetree)
GitHubDesktop (https://desktop.github.com/)
双方のGUIがどう違うのか、抽象的ながら比較してみます。
コミット
まずはコミットですが、下の画像はそれぞれSourceTreeとGitHub Desktopの画面をスクショで記録したものです。(画像に一部化加工をしてあります)
いずれも、左枠にプロジェクト名、中心枠に変化のあったファイルの一覧、右図にファイルの変更箇所が表示されています。しかし、ここだけでも両者には違いがあります。GitHub Desktopではコミットするファイルをチェックボックスで選択しますが、SourceTreeではIndexという枠に対象ファイルをステージ(あげて)選択します。
また、SourceTreeではコミットをする場合、タブの「コミット」を、GitHub Desktopでは画面上部の「Changes」をクリックすれば行うことができます。
プッシュ
プッシュの違いについて紹介します。
SorceTreeでは、赤枠の「プッシュ」を押すことでリモートリポジトリにプッシュできます。そのままですね。問題はGitHub Desktopですが、こちらでは「プッシュ」の表記がなく、代わりに「Publish」もしくは「Sync」という右上のボタンでプッシュすることができます。この「Sync」、後述の「プル」を同時に行ってくれるという便利なボタンです。ちなみに一度「Publish」ると以後そのブランチでは「Sync」の表記になるようです。
フェッチ/プル
フェッチ・プルの違いについて紹介します。ここでは機能面で両者に大きな違いがあります。
まずはSourceTreeですが、図の赤枠で囲まれた部分で「フェッチ」もしくは「プル」を行います。画像では「フェッチ」を選んだ状態を表していますが、リモートリポジトリに変化があったことが示されています。
一方、GitHub Desktopでは右上の「Sync」を押すことでリモートリポジトリの状態とローカルリポジトリを同期させることができます。ここで注意点ですが、GitHub DesktopにはSourceTreeやGitのように「フェッチ」がなく、上記の通り「Sync」で「プル」を行うことになります。
まとめ
SourceTreeとGitHub Desktopの比較を簡単にまとめてみます。
SourceTreeと比較して、GitHub DesktopではGitの基本的な操作(コミット、プッシュ、プル)を行うことができ、表示される情報も簡素なのでとっつきやすいと思われます。しかし、本当に最低限の項目だけ用意されているため、例えばフェッチとプルを使い分けたい場合などの操作には別のGUIを用いるかコマンドで行う必要があります。また、Gitコマンドの表記とボタンの表記が違うため、所望する操作について調べる際には苦労するかもしれません。
結論としては、小規模であったり重要でない制作物のプロジェクトには、GitHub Desktopを使っても支障はないと思われます。逆に、複数人による制作物のバージョン管理にはSourceTreeのほうが向いていると考えられます。
もっと言ってしまえば、自分たちの好きな形でやればいいんじゃないでしょうか。