◀一般トップへ
  • 3582 [質問] 強調表示する単語の区切りについて
    • 3586 Re:[質問] 強調表示する単語の区切りについて
      • 3587 Re2:[質問] 強調表示する単語の区切りについて
        • 3588 Re3:[質問] 強調表示する単語の区切りについて
          • 3590 Re4:[質問] 強調表示する単語の区切りについて
    • 3591 [質問] 正規表現キーワード登録数の上限について
      • 3592 Re:[質問] 正規表現キーワード登録数の上限について
      • 3593 Re:[質問] 正規表現キーワード登録数の上限について
        • 3594 Re2:[質問] 正規表現キーワード登録数の上限について
          • 3595 Re3:[質問] 正規表現キーワード登録数の上限について
          • 3596 Re3:[質問] 正規表現キーワード登録数の上限について
            • 3597 [質問] 正規表現キーワードのインポートについて
              • 3598 Re:[質問] 正規表現キーワードのインポートについて
                • 3599 Re2:[質問] 正規表現キーワードのインポートについて
  • [3582] [質問] 強調表示する単語の区切りについて nissy 2004年01月14日 08:25

    現在サクラエディタを愛用いたしており、これからもぜひ使い続けたいと思っております。
    使っているうちに改善したい点が出てきまして、こちらで質問することを思い立った所存です。

    質問の内容は強調表示される単語の区切りについてです。
    具体的にはTeX用の強調表示を利用してソースの編集をする際に
    *登録単語(\で始まる文字列)の直後に「_」と「\」が続く場合
    *登録単語(\で始まる文字列)の直前に「\」以外の任意の文字列がある場合
    にも強調表示させたいというものです。

    現在でも
    *「f(x)\pi」や「\int^L_{\mu}」のように直前が「^]や「)」等の場合
    *直後が「^]や「(」等の場合
    には登録単語は強調表示されます。

    しかし、「\omega\pi」や「\int_{\mu}^E」のように
    *直後に「\」や「_」がある場合
    *直前にアルファベット等がある場合
    には強調表示されません。

    一般掲示板の過去ログ2002/10-12<2480>等を参照いたしました。
    その結果、正規表現の強調表示を利用すれば解決できるかと思っております。
    しかしながら、現在のところ私にはうまく設定できません。

    そこで、
    *正規表現による強調表示の方法
    *サンプルとなりそうなrkwファイル
    *その他の方法等
    ありましたらご教示ください。
    よろしくお願いします。
    • [3586] Re:[質問] 強調表示する単語の区切りについて loop 2004年01月15日 10:12

      TeXの知識は無いので何か的外れな事を言ってるかも知れませんが,強調させたい単語を単純に正規表現キーワードに登録すればいずれの場合も強調表示されると思います。
      • [3587] Re2:[質問] 強調表示する単語の区切りについて nissy 2004年01月15日 18:52

        ▼ loopさん
        > TeXの知識は無いので何か的外れな事を言ってるかも知れませんが,強調させたい単語を単純に正規表現キーワードに登録すればいずれの場合も強調表示されると思います。

        ご返信ありがとうございます。
        稚拙な説明だったことをお詫びいたします。
        申し訳ありません。

        正規表現キーワードに積分記号を表す「\int」を下のように登録します。
        /\\int/k
        その後も、
        \int_a^b
        のように直後に「_」がある場合には「\int」が強調表示されません。
        しかし、直後が「^」の場合
        \int^b_a
        は「\int」が強調表示されます。
        「\int_a^b」の場合も「\int」を強調表示するようにできないでしょうか。

        他にご説明した方が良いことなどありましたらご指摘ください。
        よろしくお願いします。
        • [3588] Re3:[質問] 強調表示する単語の区切りについて もか 2004年01月15日 20:06

          >正規表現キーワードに積分記号を表す「\int」を下のように登録します。
          >/\\int/k
          >それでも、やはり、編集中のファイルで
          >\int_{a}^{b}
          >のように、直後に「_」がある場合には強調表示されません。
          症状?からすると[強調キーワード]にて色分けされているようです。
          [正規表現キーワード]で色分けするときに、色指定を「正規表現キーワードn」(nは数字)にした場合は、
          カラータブの同じ名前の「色分け/表示」をONにしないと色分けされません。
          その辺を、確認してみてください。
          • [3590] Re4:[質問] 強調表示する単語の区切りについて nissy 2004年01月15日 21:23

            ▼ もかさん
            > >正規表現キーワードに積分記号を表す「\int」を下のように登録します。
            > >/\\int/k
            > >それでも、やはり、編集中のファイルで
            > >\int_{a}^{b}
            > >のように、直後に「_」がある場合には強調表示されません。
            > 症状?からすると[強調キーワード]にて色分けされているようです。
            > [正規表現キーワード]で色分けするときに、色指定を「正規表現キーワードn」(nは数字)にした場合は、
            > カラータブの同じ名前の「色分け/表示」をONにしないと色分けされません。
            > その辺を、確認してみてください。

            ご推察いただいた通り「太字」にはチェックを入れておきながら、「色分け/表示」をONにしていませんでした。
            自分の不注意でつまらない質問でお騒がせしてしまい申し訳ありません。
            お恥ずかしい限りです。

            これで、「\」から始まる自分で定義した任意のコマンドなどを色分けすることが出来ます。

            loop さん、もかさん、ご回答ありがとうございました。
    • [3591] [質問] 正規表現キーワード登録数の上限について nissy 2004年01月16日 09:49


      皆様のお陰で単語の区切りについては、正規表現キーワードにより解決することができました。

      そこで、LaTeXでよく使うコマンド(\intなど)を登録してみようと思いました。
      方法は正規表現キーワード用のrkwファイルを編集してインポートしようと思います。
      rkwファイルでは登録単語の指定に3桁の数字が使われています。
      しかし、実際にインポートしてみると、登録単語数が000~099の100個までになってしまいます。
      LaTeXで使われる単語を登録していくと100個では足りません。

      正規表現キーワード登録数の上限は増やすことは出来るでしょうか。

      便乗質問で申し訳ありませんが、お答えをお待ちしております。
      よろしくお願いします。
      • [3592] Re:[質問] 正規表現キーワード登録数の上限について (全略) 2004年01月16日 14:18

        TeXの事よく分かってないので間違いがあったらご容赦を

        こんな感じではだめなのでしょうか?
        /\\\w+/k


        また以下のような正規表現は
        /\\int/k
        /\\begin/k
        /\\end/k

        色指定が一緒なら
        /\\(int|begin|end)/k
        とか言う風にまとめちゃえば数は減ると思います
      • [3593] Re:[質問] 正規表現キーワード登録数の上限について loop 2004年01月16日 14:35

        (全略)?さんの様にすれば数は減ります。お試し下さい。
        ただちょっと見にくくなりますが。

        私の場合可能な限り()でまとめていますが,それでも足りません。常々もっと登録できたらいいなーと思っていました。
        あと関係ありませんが外部マクロももっと登録できたら嬉しいです。

        便乗要望で申し訳ありませんが,正規表現キーワードや外部マクロの登録数の上限をもっと増やすことはできないでしょうか?>開発者の方々
        • [3594] Re2:[質問] 正規表現キーワード登録数の上限について nissy 2004年01月16日 21:17

          ▼(全略)さん、loopさん
          ご回答いただきありがとうございました。
          参考にさせていただき、実際に試してみました。

          /\\\w+/k
          この方法ではLaTeXがデフォルトでコマンドと認識していないものも強調表示されますので、
          自分で定義したコマンドやコマンドのスペルミスのチェック用に加えるつもりです。
          その際、LaTeXは「_」をコマンド間の区切りの文字と認識するので、
          /\\[0-9a-zA-Z]+/k
          として、キーワードの最後に加えようと考えています。

          > 色指定が一緒なら
          > /\\(int|begin|end)/k
          > とか言う風にまとめちゃえば数は減ると思います
          登録数の問題はその方法で解決できそうです。
          ありがとうございます。
          ただ、その場合にはアルファベットなどの後ろに余計な文字列がある場合もその部分だけが強調表示されてしまいます。
          上の形で一致する単語の後ろに[0-9a-zA-Z]以外がある場合のみ強調表示するようにしたいのです。
          下の形で一致する単語の[^0-9a-zA-Z]の直前の部分までを強調表示する方法はないでしょうか。
          /\\\\(int|begin|end)[^0-9a-zA-Z]/k
          最初の書き込みのときに挙げた過去ログ2002/10-12<2480>にある「文字列の乗っ取り合い」のようなことが必要なのでしょうか。

          最初の質問にいただいたご回答への返信で単語の区切りの問題は解決したと申し上げたのですが、この点については解決していませんでした。
          「\int」を登録したときに、
          *「\int_a」や「\int 」(直後が[0-9a-zA-Z]以外の場合)は「\int」の部分だけを強調表示する
          *「\inter」や「\intel」(\intの直後が[0-9a-zA-Z]の場合)は「\int」の部分も含めて強調表示しないようにする
          というのが要望です。
          大変わかりにくくなってしまって申し訳ありません。


          また、500近くの単語を一つの括弧内に入れて登録することはできませんでした。
          実際に入力して調べた所、登録欄には「//k」を含めて99文字入力できます。
          そこで、各単語の正規表現が99文字に収まるようにrkwファイルを編集し、インポートを試みましたが、登録に失敗しました。
          直接登録欄に入力すれば、単語登録はできました。
          しかし残念ながら、強調表示は機能していないようでした。


          正規表現キーワードに対して、文字数等の制限があるのでしょうか。

          以上二点、答えやヒント等をご存知の方がいらっしゃいましたら、ご教示ください。
          よろしくお願いします。
          • [3595] Re3:[質問] 正規表現キーワード登録数の上限について (全略) 2004年01月17日 14:17

            ▼ nissyさん
            > > 色指定が一緒なら
            > > /\\(int|begin|end)/k
            > > とか言う風にまとめちゃえば数は減ると思います
            > 登録数の問題はその方法で解決できそうです。
            > ありがとうございます。
            > ただ、その場合にはアルファベットなどの後ろに余計な文字列がある場合もその部分だけが強調表示されてしまいます。
            > 上の形で一致する単語の後ろに[0-9a-zA-Z]以外がある場合のみ強調表示するようにしたいのです。
            > 下の形で一致する単語の[^0-9a-zA-Z]の直前の部分までを強調表示する方法はないでしょうか。
            > /\\\\(int|begin|end)[^0-9a-zA-Z]/k
            > 最初の書き込みのときに挙げた過去ログ2002/10-12<2480>にある「文字列の乗っ取り合い」のようなことが必要なのでしょうか。
            /\\(int|begin|end)(?![0-9a-zA-Z])/k でどうでしょう?

            後半の問題は分かりません、あしからず、、、
          • [3596] Re3:[質問] 正規表現キーワード登録数の上限について (全略) 2004年01月17日 16:08

            後者の問題解決できたので再度

            ▼ nissyさん
            > また、500近くの単語を一つの括弧内に入れて登録することはできませんでした。
            > 実際に入力して調べた所、登録欄には「//k」を含めて99文字入力できます。
            > そこで、各単語の正規表現が99文字に収まるようにrkwファイルを編集し、インポートを試みましたが、登録に失敗しました。
            > 直接登録欄に入力すれば、単語登録はできました。
            > しかし残念ながら、強調表示は機能していないようでした。
            >
            >
            > 正規表現キーワードに対して、文字数等の制限があるのでしょうか。
            正規表現エンジンの置き換え作業のあいまに該当の箇所が分かったのでついでに対応したものを置いておきます
            100文字 100パターンから1000文字 1000パターンまで拡張しておきました
            http://qwerty.s2.xrea.com/data/sakura_regup.lzh

            動作が遅くなったりメモリを多く喰うようになるかもなのでもし使うならその辺覚悟してお願いします
            • [3597] [質問] 正規表現キーワードのインポートについて nissy 2004年01月17日 18:29

              ▼ (全略)さん
              迅速かつ的確なご回答いただき誠に有難うございます。
              正規表現はまさにそれです。
              エディタの質問ではなく正規表現の質問になってしまいました。
              それにも係わらず、ご丁寧にお答えいただき本当に有難うございます。
              大変助かりました。
              その表現を使おうと思います。

              拡張実行ファイルまで作られてしまう仕事の速さは驚くばかりです。
              有難うございます。
              早速ダウンロードさせていただきました。
              これで、上限数についてほとんど気にせず単語登録ができます。


              そこで、rkwファイルを自分で作ってみました。
              サクラエディタパッケージ付属のTeXの強調キーワードに含まれるコマンド(\intなど)全て+αで作りました。
              http://members.at.infoseek.co.jp/nissy__/LaTeX2e.zip


              しかし、やはりインポートがうまくいきません。
              エキスポートで作ったものと同じ形式で作ったつもりなのですが、インポートされません。
              ところが、エキスポートファイルの「RxKey[008]=RK1,」部分をコピー&ペーストするとうまくインポートされました。

              上のファイルだと、[0000]~[0003}まではそのようにして書かれています。
              その為、私の環境だと[0000]~[0003}だけがインポートされます。
              この原因はどこにありますでしょうか。
              とりあえず、目下対処はできるのですが、もし原因をご存知でしたらお教えいただけないでしょうか。
              よろしくお願いいたします。


              *上のファイルについて間違いは既に修正したので、削除いたしました。
              *新たに修正したものをしばらく置いておきます。
              *http://members.at.infoseek.co.jp/nissy__/latex.zip
              • [3598] Re:[質問] 正規表現キーワードのインポートについて (全略) 2004年01月17日 20:00

                ▼ nissyさん
                > しかし、やはりインポートがうまくいきません。
                > エキスポートで作ったものと同じ形式で作ったつもりなのですが、インポートされません。
                > ところが、エキスポートファイルの「RxKey[008]=RK1,」部分をコピー&ペーストするとうまくインポートされました。
                行頭のRxKeyがRxkeyになってます
                • [3599] Re2:[質問] 正規表現キーワードのインポートについて nissy 2004年01月18日 08:28

                  ▼ (全略)さん
                  > ▼ nissyさん
                  > > しかし、やはりインポートがうまくいきません。
                  > > エキスポートで作ったものと同じ形式で作ったつもりなのですが、インポートされません。
                  > > ところが、エキスポートファイルの「RxKey[008]=RK1,」部分をコピー&ペーストするとうまくインポートされました。
                  > 行頭のRxKeyがRxkeyになってます
                  まったくの不注意でした。
                  本当にくだらない内容で質問して申し訳ありません。

                  これで全て解決しました。
                  サクラエディタは多機能で懐の深いソフトだと改めて実感いたしました。
                  お答えいただいた皆様本当にありがとうございました。


                  質問用に置いたファイルについては削除し、訂正したものをしばらく置いておくことにしました。