ConTeXt의 수평선과 여러 텍스트 요소를 사용한 멋진 제목/제목

ConTeXt의 수평선과 여러 텍스트 요소를 사용한 멋진 제목/제목

다음과 같은 제목을 만들고 싶습니다.

_________________________________________________________________________________
|                             |                                    | Sufix      |
| Prefix unwrapped (CAPS)     | Unwrapped title (Small Caps)       | wraped     |
|                             |                                    | as needed  |
=================================================================================
        Ba ba                                  Ba ba
•     Sub text 1     •   Sub text 2   •      Sub text 3       •    Sub text 4   •
          Ba                                Black Sheep

다음과 같아야 합니다.

  • 페이지가 가득 찼습니다
  • 색상(=)으로 밑줄이 그어져 있음
  • 위, 왼쪽, 오른쪽, 가운데(|, _)에 방해되는 부분이 없습니다.
  • 중앙 또는 상단 정렬되고 최적의 맞춤을 위해 조정되는 구분 문자(•)로 구분되는 하위 텍스트입니다.

지금까지 내가 한 일은 다음과 같습니다(제목/헤더의 첫 번째 부분).

\define[3]\TITLE{\midaligned{\framed[frame=off,align=middle,bottomframe=on,framecolor=blue]
                                {\inframed[frame=off]{{\tfa\WORD#1}: {\tfb\sc#2}}\inframed[frame=off]{{\tfa, #3}}}}}

그러나 이는 원하는 결과를 가져오지 않습니다.

어떻게 해야 하나요?

답변1

사양을 완전히 이해하지 못하므로 이에 대해 반복적으로 답변해 보겠습니다.

  • 너비가 Prefix + Title < \textwdith. 그렇지 않은 경우 이 둘 중 하나도 래핑해야 합니다.
  • 수직으로 정렬하는 방법 Prefix과 정렬 방법 이 명확하지 않습니다 . 저는 ConTeXt에서 Title호출되는 중간 정렬을 선택했습니다 .lohi

개념적으로 가장 간단한 방법은 TABLE을 사용하는 것입니다. 따라서 기본 매크로는 다음과 같습니다.

\define[3]\TITLE
  {\startTABLE[setups=table:title]
      \NC #1 \NC #2 \NC #3 \NC \NR
    \stopTABLE}

이제 우리가 해야 할 일은 table:title올바른 형식을 얻기 위한 설정을 정의하는 것뿐입니다. 이는 다음과 같이 수행할 수 있습니다.

\startsetups table:title
  \setupTABLE[each][each][frame=off,bottomframe=on,rulethickness=2bp]
  \setupTABLE[column][1][style=WORD, align=lohi]
  \setupTABLE[column][2][style=\sc,  align=lohi]
  \setupTABLE[column][3][align={hyphenated,tolerant}]
\stopsetups

그게 다야!

출력이 포함된 전체 코드는 다음과 같습니다.

\startsetups table:title
  \setupTABLE[each][each][frame=off,bottomframe=on,rulethickness=2bp]
  \setupTABLE[column][1][style=WORD, align=lohi]
  \setupTABLE[column][2][style=\sc,  align=lohi]
  \setupTABLE[column][3][align={hyphenated,tolerant}]
\stopsetups

\define[3]\TITLE
  {\startTABLE[setups=table:title]
      \NC #1 \NC #2 \NC #3 \NC \NR
    \stopTABLE}

\showframe % To visualize the page frame
\starttext

\TITLE{prefix}{Unwrapped title}{\dorecurse{5}{A very long text\space}}

\stoptext

이는

여기에 이미지 설명을 입력하세요

상단 프레임과 측면 프레임은 \showframe테이블이 페이지 경계의 가장자리까지 확장되었음을 보여주기 위한 것입니다.

관련 정보