Eagles - Desperado 文法解説
私の好きな歌です。文法的に細かく紐解いていきます。原文全体は載せていません。
リリースは 1973 年ですが、曲名 desperado はもっと前の 19 世紀、アメリカ西部開拓時代の無法者を指す言葉で、語源は desperate(絶望的な)と共通です。邦題は「ならず者」です。
Why don't you は「なぜ〜しないのか」転じて「〜しようよ」という呼びかけですね。Come to は「〜になる」。Sense は「意識」ですが one's senses の形で「正気」になります。つまり why don't you come to your senses? は正気に戻ろうよ、と呼びかけています。
You've been out では副詞 out が be 動詞の補語となり「ずっと外にいた」。外で何をしていたかというと、続く分詞構文 riding fences なのですが、これは単に塀に登ることではなく、カウボーイの仕事の 1 つを指すのだそうです。何かから逃げるように仕事に行ったきり、戻ってこない、そんな比喩かなと思います。
You're a hard one の hard は広く困難を指す形容詞ですが、ここでは「正気に戻れ」と言われて簡単に受け入れるほど素直な人間ではない、という困難さを指しているのだと思います。そして、そうなるだけの理由がお前にはあったんだろう。楽しいことが何故かお前を傷付けることだってあるんだよな。
Don't you draw は疑問文ではなく主語ありの命令文「〜するな」です。古い英語の動詞には直説法と仮定法(接続法)以外に命令法の語尾変化がありましたが、主語 you の省略 + 原形を使うようになったので、強調のために you を付けると逆に意味を文脈から判断するしかなくなってしまうんですね。Queen of diamonds と queen of hearts は比喩ですが、ダイヤモンド、お金、見た目、そんな女性よりも、心が綺麗な女性を選べ、だいたいそんな意味だと思います。
Now it seems to me 俺にはこう見えるよ。どう見えるかというと、some fine things have been laid upon your table お前の手元には良いカードが並んでる。なのにお前が欲しがるのは the ones that you can't get 手に入らないものばかり。
You ain't getting no younger, 英語では not と no がダブったからといって必ずしも二重否定になるわけではありません(特に口語では)。つまり普通に you are getting younger の否定で、年を取るという意味です。ここからめちゃくちゃ現実的な「生」についての話が続きます。Your pain and your hunger が driving you home, つまり痛みや空腹のせいで家に帰るしかない。
That's just some people talking は主語ありの分詞ですね。現在分詞 talking に主語 some people が付いて「一部の人たちが話しているもの」を意味する小節になっている。独立分詞構文や、I saw him running みたいな SVOC 構文と同じです。自由なんてものは、まぁ誰かが口にしてるだけで、ここには無いよということです。
Your prison is walking through this world all alone の walking を進行形ととるか動名詞ととるかですが、意味が通るのはやはり動名詞だと思います。つまり「この世界を独りで歩くということ」がお前にとって牢獄であり、お前はこれから逃れられずにいる。
冬は足が冷たいだろう?雪も降らなければ日も出ない。動詞 tell は、can や be able to とくっついて「伝えられる」すなわち「分かっている」(自分が分かっていないと伝えられないので)という意味になり、特に can tell A from B で「A と B を区別できる」です。今回は can でも be able to でもなく be hard to とくっついていますが意味の中心は同じで、it's hard to tell A from B で「A と B の区別が難しい」です。感覚を失ってゆく、どうだい、面白いかい?
残りの歌詞に文法的解説は不要でしょう。You (had) better let somebody love you、これは好きな言葉です。Let なのが良いですね。別に愛し愛されろと言っているわけじゃなくて、せめて誰の愛も受け付けないのはやめようよ、くらいの控えめさ。Before it's too late 遅くなってしまう前に、裏を返せば今はまだ遅くないということでもあります。
歌詞の途中では厳しいことも言っていますが、疲れた心によく染みる優しい歌です。
Second-Order Sources in Scholarly Practice: Retrieval-Augmented LLMs Compared with Secondary and Tertiary Sources
1. Introduction
In scholarly research, the classification of sources into primary, secondary, and tertiary reflects both their relationship to original evidence and their role in intellectual work. This report adopts the following definitions:
- Primary sources: Original data, documents, or artifacts forming the direct evidence of a field.
- Secondary sources: Scholarly interpretations or analyses of primary sources, typically authored by domain experts.
- Tertiary sources: Compilations or summaries of primary and secondary sources (e.g., encyclopedias, bibliographies, indexes).
For the purposes of this discussion, we introduce a fourth category:
- Second-order sources: Texts generated by large language models (LLMs). These are neither fixed publications nor purely human-authored works. They are synthetic outputs, potentially incorporating elements from all three traditional source types, mediated by statistical language modeling.
This report compares second-order sources—assuming the availability of retrieval augmentation (i.e., verifiable citations to authoritative works)—with traditional secondary and tertiary sources in three key scholarly uses:
- Retrieving primary sources.
- Raising issues from an expert perspective.
- Learning about approaches to the field.
2. Retrieval-Augmented Assumption
A major present-day limitation of LLMs is their tendency toward hallucination—the generation of non-existent references—and their inability to provide verifiable citations without external tooling. For this analysis, we adopt the premise that these issues are resolved through tight integration with authoritative databases, knowledge graphs, and retrieval systems.
Under this assumption, the remaining differentiating factors between source types are not about accuracy of retrieval but about how the information is selected, framed, and used.
3. Comparative Analysis
3.1 Retrieving Primary Sources
- Secondary sources: Often cite primary materials as evidence within an argument. These references are targeted, authoritative, and embedded in interpretive contexts. Retrieval ease is high if the researcher already knows the relevant subfield, but coverage is necessarily selective.
- Tertiary sources: Optimized for retrieval. Bibliographies, indexes, and archival guides are built to direct researchers to primary sources quickly and systematically. Retrieval ease is very high but fixed; the indexing scheme cannot adapt dynamically to a researcher’s evolving focus.
- Second-order sources (retrieval-augmented LLMs): Offer maximum retrieval ease. They can instantly generate tailored lists of primary sources in response to natural language queries, combining the flexibility of a search engine with the organization of a bibliography. The quality of results is strongly dependent on query precision; vague prompts can yield overly broad or unfocused lists.
3.2 Raising Issues from an Expert Perspective
- Secondary sources: High capacity for issue-raising. Authors are typically embedded in scholarly communities, bringing domain-specific commitments, tacit knowledge, and awareness of ongoing debates. The identification of new problems is grounded in disciplinary epistemology.
- Tertiary sources: Minimal issue-raising. Their function is descriptive, not argumentative; they summarize established knowledge rather than challenge it.
- Second-order sources: Conditional capacity. With precise prompting—supplying theoretical stance, disciplinary norms, and debate context—LLMs can generate issue-raising comparable in form to expert commentary. Without such steering, outputs default to plausible but shallow generalities. This limitation is structural to general-purpose models: their training emphasizes breadth over embedded disciplinary identity. They do not possess the sustained intellectual commitments required to generate novel, field-specific problematics spontaneously.
3.3 Learning About Approaches to the Field
- Secondary sources: Provide high-depth explanations of theoretical frameworks, methodological debates, and historiographical developments. Often reflect the author’s critical evaluation of competing approaches.
- Tertiary sources: Offer broad overviews of established methods and subfields, but omit debate dynamics. Their function is to orient, not to engage critically.
- Second-order sources: Provide moderate-to-high capacity for summarizing approaches. They can integrate diverse perspectives rapidly and adapt explanations to the user’s background. However, without expert-guided prompts, they risk flattening distinctions, misrepresenting relative importance, or omitting niche but significant approaches.
4. Structural Limitation of General-Purpose LLMs
Even in a future where retrieval and citation are flawless, general-purpose LLMs face an inherent constraint in autonomous expert issue-raising. This is not an artifact of immaturity but a necessary consequence of their architecture and training:
- They are trained to model general patterns across diverse domains, not to internalize the evolving commitments of any single scholarly tradition.
- Without domain-specific fine-tuning or explicit prompt guidance, they lack the situated perspective that human experts develop through prolonged engagement in a field.
- Breadth-oriented training optimizes for flexibility and adaptability but inherently reduces the model’s tendency to commit to a narrow, deep epistemic stance.
This makes them extraordinarily capable tools for synthesis and retrieval, but not default generators of novel, discipline-specific research questions.
5. Synthesis Table
| Use Case | Secondary Source | Tertiary Source | Second-Order Source (retrieval-augmented LLM) |
| Retrieve primary sources | High, targeted; selective to subfield. | Very high; systematic and stable. | Maximum; instant, query-specific, flexible. |
| Raise issues from expert perspective | Very high; grounded in disciplinary debates. | Low; descriptive only. | Conditional; high with expert framing in prompt, low if unguided. |
| Learn about approaches to the field | High depth and nuance. | Broad overviews; low debate context. | Moderate–high; adaptable synthesis but risk of oversimplification. |
6. Conclusion
In a retrieval-augmented future, second-order LLM sources will:
- Surpass tertiary sources in flexibility and speed of primary source retrieval.
- Match or exceed tertiary sources in approach learning, with the caveat that nuance depends on prompt quality.
- Remain structurally dependent on expert steering for high-quality, field-specific issue-raising—an inherent trade-off of being general-purpose rather than domain-embedded.
The key to effective scholarly use will not simply be improving the model, but teaching researchers to prompt with disciplinary precision. LLMs will be indispensable partners in information discovery and synthesis, but the generation of truly novel scholarly problems will remain, at least initially, a human-led activity.
医学英単語は,分解すると覚えやすい!【語源学習法のすゝめ】
全国の医学生のみなさんは,様々な医学用語を英語で覚えることも多いでしょう.その理由は,大学の試験に出題されるからだったり,英語で書かれた論文を読むためだったりします.
医学用語を英語で覚えることに損はありません.一般的に,和訳によって作られた日本語の単語より,英単語の方が体系的にできていることが多いと言われます.
「でも,日本語ですら既に覚えることが多いのに,それにくわえて英語も覚えるとなると大変……」
そう感じている人も多いのではないでしょうか?
そんなあなたに朗報です!
医学英単語の多くは,基本的なパーツを組み合わせてできています.そのため,まずはパーツを知り,そのあとは語源に基づいて単語を学んでゆくことで覚えやすくなります!
例を見てみましょう.
ヘモグロビン hemoglobin の先頭の hemo- は,「血」を意味します.血の赤い色を作っている大事なタンパク質ですから,イメージしやすいですね.
一方,-stasis という接尾辞は,何かをとどめることを意味します.これは,生理学の重要な概念であるホメオスタシスという単語で知られていると思います.
では問題です.hemostasis という単語はどんな意味でしょうか?
答え
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
そうです,「止血」です!
このように,hemo- と -stasis を組み合わせて hemostasis という単語ができていることが分かれば,覚えやすいですね.
ちなみにイギリス英語では haemostasis です.アメリカとイギリスで綴りがちょっとくらい違うのは,仕方ないですね.
別の例も見てみましょう.
コレステロール cholesterol の先頭の chole- は,「胆汁」のことです.英語では,胆汁に関係する単語に chole- が付きます.
では問題です.胆汁が通る管である「胆管」を英語では何というでしょうか?
答え
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
そうです,「bile duct」です!
胆汁は英語で bile と言いますね.これを通す管 duct なので,bile duct です.
続けてもう 1 問いってみましょう.肝臓で作られた胆汁を貯めておく場所である「胆嚢」を英語では何というでしょうか?
答え
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
そうです,「gallbladder」です!
胆汁のことを英語では gall と言います.これを貯めておく場所なので gallbladder です.
いかがだったでしょうか?いくつかの基本的な「パーツ」を覚えておけば,そこから色々な英単語の意味が推測できることが分かりますね!
この「語源学習法」が,全国の医学生のみなさんの助けになれば幸いです✨
ではまた!
論理的思考に基づいて繁栄する生物
風呂に入りながらぼーっと考えていた,この地球とは別のどこかの星にいるかもしれない生き物の話をしたい.
彼らは,生まれたときから器用な手と論理的な思考力,そして脳内に自分の"設計図"データをもっている.
生後しばらくはまず様々なことを体験し,それを論理的に解釈することで自分たちの住む星について多くを理解してゆく.
そして時が経つと,生まれもった自分の設計図データをもとに,器用な手で次の世代(子)を作り出す.このとき,設計図をそのまま用いるとは限らない.その星の環境は必ず変化する.論理的思考に基づいて設計図を修正し,変化に合った子を産む.子にはもちろん,自分(親)ではなく子自身の設計図データを載せる.
会話
彼らは,近くにいる相手の思考を覗くことができる.これにより,ある者が設計図データの大きな改善を発見したら,周囲の者もそれを取り入れることができる.広い星の中,あちらこちらで設計図が書き換わっていけば,いずれ思考のインターフェースも変わってしまい,互いに覗けなくなるかもしれない.そうしたら,それが「種」の定義となるだろう.
群れ
種によっては群れを作るかもしれない.活動したり次の世代を作ったりするのに必要な物質やエネルギーを互いに分け与えれば,より効率的に繁栄できるだろう.
バグ
突然バグった思考が蔓延することで,ある種が全員子孫を残さず自殺したらちょっと面白い.
[[likely]]が役立った話
この記事はstackoverflowで質問した内容の結論をまとめたものです.
正直, [[likely]] attribute なんて今まで一度も使ったことなかったです.
こんなコードを書いた
#include <stdio.h> #define N 19 int main(void){ int a[N]; int ans = 0; for(int i = 0; i < N; ++i){ a[i] = 0; } for(;;){ int i; ++ans; for(i = N - 1; a[i] == 2; --i){ if(i == 0){ printf("%d\n", ans); return 0; }else{ a[i] = 0; } } ++a[i]; } }
これは, 0 以上 3 未満の整数から重複を許して 19 個選ぶやり方 通りを,ループで数え上げて出力するコードです.
これを, gcc でコンパイルして実行時間をはかります.このとき, -O1 オプションを付けた場合と, -O2 オプションを付けた場合の 2 通りためしてみます.
すると,結果は次のようになりました(単位はすべて秒):
| オプション | 1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
| -O1 | 0.70 | 0.71 | 0.69 | 0.71 | 0.68 | 0.70 |
| -O2 | 1.13 | 1.11 | 1.10 | 1.11 | 1.09 | 1.11 |
-O2 の方が遅い!!びっくりして stackoverflow で質問を投げたら, -O2 で有効になる最適化のうち,-falign-functions -falign-jumps -falign-labels -falign-loopsがどうやら悪い方に働いていると言われました.さらに [[likely]] attribute を付けることも提案されました.
[[likely]] [[unlikely]] って?
[[likely]] は,実行される確率の高い文に付けます.[[unlikely]] は,実行される確率の低い文に付けます.
付けてみた
今回,for(;;)文で無限ループを書いていて, 回はループが回ります. break されるのは最後の一回だけなので,この for 文は「ループが終了する確率より,続く確率の方がはるかに高い」ということになります.
そこで,次のように[[likely]]を付けてみます.
#include <stdio.h> #define N 19 int main(void){ int a[N]; int ans = 0; for(int i = 0; i < N; ++i){ a[i] = 0; } for(;;) [[likely]] { int i; ++ans; for(i = N - 1; a[i] == 2; --i){ if(i == 0){ printf("%d\n", ans); return 0; }else{ a[i] = 0; } } ++a[i]; } }
すると……
| オプション | 1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
| -O1 | 0.65 | 0.65 | 0.66 | 0.66 | 0.66 | 0.66 |
| -O2 | 0.66 | 0.65 | 0.66 | 0.65 | 0.66 | 0.66 |
おお! -O2 も速くなった!!
結論
[[likely]]でこんな影響が出ることも,あるんだなぁ
エモいコードについてのメモ
これはキャス(1枠目,2枠目)で話した内容を文字にしたものです.
メジャーの中にマイナー,マイナーの中にメジャー
メジャーキーの曲の中にマイナーコードを一瞬混ぜる,あるいはその逆をすると,エモくなります
例 1:ちいさい秋みつけた
E minor の曲ですが,「めかくし鬼さん手のなる方へ」と「よんでる口笛もずの声」の二箇所で平行調の G major が混ざります.もの寂しい秋の中にわずかな人の温もりが感じられる一瞬を映し出しているようにも感じられます.
例 2:ブラームス,ハイドンの主題による変奏曲
これは逆に B♭ major の曲に平行調の G minor が出てきます.一瞬だけ出てきてそのあとすぐに戻っちゃうあたりが推しポイントです.
例 3:Simon and Garfunkel - Bridge Over Troubled Water
多分他にも同じ進行は多くあると思いますがパッと思いついたのがこれでした, 2 番と 3 番の間の間奏(動画内 3 分くらいのところ)の A♭→A♭m→E♭です.曲の中で一回だけ使うとエモくなるというのが自分の中のイメージです.
例 4:ショパン,遺作
これは短調の曲の最後でフッと長調にして終わるやつです.ずーっと C♯minor で悲しい雰囲気が続く曲ですが,最後の最後で C♯ major になって終わります.このパターンは最近の曲でもよくあると思います.
解決前の属和音に色々な音を重ねる
A minor の曲で E→Am という解決をするとき, E のコードに D の音を付け加えて E7 にするのは割とよくやると思います.ここにさらに F とか C とか A の音を付けてみるとちょいエモくできます.どうせ属音の圧倒的な解決力がどうにかしてくれるので,いくらでも汚くして遊べます.
主音を引きずりまくる
まず右手だけで Am→E→Am という簡単なコードを弾いてみます.次にここに,左手で主音 A を重ねてみます.右手が属和音 E を弾いている間,左手の主音 A が残り続けていると,少し深みが生まれます.こんな風に,コードが進行している間主音を残し続けることでエモが作れます.
曲の最後の和音で遊ぶ
曲の最後を単に主和音で終わらせてしまうとつまらないな,と感じたときには,この主和音の上に別の音を重ねて遊んで見るのも良いでしょう.このときにピタゴラス音階( 5 度ずつ重ねるやつ)とかが使いやすかったりします.
音を減らす
主和音の 3 つの音から 1 個抜きます.すると単純ながらも印象に残りやすい響きになったりします.
同じメロディーに違うコード
例 1:灼熱スイッチ(灼熱の卓球娘 op 曲)
アニメ放送当時,コード進行がヤバすぎると話題になった op 曲ですね.コード使いがテクニカルなのでなかなか真似できないんですが,この中で真似しやすいところを挙げるとすれば,曲の後半の方に出てくるサビ直前の「夕陽あびてこぶしを高くあげて明日も頑張るとかたく誓うんだ」のコードが,それまでのサビ直前と変わっているところです.メロディーは変わっていないのにコードだけが変わっています.こういうのが好きなんだってばよ!!!
他(汎用性は低い)
- A minor の中の B♭.入れ方は複数ありますが, F→G→Am と来そうなところで F→G→B♭とするのが割と好きだったりします.
- A minor の属和音は E ですが, E→Am の代わりに Em7→Am とするのもうまく使うとめちゃくちゃエモくなります.
- ラフマニノフのヴォカリーズの中の,歌詞で言うと「アアアアーーアアーーー,アーアーーーアーァァアーーー」のところ(どこだよ).E minor に F の音を混ぜてるところは,本当に何を食って生きてたらそんな音が生めるんだって感じがします.
無料で PDF ファイルが編集できる強力ツール「PDFtk」について
PDF の編集にはお金がかかると思っていませんか?
確かに,たとえば Adobe Acrobat のような有料のソフトウェアも出回っています.しかし, PDF なんて中身はただ /Type /Page とか /Font << /F3 212 0 R >> とか書かれてるだけのファイルに過ぎないのですから,無料の編集ソフトが存在しないわけがありません.そこで今回紹介するのが, PDFtk という無料ソフトです. PDF の結合や分割,重ね合わせなどができます.
インストール方法
ここから,自分の OS に合ったインストーラをダウンロードします*1(Windows 10 は存在しないので代わりに Windows XP/Vista/7/8 を選択します).インストーラを起動して,言われるがままに「Next」を押し続けると……あれ?インストールが完了したのに PDFtk が起動しないし,デスクトップを見てもそれらしいアイコンがありません.どうしたのでしょう.
実は, PDFtk はコマンドラインツールです(GUI のものは有料です). Mac/Linux ならターミナル, Windows なら PowerShell を起動して,
$ pdftk --version
と打ち込んでみましょう(最初の「$」は,シェルが入力を受け付けていることを表すもので,あなたが入力するのは「pdftk」以降です.環境によっては「$」ではなく「>」だったり「%」だったりするかもしれません).インストールに成功していれば,ここで
pdftk 2.02 a Handy Tool for Manipulating PDF Documents Copyright (c) 2003-13 Steward and Lee, LLC - Please Visit: pdftk.com This is free software; see the source code for copying conditions. There is NO warranty, not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
のようなメッセージが出力されるはずです.もしここで
用語 'pdftk' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
や
command not found: pdftk
といったエラーが出力されていれば,インストールに失敗しています.
パソコンの中にある PDF ファイルをコマンドラインから見る方法
シェルの扱いに慣れていない人のための項目です,普段から使っている人は読み飛ばしてください.
シェルには,カレントディレクトリという概念が存在します.コンピュータの中にはファイルの階層構造が形成されていて,たとえば Pictures というディレクトリ(フォルダともいいます)の中に写真が入っていたり, Downloads というディレクトリの中にダウンロードしたファイルが入っていたりします.シェルを使うとき,あなたは常に,何らかのディレクトリを基点として,その中や外にあるファイルを操作することになります.今操作の基点となっているディレクトリのことを,カレントディレクトリといいます.
今あなたがどのディレクトリにいるのかは,
$ pwd
と入力することで知ることができます(繰り返します,「$」自体は入力しないでください). Windows であれば「C:」, Mac/Linux であれば「/」から始まるパスが表示されたはずです.そこがあなたが今いる場所です.
PDF ファイルを操作するときには,そのファイルが含まれるディレクトリまで移動したい(カレントディレクトリを移動させたい)です.これには 2 つの方法があります.
まず 1 つ目(この方法は Windows の場合しか知らないのですが,他でも多分可能です). Windows ではフォルダをクリックするとエクスプローラが開き,フォルダ内のファイル一覧が表示されると思います.その状態で,左上の「ファイル」から「Windows PowerShell を開く」をクリックすると, PowerShell が開くでしょう.その状態で $ pwd と打つと,今度はエクスプローラで開いていたディレクトリがカレントディレクトリになっているはずです.
2 つ目は, cd を使う方法です.たとえば,カレントディレクトリ直下にある Documents というディレクトリに移動したければ,
$ cd Documents
と打つと移動できます.また, C:\Users\example\Documents\ というディレクトリに移動したければ,
$ cd C:\Users\example\Documents\
と打っても移動できます.
さて,こうして 2 通りのやり方のいずれかでカレントディレクトリを移動できたら,
$ ls
と打ってみてください.ディレクトリ直下にあるファイルの一覧が表示されるはずです.この一覧の中にあなたが編集したい PDF ファイルが含まれているかどうかを,
$ ls (ファイル名)
で確認しましょう.
PDFtk の使用例
まずはいくつか例を紹介します. a.pdf と b.pdf を結合して c.pdf にしたければ
$ pdftk a.pdf b.pdf cat output c.pdf
とします.逆に, 100 ページある a.pdf を 1 ページの PDF ファイル 100 個に分割したければ,
$ pdftk a.pdf burst output bursted_
とします(bursted_pg_0001.pdf から bursted_pg_0100.pdf までのファイルが作られます).
PDFtk の詳細な用法は少々複雑ですが,たいていは
$ pdftk (入力元ファイル) (操作) output (出力先ファイル)
だけで事足ります.上の 2 つの例では,「(操作)」の部分がそれぞれ「cat」,「burst」だったわけです.
cat
cat は実はもう少し高機能です.複数個の PDF ファイルを連結するだけでなく,複数個の PDF ファイルの「好きなページ範囲を」「好きな順番で」連結できます.そのためには, cat の直後に範囲の指定を続けます.
まず, a.pdf が 20 ページの PDF ファイルだったとき,
$ pdftk a.pdf cat 5 output b.pdf
とすると, b.pdf は a.pdf から 5 ページ目を切り出した 1 ページの PDF ファイルになります.
$ pdftk a.pdf cat 5-10 output c.pdf
とすると, c.pdf は a.pdf から 5-10 ページを切り出した 6 ページの PDF ファイルになります.
$ pdftk a.pdf cat 5-10 15-20 output d.pdf
とすると, d.pdf は a.pdf の 5-10 ページと 15-20 ページを連結した計 12 ページの PDF ファイルになります. 20 ページ目は a.pdf の最後のページなので,
$ pdftk a.pdf cat 5-10 15-end output d.pdf
としても同じです.
次に,複数個の PDF ファイルについてこれを行います.このためには,入力元ファイルを指定するときに,一時的に名前を付けてやります.たとえば
$ pdftk A=hoge.pdf B=fuga.pdf C=piyo.pdf (操作) output (出力ファイル)
とすると, 3 つの PDF ファイル hoge.pdf,fuga.pdf,piyo.pdf に対し,それぞれ一時的に A,B,C という名前が付けられ,「(操作)」の部分で用いることができるようになります.
これを使って, hoge.pdf の 1-2 ページ目, fuga.pdf の 3-4 ページ目, piyo.pdf の 5-6 ページ目をつなげて全 6 ページの PDF ファイルを作るには,
$ pdftk A=hoge.pdf B=fuga.pdf C=piyo.pdf cat A1-2 B3-4 C5-6 output out.pdf
とします.
練習問題:100 ページの hoge.pdf と, 1 ページの fuga.pdf があります. hoge.pdf の 30 ページ目を fuga.pdf で差し替え,新たに 100 ページの PDF ファイルを作るにはどうすれば良いでしょうか.
cat には他にもいくつか機能があります.ページ範囲が「10-5」のように逆転していれば,「10 9 8 7 6 5」とページが逆順になります.ページ範囲を指定するところで「5-11odd」や「2-10even」のように odd/even を付けると,奇数ページ目/偶数ページ目だけが選択され,それぞれ「5 7 9 11」と「2 4 6 8 10」のようになります.「1-10south」のように範囲指定の後に north/south/east/west/left/right/down を付けると,ページが回転します*2.
burst
burst は, PDF ファイル全体を 1 ページずつに分割します.分割された PDF ファイルの名前は,デフォルトで末尾に pg_(ページ番号).pdf が付きますが, C 言語の printf と同じ形式で指定することもできます.たとえば
$ pdftk a.pdf burst output bursted%02d.pdf
とすると, bursted01.pdf , bursted02.pdf ,…という名前になります.
background/multibackground/stamp/multistamp
これらのコマンドを使うと, 1 つの PDF ファイルの前面/背面に別の PDF ファイルを重ね合わせることができます.
$ pdftk (入力ファイル) background (重ねるファイル) output (出力ファイル)
のように,直後に重ねる PDF ファイルの名前を続ける必要があります.たとえば,全ページにハンコを押さなければいけない書類 a.pdf と,スキャンされたハンコのデータ b.pdf があったとき,
$ pdftk a.pdf stamp b.pdf output c.pdf
とすると,全ページにハンコが押された書類 c.pdf が完成します.
background/multibackground を使うと,重ねるファイルが入力ファイルの背面に置かれます.逆に stamp/multistamp を使うと重ねるファイルが入力ファイルの前面に置かれます.
background/stamp を使うと,重ねるファイルの 1 ページ目が,入力ファイルの全ページに重ねられます.一方 multibackground/multistamp を使うと,重ねるファイルの 1, 2, 3, …ページ目が,それぞれ入力ファイルの 1, 2, 3, …ページ目に重ねられます.
help
以上で大体基本的な使い方は網羅していると思います.もっと詳細な使い方を見るには,
$ pdftk --help
とすると,英語のヘルプが表示されます.
無料でもちゃんとできる!
以上, PDF ファイルを編集できる無料ソフト PDFtk の紹介でした.
この記事が誰かの役に立てればこの上なく幸せです!
*1:Mac/Linux であれば, brew や apt や yum などで pdftk あるいは pdftk-java と打っても入ります.
*2:east/right は右, west/left は左に倒れ, south/down は 180 度回転します. pdftk を 2 回実行して right を 2 回かけると 180 度回転しますが, east は何度かけても右に倒れた状態のままです.すなわち, north/south/east/west は絶対的ですが, left/right/down は相対的です.ページが回転した状態の PDF ファイルは, north で元に戻すことができます.