長南洋一
cyoic****@maple*****
2013年 4月 1日 (月) 17:17:24 JST
長南です。 元木さんのメールより [JM:00851] > > この部分は、つい最近、私も読んで分かりにくいなあ、というより頭に入って > 来なくて、英語の方を読んでしまいました。分かりにくくなっているのは、 > 引き数が initial-arguments の方と xargs のコマンドの引き数の両方に > 登場するからだと思います。 今日読み直してみたのですが、わたしが戸惑いを感じたのは、前半ではなく、 むしろ「なお、空白は ...」以下の後半でした。「空白って何の空白だろう」 と。こちらは、どうでしたか。 英語原文の方がわかりやすかったろうと思います。それは、英語で読んで いると、initial-arguments の initial の意味を意識するからだと思います (それに、initial-arguments が何かをすでに御存じだったでしょうし)。 日本語で読んでいる場合は (補足部分がない場合を想像してみてください)、 initial-arguments が唐突ですし、initial の意味をあまり意識しないで しょうから、とてもわかりにくくなります。それで、訳文に補足説明をどう 組み込むかという問題になるのだと思います。 原文: Replace occurrences of replace-str in the initial-arguments with names read from standard input. Also, unquoted blanks do not terminate input items; instead the separator is the newline character. Implies -x and -L 1. わたしの訳: xargs が実行するコマンドに対してユーザが引き数 (すなわち initial- arguments) を指定したとき、その initial-arguments 中にある replace-str の部分すべてを、標準入力から読み込んだ名前で置き換 える。 # 「部分をすべて、標準入力から」にした方がよかったかもしれません。 # 「すべて、」と副詞に点を付けるのが嫌だったのです。点なしでは # 読みにくい気がしましたし。 元木さんの案: xargs が実行するコマンドの引き数 (initial-arguments) に含まれる replace-str を全て標準入力から読み込んだ名前で置き換える。 元木さんの別案: xargs が実行するコマンドの引き数 (initial-arguments) に replace-str が 含まれていれば、replace-str の部分を全て、標準入力から読み込んだ名前で 置き換える。 わたし自身、元木さんのような訳し方も考えた記憶があります。使わなかった のは、確か、曖昧になるのを心配したからだと思います。つまり、xargs が 実行するコマンドは、標準入力から来る項目群を引き数にする、というのが 基本でしょう。そして、initial-arguments を指定すると、それがコマンドの 「最初」の引き数として、そうした項目の前に置かれる (もちろん、-I の 場合は、すこし違いますが)。それで、「xargs が実行するコマンドの引き数 (initial-arguments) に」とは、言いにくかったのだと思います。コマンドの 引き数には、initial-arguments もあれば、標準入力から来る項目群もあるの ですから。言い換えれば、「initial-arguments はユーザが指定する引き数だ」 と、はっきり言わないと、落ち着かなかったということです。くどい訳になる のは承知していましたが。 でも、訳しているときに、わたしがそう考えた、というよりは、そう感じた ということにすぎません。元木さんの案のような形でも、誤解や曖昧さは ないでしょうか。なければ、元木さんの案は、よい訳だと思います。 わたしは、「全て」を「すべて」と書くのが習慣ですけれど。 ついでに。雑談に近いのですが。 >> 流儀というよりも、長い行でも groff がちゃんと整形してくれるか心配だ >> ということだと思います。今では、どんなに長くても大丈夫なんですか。 >> たとえば、改行なしで何十行も続くとか。 > 1000文字くらいで1行というのはやったことはありますが、特に問題はなかった > と思います。自動変換をしている以上、 HTML の見映えはある程度犠牲にせざる > を得ないと思います。 > man2html は基本的に触りたくありませんし、文書の方で対処するにも限界が > ありそうです。 > > 個人的には、Editor で直接編集する場合は、一行が長いと、 > 一文字書く度に他の行も動いてしまって気になる、というのが改行する大きな > モチベーションですね。 それはありますね。それから、後で改訂をしてくださる方のことを考えて、 一行の長さを適当にしておくとか。grep で検索するときの便宜を考えるとか。 > groff って行の長さに前提をおいているのでしょうか。 > 無限長を扱えることになっていて、動かないなら groff のバグのような気もします。 > それによって、 manpage が表示されなくなっては元も子もないので、ガードを > かけるのは構わないと思いますが。 昔の入門書などには、「一行は何字くらいに」と書いてあったような気がします。 どんな根拠があったのかは知りませんが。 groff にしろ texinfo にしろ (Tex は知りませんが)、ホワイトスペースを 目安にして、行の整形をやっているようです。ですから、改行も空白もない 日本語のテキストの整形は、苦手なんじゃないかという気がするのです。 -- 長南洋一