no-or-toonのブログ

よくわからぬことをほざくブログ

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コンパイルしたものです。)

f:id:no-or-toon:20170110214105j:plain:w450

さてここからが本題なのですが、このPDFファイルをPaperCutNGにて印刷すると、以下の写真のようになってしまいました。

f:id:no-or-toon:20170110213009j:plain:w350

上記のTeXソースコードにおけるコメント「二枚目の画像」以下の処理にて表示される部分が、一枚目のPDFとは異なる表示になっているのが分かります。(分かりづらいですが、キャプションが画像と重なった表示されてしまっています)

この原因はわからないのですが、どうやらPaperCutNGのサービスを利用してLaTeXファイルから生成されたPDFファイルを印刷すると、TikZの"clip"による切り抜き処理が無効化されてしまうようなのです。

LaTeXを多く利用される方々は十分お気を付けください。

Github DesktopとSourcetreeの違いについて

アドベントカレンダー、18日目の記事です。

なにかの Advent Calendar 2016 - Adventar


Gitでのバージョン管理をより行いやすくするために作られたGUIがいくつか存在します。

このうち、ウェブサービスGitHubと連携をとれるもので著名なものに SourceTreeGitHub Desktop があります。

双方のGUIがどう違うのか、抽象的ながら比較してみます。

コミット

まずはコミットですが、下の画像はそれぞれSourceTreeとGitHub Desktopの画面をスクショで記録したものです。(画像に一部化加工をしてあります)

いずれも、左枠にプロジェクト名、中心枠に変化のあったファイルの一覧、右図にファイルの変更箇所が表示されています。しかし、ここだけでも両者には違いがあります。GitHub Desktopではコミットするファイルをチェックボックスで選択しますが、SourceTreeではIndexという枠に対象ファイルをステージ(あげて)選択します。

また、SourceTreeではコミットをする場合、タブの「コミット」を、GitHub Desktopでは画面上部の「Changes」をクリックすれば行うことができます。

f:id:no-or-toon:20161218150029p:plain:w350f:id:no-or-toon:20161218133911p:plain:w350

プッシュ

プッシュの違いについて紹介します。

SorceTreeでは、赤枠の「プッシュ」を押すことでリモートリポジトリにプッシュできます。そのままですね。問題はGitHub Desktopですが、こちらでは「プッシュ」の表記がなく、代わりに「Publish」もしくは「Sync」という右上のボタンでプッシュすることができます。この「Sync」、後述の「プル」を同時に行ってくれるという便利なボタンです。ちなみに一度「Publish」ると以後そのブランチでは「Sync」の表記になるようです。

f:id:no-or-toon:20161218141539p:plain:w350f:id:no-or-toon:20161218141626p:plain:w350

フェッチ/プル

フェッチ・プルの違いについて紹介します。ここでは機能面で両者に大きな違いがあります。

まずはSourceTreeですが、図の赤枠で囲まれた部分で「フェッチ」もしくは「プル」を行います。画像では「フェッチ」を選んだ状態を表していますが、リモートリポジトリに変化があったことが示されています。

一方、GitHub Desktopでは右上の「Sync」を押すことでリモートリポジトリの状態とローカルリポジトリを同期させることができます。ここで注意点ですが、GitHub DesktopにはSourceTreeやGitのように「フェッチ」がなく、上記の通り「Sync」で「プル」を行うことになります。

f:id:no-or-toon:20161218135828p:plain:w350f:id:no-or-toon:20161218135929p:plain:w350

まとめ

SourceTreeとGitHub Desktopの比較を簡単にまとめてみます。

SourceTreeと比較して、GitHub DesktopではGitの基本的な操作(コミット、プッシュ、プル)を行うことができ、表示される情報も簡素なのでとっつきやすいと思われます。しかし、本当に最低限の項目だけ用意されているため、例えばフェッチとプルを使い分けたい場合などの操作には別のGUIを用いるかコマンドで行う必要があります。また、Gitコマンドの表記とボタンの表記が違うため、所望する操作について調べる際には苦労するかもしれません。

結論としては、小規模であったり重要でない制作物のプロジェクトには、GitHub Desktopを使っても支障はないと思われます。逆に、複数人による制作物のバージョン管理にはSourceTreeのほうが向いていると考えられます。

もっと言ってしまえば、自分たちの好きな形でやればいいんじゃないでしょうか。