10 返信 最新の回答 日時: May 30, 2016 12:41 AM ユーザー:anthin-anthin

    行末に置きたくない文字を自動的に送る方法はないでしょうか

    anthin-anthin Level 1

      Windows7でCS6を使用しています。

      質問です。
      縦書きの学術書籍を組んでいますが、文中に注番号を文字スタイル設定(上付き文字)で入れています。
      これがたびたび行末にきてしまうことがあるのですが、行末には置きたくないので、自動的に次行に送るようなことをできないでしょうか。

        • 1. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
          monokano Most Valuable Participant

          具体的にどうなっているのかイメージができませんので、「文中に注番号が行末にきてしまう状況」をダミーテキストで再現して、スクリーンショット画像を投稿するといいのではないでしょうか。

          • 2. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
            anthin-anthin Level 1

            monokanoさま。コメントありがとうございます。
            確かに仰るとおりです。サンプルを作ってみました。

            下の画像で2行目と5行目の一番下に(3)と(7)の注番号があります。この(3)は「三時」の注番号、(7)は「素足の裏」の注番号ですので、次の文字と分割したくないわけなのです。
            つまり、このように注番号(文字スタイルで「注番号」と指定してある)が行末に来た場合には、次の行の上部に送ってしまうような処理を自動でできないかなと思ったのです。おわかり頂けるでしょ うか。

            sample.jpg

            • 3. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
              monokano Most Valuable Participant

              状況がとてもよく分かりました。

              「次行へ送る」には、文字パネルメニュー「分割禁止」を利用します。分割禁止は自動改行で途中で改行(分割)されないようにする機能です。例えば、

               

              (3)三

               

              この4文字に分割禁止ONを設定すれば、途中で自動改行されなくなり、4文字ごと次行へ追い出されます。

               

              これを自動的にするには、正規表現スタイルを使います。

              1. 「分割禁止」だけチェックONにした文字スタイルを作る
              2. 正規表現スタイルで、以下のように設定する
                • スタイルを適用:(上記で作った文字スタイル)
                • テキスト:(\d+?).

              「テキスト:」は『全角括弧起こし+数字1個以上+全角括弧受け+改行以外の文字1個』にマッチします。全部で7文字あります。小さなピリオドもしっかり入れてください。

               

              すでに適用されている文字スタイル「注番号」はそのままちゃんと生きます(ここが正規表現スタイルの良いところ)。

              • 4. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
                Subi Omu Most Valuable Participant

                monokanoさんの解決方法と同じ方法を書き込もうとしておりましたが、ひとつだけ。

                 

                注番号を上付き文字でいれている、ということは、カッコつきの記号の数字⑴⑵⑶をお使いのように思われます。

                その場合は、monokanoさんの正規表現スタイルのテキスト設定を

                テキスト:[\x{2474}-\x{2487}].

                にすると分割禁止が適用されます。

                • 5. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
                  anthin-anthin Level 1

                  monokanoさん、Subi Omuさん、ありがとうございます。

                  まず、注番号はSubi Omuさんのおっしゃるとおり、1~20までは括弧付き数字を使っており、また21~50までは丸付き数字をつかって字形変更しています。51~はuniコードにもないので、monokan oさんのおっしゃるような形で表記をしています。

                   

                  いったん、これでできると思ったのですが、注番号は既に「上付き文字にするという文字スタイル」に設定されています。したがって、分割禁止という文字スタイルを作って、正規表現の検索で、検索 結果に「分割禁止スタイル」を適用してしまうと、注番号が上付き文字ではなくなってしまいます。

                  上付き文字スタイルに分割禁止チェックを入れておいても、注番号の次の文字も上付き文字になってしまいます。


                  それで、現在、注番号にセットしている文字スタイルを、スタイルではなく、個々の設定で上付き文字になるよう一括変換しておき、それから改めて正規表現でお二人のおっしゃるとおりの「分割禁止 」スタイルにしていくしかなさそうです。

                   

                  ここまで書きながら検証しておりましたが、やはりこの方法では完全な解決ではないことがわかりました。
                  というのは、注番号を上付き文字にするというスタイルだけではなく、その次の文字にも何らかの文字スタイルが設定されている場合があったからです。

                   

                  というわけで、一筋縄ではいきません。

                  • 6. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
                    monokano Most Valuable Participant

                    検索置換パネルの正規表現ではありません。「正規表現スタイル」です。これなら既に適用している文字スタイルも生きます。

                    No.07 正規表現スタイル | InDesign CS4 | InDesignの勉強部屋

                    • 7. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
                      Subi Omu Most Valuable Participant

                      分割禁止の文字スタイルを作り、それを正規表現置換検索で適用すると勘違いしていませんか?

                      ものかのさんの提案されている「正規表現スタイル」は、段落スタイルの設定です。

                      注番号やその次の文字に設定されている文字スタイルはそのまま生きますよ。

                      キャプチャ05301158.PNG

                      • 8. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
                        anthin-anthin Level 1

                        おっしゃるとおり、勘違いしておりました。
                        「正規表現スタイル」について、まったく知らない機能でした。

                        monokanoさま、Subi Omuさま、ありがとうございました。やってみたところ、うまくいきました。

                        助かりました。ありがとうございます。

                         

                        ただ、それ以降、文字列検索が異常に遅くなってしまいました。

                        これはなんともしがたいくらい。どの環境でも同じ現象が起きるのでしょうか。

                        • 9. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
                          Subi Omu Most Valuable Participant

                          正規表現スタイルは処理が重くなる機能ですね。

                          ただ、今回程度の設定ひとつ程度でそれほど重くなるということはよほど文字の多いファイルを処理する場合だけでしょう。

                          私は段落スタイルに正規表現スタイルを使う仕事の場合、一冊分の本文を1ファイルで作業すると動作が遅いので、章ごとにファイルを分けるなどしています。

                          • 10. Re: 行末に置きたくない文字を自動的に送る方法はないでしょうか
                            anthin-anthin Level 1

                            やはり正規表現スタイルは処理が遅くなるんですね。段落スタイルで段組をしたときも遅くなるのですが。
                            実は、今あつかっているファイル、1000頁を超えています。一括で処理したいことがあるので、1ファイルで扱っていますが、章ごとにわける方が実際にはいいようですね。
                            本当にありがとうございました。