색 구성표를 조정하세요

색 구성표를 조정하세요

현재 섹션 명령은 파란색으로 표시됩니다(Monokai 테마 사용). 효과와 유사하게 Sublime Text 3에서 열 때 소스 코드의 섹션화 명령에 더 강조를 추가하고 싶습니다.Emacs 답변에 설명되어 있습니다..

플러그인을 설치 PackageResourceViewer하고 리소스를 열었습니다 LaTeX.sublime-syntax. 알겠어요:

  sections:
    - match: |-
        (?x)
        (
          (\\)
          (?:
            (?:sub){0,2}section
            | (?:sub)?paragraph
            | chapter|part|addpart
            | addchap|addsec|minisec
          )
          (?:\*)?
        )
        (?:
          (\[)([^\[]*?)(\])               # optional Title
        )?
        (\{)
      captures:
        1: support.function.section.latex
        2: punctuation.definition.backslash.latex
        3: punctuation.definition.group.brace.begin.latex
        4: entity.name.section.latex
        5: punctuation.definition.group.brace.end.latex
        6: punctuation.definition.group.brace.begin.latex
      push:
        - meta_scope: meta.section.latex
        - meta_content_scope: entity.name.section.latex
        - match: '\}'
          scope: punctuation.definition.group.brace.end.latex
          pop: true
        - include: main

하지만 어떻게 진행해야 할지 모르겠습니다.

답변1

개요

Sublime Text 스타일 파일은 의미론적 의미와 실제 렌더링을 분리하는 방식입니다. 이는 LaTeX와 유사합니다. 매우 간단한 예를 들어 \section{...}실제 렌더링과 비교하여 의도를 나타내는 명령이 있습니다 .\textbf{\huge ...}

.sublime-syntax 첨부만 하면 됩니다의미론적문서의 일부("이것은 섹션입니다")를 의미하는 반면, 화면에 내용을 렌더링하는 방법("굵게 표시됨")을 결정하는 작업은 색 구성표 .tmThemes파일에 속합니다. (물론 실제로는 그렇게 깨끗하지 않으며 .sublime-syntax파일에서 두 가지가 혼합된 것을 볼 수 있습니다. 완벽한 세상에서는 이런 일이 일어나지 않을 것입니다.)

따라서 두 가지 옵션이 있습니다.

  • 굵은 부분을 얻기 위해 \section{...}의 모든 인스턴스를 바꾸는 것과 유사하게 구문 파일을 조정합니다 . \textbf{\huge ...}권장되지는 않지만 여기서 수행할 수 있는 방법에 대해 이야기하겠습니다.

  • 색상 구성표 파일을 조정합니다.정의섹션을 대담 하게 \section만듭니다.

구문을 조정하세요

여기서는 관련 부분을 간단히 LaTeX.sublime-syntax다음과 같이 변경합니다 markup.bold.latex(참조:이것Sublime Text의 범위 이름에 대한 토론 링크). 변경된 줄은 # ...그 뒤에 주석이 있는 줄입니다 .

sections:
  - match: |-
      (?x)
      (
        (\\)
        (?:
          (?:sub){0,2}section
          | (?:sub)?paragraph
          | chapter|part|addpart
          | addchap|addsec|minisec
        )
        (?:\*)?
      )
      (?:
        (\[)([^\[]*?)(\])
      )?
      (\{)
    captures:
      1: support.function.section.latex
      2: punctuation.definition.backslash.latex
      3: punctuation.definition.group.brace.begin.latex
      4: entity.name.section.latex markup.bold.latex  # this is for the reference [...]
      5: punctuation.definition.group.brace.end.latex
      6: punctuation.definition.group.brace.begin.latex
    push:
      - meta_scope: meta.section.latex
      - meta_content_scope: entity.name.section.latex markup.bold.latex  # this is for the title {...}
      - match: '\}'
        scope: punctuation.definition.group.brace.end.latex
        pop: true
      - include: main

entity.name.section.latex(나는 사물이 그것에 의존하는 경우를 대비해 이전 범위를 유지했지만 , markup.bold.latex그 뒤에 붙이는 것은 굵은 글씨가 그것보다 우선한다는 것을 의미합니다.)

결과는 다양한 색 구성표에 따라 다를 수 있습니다. 예를 들어 일부는 무슨 markup.bold뜻인지 이해하지 못합니다. Monokai를 언급했는데 기본 버전은 을 처리하지 않지만 markup.bold예를 들어모노카이 확장이해합니다.

색 구성표를 조정하세요

다른 옵션은 색 구성표 자체를 조정하는 것입니다. Sublime Text의 색 구성표는 .tmTheme파일, 기본적으로 xml 파일입니다. 그들은 이런 종류의 구조를 가지고 있습니다:

... (preamble stuff)
<plist version="1.0">
<dict>
  <key>name</key> <string>Colour Scheme Name</string>
  <key>settings</key>
  <array>

    <dict>
      <key>settings</key> <dict> ... (general settings) </dict>
    </dict>

    <dict>
      <key>name</key> <string>First Scope Name</string>
      <key>scope</key> <string>first.scope</string>
      <key>settings</key> <dict> ... </dict>
    </dict>

    ...

    <dict>
      <key>name</key> <string>Last Scope Name</string>
      <key>scope</key> <string>last.scope</string>
      <key>settings</key> <dict> ... </dict>
    </dict>

  </array>
</dict>
</plist>

기본값의 내용을 살펴보면 Monokai.tmTheme관련 부분은 다음 항목입니다 array.

<dict>
  <key>name</key>
  <string>Entity name</string>
  <key>scope</key>
  <string>entity.name - (entity.name.filename | entity.name.section | entity.name.tag | entity.name.label)</string>
  <key>settings</key>
  <dict>
    <key>fontStyle</key>
    <string></string>
    <key>foreground</key>
    <string>#A6E22E</string>
  </dict>
</dict>

이것이 우리 entity.name.section.latex스코프가 얻는 스타일을 제어하는 ​​것입니다. 우리가 할 수 있는 일은 특별히 LaTeX 섹션을 대상으로 하는 새로운 규칙을 추가하는 것입니다.

<dict>
  <key>name</key>
  <string>LaTeX section entity name</string>
  <key>scope</key>
  <string>entity.name.section.latex</string>
  <key>settings</key>
  <dict>
    <key>fontStyle</key>
    <string>bold</string>
    <key>foreground</key>
    <string>#A6E22E</string>
  </dict>
</dict>

여기서는 순서가 중요한지 잘 모르겠습니다. 안전을 위해 목록에 넣겠습니다 <array> ... </array>.~ 전에"엔티티 이름" 항목입니다. 또한 글꼴 크기를 변경할 수 있는지도 모르겠습니다. 그 경우~할 수 있다그렇다면 이곳이 분명히 그 일을 할 수 있는 장소일 것입니다.

관련 정보