
次のようなタイトルを作成したいと思います。
_________________________________________________________________________________
| | | 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
。そうでない場合は、これら 2 つのうちの 1 つも折り返す必要があります。 - 垂直方向にどのように揃えるかは
Prefix
明確ではありません。私は中央揃えを選択しました(これはConTeXtで呼ばれます)Title
lohi
概念的には、最も簡単な方法はテーブルを使用することです。したがって、基本的なマクロは次のようになります。
\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
テーブルがページ境界の端まで拡張されていることを示すためだけのものです。