pdfpagesで禁則文字を受け付ける方法

pdfpagesで禁則文字を受け付ける方法

- myu myo の投稿
返信数: 18


uplatex の場合には

set COMMAND_LINE_ENCODING=utf8& uplatex -shell-escape -sjis-terminal test.tex

を3行つけることで、shift jisなどの禁則文字を含んだファイルも読み込むことができました。

pdfpagesも同様に


set COMMAND_LINE_ENCODING=utf8& ptex2pdf -shell-escape -sjis-terminal test.tex

とやってみましたがうまくいきませんでした。
どなたか方法を教えてください。

myu myo への返信

Re: pdfpagesで禁則文字を受け付ける方法

- KUROKI Yusuke の投稿
pdfpages パッケージを使おうとした,ということでよろしいでしょうか? (単純化して話すと,)pdfpagesパッケージは,pdflatexでのみ使えます.

$ pdflatex test.tex
KUROKI Yusuke への返信

Re: pdfpagesで禁則文字を受け付ける方法

- myu myo の投稿

ptex2pdf -u -l test.tex

としていたのですが禁則文字を読み込めませんでした。

pdflatex test.tex

としてみましたが以下のエラーが出ました。

どうすれば良いでしょうか?

/share/texmf-dist/tex/platex/jsclasses/jsarticle.cls

! LaTeX Error: This file needs format `pLaTeX2e'
but this is `LaTeX2e'.

myu myo への返信

Re: pdfpagesで禁則文字を受け付ける方法

- aminophen の投稿
えーっと、pdfpages は v0.5 (2015/07/19) から (u)pLaTeX + dvipdfmx でも使えます。

・http://abenori.blogspot.jp/2015/07/pdfpages.html
・https://texwiki.texjp.org/?pdfpages

でも、Shift-JIS の「ダメ文字」が入った PDF は、extractbb を呼び出すマクロ部分が
未対応なためにうまく行かないのだと思います。
graphicx の \includegraphics がうまくいかないのと同様です。
aminophen への返信

Re: pdfpagesで禁則文字を受け付ける方法

- myu myo の投稿

ありがとうございます。

2015/09/18のバージョンを使っています

pdfファイルではなくtexファイルに禁則文字が入っている場合の読み込み方を

お教え願えないでしょうか?

aminophen への返信

Re: pdfpagesで禁則文字を受け付ける方法

- myu myo の投稿

新しいフォルダー9.tex

だとうまくいくのですが

新しいフォルダー (9).tex

だとうまくいきません。

()ってshift jisだと思いますがどうすれば良いでしょうか?

myu myo への返信

Re: pdfpagesで禁則文字を受け付ける方法

- aminophen の投稿
えーっと、「test.tex」をコンパイルできない話だったんじゃないでしょうか?
どこから「新しいフォルダー (9).tex」にすりかわったのだろう?
さっぱりわかりませんが、その「.tex ファイル」を添付してください。

> ()ってshift jisだと思いますがどうすれば良いでしょうか?

それから、「禁則文字」とか「shift jis」のなんたるかについて、正しい知識が欠けていると思います。
勉強すれば、お使いの用法が不適切で的外れなことがわかると思います。
aminophen への返信

Re: pdfpagesで禁則文字を受け付ける方法

- myu myo の投稿

すいませんtext.texというのはテンプレートからコピペしたもので

書き換えるのを忘れていました。

texファイルの中身は以下の通りです。

よろしくお願いいたします。

\documentclass[dvipdfmx,uplatex]{jsarticle}
\usepackage{pdfpages}
\usepackage{bophook}
\AtBeginPage{
\special{pdf:put @thispage << /Group <</S /Transparency /I true /CS /DeviceRGB >> >>}
}

\begin{document}

\includepdf[nup=1x2,landscape=true,pages=-]{新しいフォルダー (9).pdf}

\end{document}

myu myo への返信

Re: pdfpagesで禁則文字を受け付ける方法

- aminophen の投稿
「新しいフォルダー (9).pdf」がダメなのは、半角スペースが入っているからです。

「半角スペースを含む図のとりこみ」の常套手段は、grffile パッケージです。
しかし、extractbb の自動実行を要するソース、たとえば

\documentclass[dvipdfmx,uplatex]{jsarticle}
\usepackage[space]{grffile}
\usepackage{graphicx}
\begin{document}
\includegraphics{新しいフォルダー (9).pdf}
\end{document}

は失敗します。これをうまくいかせる方法は、「事前に extractbb を実行して .xbb を作っておく」
です。実際に「新しいフォルダー (9).xbb」を同じフォルダに置いておけば上のソースはうまくいきます。

ただし、pdfpages の場合、この方法は通用しません。つまり、うまくいかせるには別の何らかの方法を
とる必要があると思いますが、すぐには思いつきません。
# ちなみにこの問題は shift jis という言葉とは無関係です。勉強してください。

結局、近道は「半角スペースをファイル名に使わない」でしょう。忙しいので私はこれ以上は追求しませんでした。
aminophen への返信

Re: pdfpagesで禁則文字を受け付ける方法

- myu myo の投稿

ありがとうございます。

今回のケースはスペースではないと思います。

なぜなら

新しいフォルダー(9).pdf

新しいフォルダー(9).tex

のようにスペースを削除

新しいフォルダー9).pdf

新しいフォルダー9.tex

のように括弧を削除して初めてコンパイルに成功します。

何が原因でしょうか?

myu myo への返信

Re: pdfpagesで禁則文字を受け付ける方法

- aminophen の投稿
私のところでは

・「新しいフォルダー(9).pdf」という216ページある PDF
・以下の内容の test.tex

\documentclass[dvipdfmx,uplatex]{jsarticle}
\usepackage{pdfpages}
\usepackage{bophook}
\AtBeginPage{\special{pdf:put @thispage << /Group <</S /Transparency /I true /CS /DeviceRGB >> >>}}

\begin{document}

\includepdf[nup=1x2,landscape=true,pages=-]{新しいフォルダー(9).pdf}

\end{document}

を用意して

uplatex test
dvipdfmx test

としてコンパイルして成功します。括弧があっても大丈夫ですが、半角スペースがあると失敗します。

で、私が myu myo さんの状況を理解できていないことが伝わっていないようなのですが:

「新しいフォルダー (9).tex」というファイルから、同じ名前の「新しいフォルダー (9).pdf」というファイルを
読み込もうとしている、ということですか?

素直に考えてみてください。
「新しいフォルダー (9).tex」
をコンパイルがもし成功したら、出来上がるファイルの名前は
「新しいフォルダー (9).pdf」
ですよね? それじゃあ上書きが起こってしまうことに気づくでしょうから、
そんなことはしないのではないか、と私は疑っているわけです。
aminophen への返信

Re: pdfpagesで禁則文字を受け付ける方法

- myu myo の投稿

何度もすいません。

新しいフォルダー(9)_pages.tex

新しいフォルダー(9).pdf

です。

myu myo への返信

Re: pdfpagesで禁則文字を受け付ける方法

- aminophen の投稿
上の「2016年08月14日(日曜日) 21:40 アセト アミノフェン の投稿」
に書いたソースを「新しいフォルダー(9)_pages.tex」として保存し、

uplatex 新しいフォルダー(9)_pages
dvipdfmx 新しいフォルダー(9)_pages

とするとコンパイルできました。
何が出来なくて質問していらっしゃるのかが全然伝わってこないので諦めます。
aminophen への返信

Re: pdfpagesで禁則文字を受け付ける方法

- myu myo の投稿

uplatex
dvipdfmx

でも試してみましたが駄目でした。

フォルダーを変えてもみましたがやはり駄目でした。

texは一年前にアップデートしたものなのですが

最新版でないと駄目なのでしょうか・・・・?

myu myo への返信

Re: pdfpagesで禁則文字を受け付ける方法

- aminophen の投稿
# 私の環境は W32TeX 2016/08/11 です。
すみません、上の発言を一箇所訂正します。

uplatex 新しいフォルダー(9)_pages
dvipdfmx 新しいフォルダー(9)_pages

と書きましたが、正確には

ptex2pdf -l -u 新しいフォルダー(9)_pages

としていました。そして、改めて確認すると

ptex2pdf -l -u 新しいフォルダー(9)_pages

だと ok なのに、

uplatex 新しいフォルダー(9)_pages
dvipdfmx 新しいフォルダー(9)_pages

だとダメでした。不思議。

ダメなときは dvipdfmx で警告が出ています。
これが ptex2pdf 経由だと何故か ok になるのが不思議でなりません。

dvipdfmx:warning: Error locating image file "譁ー縺励>繝輔か繝ォ繝€繝シ(9).pdf"
dvipdfmx:warning: Could not find image resource...
dvipdfmx:warning: Interpreting special command epdf (pdf:) failed.
aminophen への返信

Re: pdfpagesで禁則文字を受け付ける方法

- 前田 一貴 の投稿
ptex2pdf.lua を読むと,

-- we are still here, so we found a file
-- make sure that on Windows/uptex we are using utf8 as command line encoding
if use_uptex == 1 then
  if os.type == 'windows' then
    os.setenv('command_line_encoding', 'utf8')
  end
end

というのがあるので,これが影響していそうな気がします.
前田 一貴 への返信

Re: pdfpagesで禁則文字を受け付ける方法

- aminophen の投稿
> os.setenv('command_line_encoding', 'utf8')

前田さん、ありがとうございます。
myu myo さんが最初に書いていらっしゃる

set COMMAND_LINE_ENCODING=utf8

と同じ処理を、ptex2pdf は勝手に行ってくれる、ということですね。
ptex2pdf の件は理解しました。

myu myo さんのところで失敗する理由はわかりません。
aminophen への返信

Re: pdfpagesで禁則文字を受け付ける方法

- KUROKI Yusuke の投稿
フォローアップありがとうございます.(お恥ずかしい限りです.これだから時たま脳をアップデートしないと…….)
myu myo への返信

Re: pdfpagesで禁則文字を受け付ける方法

- 飯島 徹 の投稿
>ptex2pdf -shell-escape -sjis-terminal test.tex

これを ptex2pdf に2つのオプション -shell-escape と -sjis-terminal を指定して test.tex をコンパイルするという意味で書かれているのであれば一度 ptex2pdf の使い方を調べた方がいいと思います
ptex2pdf の説明は TeXWik にあるのですぐに調べられるでしょうi