「インデントの深さでレベルを決める」でNo.09226
Iranoan さん 06/02/20 12:50
 
 秀丸担当さん今日は、Iranoan です。
 まず最初に、「インデントの深さでレベルを決める」はどの様なルールなの
でしょうか? *.hilight には
/<TreeWord>
/0000,0002,0000,00000000,00010553,"\\\\begin\\{([A-Za-z]+\\*?)\\}(?\\1)",""
/0001,0002,0000,00000000,00010553,"\\\\item\\[(([^\\]]|\\\\])+)\\](?\\1)",""
としてあり、
\begin{description}
  \item[1-1] \ %
  \begin{description}
    \item[2-1]
    \item[2-2]
    \item[2-3]
  \end{description}
  \item[1-2]
\end{description}
と合ったとき、\item[1-2] は \item[1-1] と同じレベルの 2 つ目として表示
されることを期待したのですが、そうなりません。
 こちらの環境は、Windows98+IE6.0+秀丸 Ver.6.00β1 です。

[ ]
RE:09226 「インデントの深さでレベルを決No.09295
秀丸担当 さん 06/02/21 18:42
 

> まず最初に、「インデントの深さでレベルを決める」はどの様なルールなの
>でしょうか? *.hilight には
>/<TreeWord>
>/0000,0002,0000,00000000,00010553,"\\\\begin\\{([A-Za-z]+\\*?)\\}(?\\1)",""
>/0001,0002,0000,00000000,00010553,"\\\\item\\[(([^\\]]|\\\\])+)\\](?\\1)",""
>としてあり、
>\begin{description}
>  \item[1-1] \ %
>  \begin{description}
>    \item[2-1]
>    \item[2-2]
>    \item[2-3]
>  \end{description}
>  \item[1-2]
>\end{description}
>と合ったとき、\item[1-2] は \item[1-1] と同じレベルの 2 つ目として表示
>されることを期待したのですが、そうなりません。

インデントが同じでも定義上のレベルが下になる場合は、表示上のレベルも下に
なるようになっています。
定義上のレベルを完全に無視してインデントだけにしたい場合は、高度な設定の
「1つ上のツリー定義と同じレベルとして定義」にしてみんな同じレベルの定義
とすることでできると思います。
難解ではありますが、難解であるが故に高度な設定なので、まあ仕方ないかと。

インデントが同じでもレベルが違えば、たとえばCのソースで switch をインデ
ントしないという好みでもインデントによる擬似的な入れ子状ツリー表示ができ
るようになっています。

func() {
    switch(){
    case:
    case:
        switch(){
        case:
        case:
        }
    }
    switch(){
    case:
    case:
    }
   
}

という感じのときでも、ツリーは以下のようにできます。

func
├switch
│├case
│└case
│ └switch
│  ├case
│  └case
└switch
 ├case
 └case




[ ]
RE:09295 「インデントの深さでレベルを決No.09301
Iranoan さん 06/02/21 22:54
 
 秀丸担当さん今日は、Iranoan です。
> 定義上のレベルを完全に無視してインデントだけにしたい場合は、高度な設定の
> 「1つ上のツリー定義と同じレベルとして定義」にしてみんな同じレベルの定義
> とすることでできると思います。
> 難解ではありますが、難解であるが故に高度な設定なので、まあ仕方ないかと。
 確かにこの設定で出来ました。ただ
> インデントが同じでも定義上のレベルが下になる場合は、表示上のレベルも下に
> なるようになっています。
の説明が理解できません。今回の場合、
     「1つ上のツリー定義と同じレベルとして定義」によって、レベルは同
    じでも、インデントの分だけ表示上のレベルも下にする事が出来る。
ということになっている気が...。結局、
> 「インデントの深さでレベルを決める」はどの様なルールなの
> でしょうか?
と「1 つ上のツリー定義と同じレベルとして定義」にしているのに、何故
\item が下のレベルになるのは、一体何が働いているからなのか? が解決して
いない(^^;。
 P.S この場で説明して頂かなくても、ヘルプに上手く記載して頂ければ幸い
です。

[ ]
RE:09301 「インデントの深さでレベルを決No.09310
秀丸担当 さん 06/02/22 10:37
 

>と「1 つ上のツリー定義と同じレベルとして定義」にしているのに、何故
>\item が下のレベルになるのは、一体何が働いているからなのか? が解決して
>いない(^^;。

ツリー定義が、

/<TreeWord>
/0000,0002,0000,00000000,00010553,"\\\\begin\\{([A-Za-z]+\\*?)\\}(?\\1)",""
/0000,0002,0000,00000000,00012553,"\\\\item\\[(([^\\]]|\\\\])+)\\](?\\1)",""


として、

\begin{description}
  \item[1-1] \ %
  \begin{description}
    \item[2-1]
    \item[2-2]
    \item[2-3]
  \end{description}
  \item[1-2]
\end{description}

というテキストで、以下ののうなツリーになると思うのですが、そうならないで
しょうか?

└description
 ├1-1
 ├description
 │├ 2-1
 │├ 2-2
 │└ 2-3
 └1-2


ヘルプにも、動作の説明を書かないといけないです。

[ ]
RE:09310 「インデントの深さでレベルを決No.09315
Iranoan さん 06/02/22 12:25
 
 秀丸担当さん今日は、Iranoan です。
> というテキストで、以下ののうなツリーになると思うのですが、そうならないで
> しょうか?
 そうなっています。ですから現状で希望の状態には出来たのですが、
> 結局、
> > 「インデントの深さでレベルを決める」はどの様なルールなの
> > でしょうか?
> と「1 つ上のツリー定義と同じレベルとして定義」にしているのに、何故
> \item が下のレベルになるのは、一体何が働いているからなのか? が解決して
> いない(^^;。
>  P.S この場で説明して頂かなくても、ヘルプに上手く記載して頂ければ幸い
> です。
ということです。

> ヘルプにも、動作の説明を書かないといけないです。
 よろしくお願いします。

[ ]