MacTeXを導入した話
今回の記事はMacTeXの導入とパッケージの追加についてです。他の方がとてもわかりやすい記事を書いてくださっていたので、それを紹介するという形になります。
少し前のお話です。
「よーし今日もレポート書くぞ〜!」と意気込み、例のごとくCloud LaTeXさんを使わせていただこうと思ったんですが、その前日までコンパイル出来てたものがコンパイル出来ない。
エラーメッセージを確認したところ"urlパッケージが使えないよ!"とのこと。
なんでやと思いTwitterでサーチをかけてみると、同時刻に同じ症状になっていた人が多数。(現在は復旧しています。)
また、なぜか年末にCloud LaTeXが使えなくなることが多いとの情報も得た。卒論が迫っている人は死ぬ。
自分もレポートの締め切りが近く、復旧が間に合わなければマズいと思い代替案を探すことに。
そこで見つけたのがMacTeXなるもの。
MacOS Sierra(Version 10.12.1)を使っているのでこちらのサイトを参考にさせていただき導入を行なった。
こちらに書かれている通りに進めれば必要なものセットはほぼほぼ入ります。
(Ghostscriptのことはよくわからなかったので2番目の項目から始めました。)
注意点としてはMacTeX.pkgの容量が3GBか4GBくらいあるのでダウンロードにそれなりに時間がかかること。(正確には覚えてないですが、自分の場合は40分くらいだった気がします。)
もう一点の注意点はコマンド"sudo tlmgr update --self --all"で更新されるファイルが500個くらいあるのでこちらも時間がかかるということです。(20分強くらい?)
無事にインストール等々が終わるとアプリケーションにTeXというフォルダができます。こんな感じです↓
その中を確認すると以下のようになってます。
Keynoteとか用に数式を作るんだったらLaTeXiTを使います。
ここからはパッケージの追加についてです。
MacTeXの環境が無事に整ったので、Cloud LaTexにおいて作成途中だったレポートのソースをコピペして動作させようとしたところ"パッケージjlistingが使えないよ!"という旨のエラーが出ました。
他のパッケージはよく利用されるパッケージらしくMacTeX標準搭載でしたが、これだけ引っかかってしまったようです。
そこでドンピシャなサイトを発見。先人の知恵は偉大です。
途中に書いてある移動先のフォルダについてですが、"kpsewhich listings.sty"というコマンドをターミナルに打ち込むことにより、すでに導入されているパッケージlistingsの場所がわかるので、その結果を参考にするといいかもしれません。
ちなみに上記のコマンドで僕は次のようになりました。
参考にさせていただいた記事だと"sudo mktexlsr"のコマンドが実行できないということでしたが、僕の環境だとそのまま通っちゃいました。よくわからんですね。
最後にサンプルプログラムを動かしてみます。
前述のTeXShopを開くと次のような画面になります。
ハローワールド的なプログラムを作成し、保存。
(⚠️保存場所について、様々なファイルがpdfファイルを作るまでの副産物として生成されるので、1つのtexファイルにつき1つのフォルダを用意しておいた方がいいと思います。)
ここで左上にある「タイプセット」をクリックするとコンパイルが開始されます。導入がうまく行われていれば、次のようになります。
pdfファイルが画面上に出力されていればコンパイル成功です。
画像左下のコンソール画面はエラーがあった時に知らせてくれます。Enterキーを押していけば1つずつエラーを表示してくれます。また、コンソール内の右上にある「作業ファイルを削除」ボタンを押すと先ほど言った副産物をまとめて処理してくれます。(ゴミ箱に送るだけなので気がついたときに空にしておきましょう。)
そんなこんなで今回もおしまい。
ポケモンでタイムスリップした話
今回は最新作サン・ムーンが発売されたポケモンの話です。
僕も便乗して始めましたよ!
某倫理学のすゝめというブログを書いている同期に貸してもらいました。
そんで1億年ぶりくらいにポケモンをやった感想なんですが...
システムがめっちゃ変わってる
この一言に尽きます。
まず気が付いたのは『戦闘で交代したときの経験値の入り方』。
僕がやっていた世代(プラチナまで)では相手を倒したポケモンを基準として、戦闘に顔を出したポケモンは半分の経験値がもらえていた。(記憶が正しければ)
しかし、時代は進化し(アドバンスジェネレーション)、交代したポケモンでも同じだけの経験値が入る仕様になっていた。
「なにこれめっちゃ便利やんけ」とか言いつつ対トレーナー戦でポケモンを交換しまくる。
相手から見たらかなりの変人であることは間違いない。
次に『がくしゅうそうちの仕様』。
割と早めの段階でがくしゅうそうちをもらえるのだが、説明文を3回は見直した。
”そうちのスイッチをオンにしておけば手持ちのポケモン全員に経験値が入るよ!”
...HA?
がくしゅうそうちって持たせたポケモンだけに経験値入るんじゃなかったっけ(震え声)
かがくのちからってすげー
とりあえず最後『わざマシンが使っても消えない』。
誰に使うか悩んでた頃が懐かしい!!!!!!
じしんもめざパも10万ボルトもギガドレインも全部使い放題!!!!!!
マジで!?!??!??!?!?!?!?!?!
あとは『再戦可能なトレーナーがわかる』とか『きのみがどれくらい育ってるかわかる』とか『フェアリータイプが追加されてる』とかもうキリがないので、とりあえずシステム関連の話はここまで。
アルファサファイアの進捗
手持ち
ストーリー
2つ目の格闘ジムをラルトスでボコりバッジを奪取。
船でカイナシティへ。
「多分タイムスリップした人も似たような感覚になるんだろうな〜」とか思いながらスキマ時間で進めてます。
今回はここまで。
プログラミングコンテストに初参加した話~後編~
前回(↓)の続きです。
無事に第1問を解き終わった僕であったが、第2問において驚異のガイジ力(ガイジリョク)を見せつけるのであった…
第2問
入力3つ(a,b,c)あったときにaからbまでの間にcで割り切れる数いくつあるか出力してや。
例:入力"10 15 5" 出力"2"
問題文を読まないガイジ僕
「せや!while文でぶん回して商を1つづつ出力したろ!彡(^)(^)」
※入力が"10 15 5"だったら"2 3"になると思ってた
その結果爆誕したのがこちらのプログラム
内容としては入力で受け取った数字3つを格納し、while文で回して割り切れたら出力、Aを1足す、という感じ。
もちろん不正解である。
そしてこのアホすぎる間違いに気づかないまま時間は刻々と過ぎてゆき
2016/12/04 PM10:40コンテスト終了
コンテスト終了後、問題文を読み返す僕「なんでこれ出力こうなるんやろか(例を見ながら)…アッ(逝去)」
こうしてデビュー戦をなんとか致命傷で済ませた僕は復習を開始、
こんなプログラムが出来上がった。
提出(終わった後でも評価してもらうことは可能)したところ、答え自体はあっていたが実行時間の制限に引っかかってしまっていた模様。
特にnumとAを足し算していくあたり頭悪い。
確かに"走れ低速の Python華撃団"(©️ゲキテイ&先輩)と言われるだけはある。
※実装の仕方が悪いだけでPython君は何も悪くないことが後に判明。
その後、解説を確認。
f(n)を0からnまでの中で、割り切れる数の個数と設定すると、f(B)-f(A-1)で書けるらしい。
ただし、A=0のときはf(-1)になるので注意な^^。とのこと。
最終的に次のようになった。
このプログラムだとバッチリ実行時間制限未満で動いた。
初出場でしたが頭柔らかくなる感じがMAXでスンゴイ(ボキャ貧)
こんな感じで初心者でも楽しめるプログラミングコンテストでした。
定期的に開催されてるっぽいのでまた参加してみたいと思います。
他の問題は割愛するので興味ある人は検索してみたりしてね。
終わり。
プログラミングコンテストに初参加した話~前編~
こんばんは、酒の勢いに任せて記事を書いているeiki1253です。
今回はAtCoderで開催されていたAtCoder Beginner Contest 048(以下、ABC)なるものに参加してみました。
発端は先日、Twitterで「プログラミングコンテストにとりあえず参加してみたら?(要約)」と言われたこと。
これまでは「プログラミングコンテストってガチの人(ガチプロは人外)だけやってるやつでしょ無理や」って思ってたんですけど、
- 参加だけなら無料
- オンラインでできる
- 初心者用のコンテストもある
と聞き急遽エントリーすることに。
練習用コンテストで提出の仕方等を学び、
そして…
2016/12/04 PM9:00開幕
とりあえず言語を選択。
色々な言語が使えるみたいだったけど、そこは僕がこの頃イチオシのPython君で。
問題は大問4個で構成されてました。(問題文は僕のテキトーな解釈で要約してます)
第1問
3つの英単語が間に半角スペースが入った状態で入力されるので、それぞれの頭文字取って出力してくれや。
例:入力"Aaa Bb C" 出力"ABC"
問題文を見て即座に思ったことがある。
「Pythonでスペース区切りの入力ってどうやって拾うんだ」
試合前に試合終了…にはならなかった。
なんとこのABCというコンテスト、試合時間中のインターネットでの検索等は自由なのである。
即"python 入力 スペース区切り"で検索
するとこちらのサイトが出てきた。
…なんと良心的(感動)
そんなこんなで入力の問題を解決。
こんな感じのプログラムに
「3行(実質2行)で終わるなんてホンマ便利やなぁPython君」とか思ってたら
いつの間にか夕食の時間になってたので離脱。
IQ246を視聴するため40分休み(※競技時間は100分)
夕食後に続くのであった。
そしてこの記事も次回へと続くのであった。
ネタバレをしておくとこの2問目までしか到達してません。
AtCoderのサイト↓
Pythonにハマった話
お久しぶりです。
今回は僕のこの頃のイチオシ言語であるPython君について少し語りたいと思います。
まずはハマった経緯についてですが、某授業でPythonを使うことが決定し、試しにクラスタリングをしてみようってところから始まりました。
使ってみたところ型宣言はいらんわセミコロンもいらんわだし、ちょっとぐらいガバったプログラムでも動くし、もうカルチャーショック状態っすよマジで。
(ガバガバすぎるプログラムを書くのは…やめようね!(自戒))
てな感じでテンション爆上がり、一瞬で虜になりましたね。
そしてこのPython君何がすごいかって追加モジュールの多様性がすごい(ボキャ貧)
例えばnumpyっていうモジュール。このモジュールは配列とか行列とかを爆速(当社比)で計算したりできます。
次にscipy。こいつは積分とかフーリエ変換とか様々な機能が使えます。メチャメチャ高機能。
最後にmatplotlib。これは描画をメインとしたモジュールで、ちょっとしたグラフならお茶の子さいさい、逐次描画だってなんのその、って感じで「結果を動画で撮りたい!」とか「結果を綺麗に出力したい!」ってときに使えます。
以上で紹介した3つでもまだまだ氷山の一角…一角どころか一欠片ってレベルで大量のモジュールがあります。
もし実装したい機能があればぜひぜひ試してみてはいかがでしょうか。
というわけでPython君の熱烈なダイレクトマーケティングでした。
おしまい。
第3回・超初心者がLaTeXに挑んだ話 ~図表編~
3回目となりました。今回はレポートを書く際には必要不可欠である、図表の入れ方とかです。
とりあえずこんな感じで書けば動くには動くってやつ↓
いつものテンプレの\begin{document}から\end{document}の間に入れてください。
\maketitle
\section{アッフゥフン}
図\ref{fig:usamin}に現役JKを示す.
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=6.0cm]{age17.jpg}
\caption{17歳現役JK}
\label{fig:usamin} %ラベルで図の参照
\end{center}
\end{figure}\section{しゅがしゅが☆み〜ん}
表\ref{tab:syugamin}にしゅがしゅが☆み〜んの各メンバーを示す.
\begin{table}[htb]
\begin{center}
\caption{BEMYBABY}
\begin{tabular}{|r||clrc|}
\hline
名前 & 年齢 & 誕生日 & 身長 & 血液型 \\
\hline
安部菜々 & 永遠の17歳 & 5月15日 & 146cm & O \\
佐藤心 & 26歳 & 7月22日 & 166cm & AB \\ \hline
\end{tabular}
\label{tab:syugamin} %ラベルで表の(ry
\end{center}
\end{table}
前半について、\begin{figure}から\end{figure}で図を入れられます。センタリングしたかったのでcenterも使ってます。widthで幅指定、同じフォルダの画像はそのまま名前指定で入れられます。あと図番号とかも参照させれば自動で補完してくれます。有能。
後半について、\begin{table}から\end{table}の間に色々書いて表を作ります。Wordに比べたら作るのはめんどい。基本的には"&"で次の列に、"\\"で次の行に、"\hline"で横線です。縦線については\begin{tabular}で指定します。なんというか縦線入れたい場所に"|"を入れてねって感じ。ちなみにrとかcとかlとかはright,center,leftの頭文字なんで次の図で察してください。
ちなみに
「表にいちいち結果打ち込むのめんどくせーーーー!!!!(◜◡‾)何回分結果あると思ってんだ!!!!!」
って人はCのプログラムになるけど、for文とかでぶん回す時に中を
printf("%d & %d & &d \\\\ \n" ,i ,num ,result);
とかってやると結果をコピペでそのまま表にできるのでかなりオススメです。
多分今回までの内容でちょっとしたレベルのレポートなら書けちゃうと思います。なので、(初心者の僕がいうのもアレですが)LaTeX試してみようかな〜って人は是非ともチャレンジしてみてください!
<参考>
第2回・超初心者がLaTeXに挑んだ話 ~数式編~
前回(↓)の続きになります。
前回はプログラムの書き方と数式の書き方について書きましたが、今回はその続きになります。
数式の番号を表示しないやり方と、よく使う数式コマンド的なのの紹介になります。
前回のテンプレの\maketitle〜\end{document}の間に以下のやつを突っ込む。"%"の後ろはコメントアウトなので全て読み飛ばされます。(Cの"//"とか"/*~*/"と同じ)
\section{数式}
\subsection{式番号無し}
\begin{equation}
(x-2)(x-3)=0 \nonumber
\end{equation}\subsection{上付き・下付き}
\begin{align} %alignで複数行の式にできる
x^2-5x+6=0 \\ %"\\"を入れると式を改行
a_{i+2}=a_{i+1}+a_i
\end{align}\subsection{イコールで揃える}
\begin{align}
a_0&=1 \\
a_1&=1 \\
a_2&=a_1+a_0
\end{align}
\subsection{分数}
\begin{equation} %分数を表示できる"\frac{分子}{分母}"
\frac{114}{514}=\frac{57}{257}\end{equation}
そうするとこんな感じの出力になります。
??「ほぼ内容が進展していないが大丈夫か?」
僕「大丈夫じゃない」
てことで次回に続きます。次回は図表編を予定しています。
(独り言)
macユーザーの方は"option"+"¥"で"\"が出力できます。
イコールで揃えるのところ、&マークに揃えられるって描くの忘れてた。
<参考>