groff_msを使った手紙

groff_msを使った手紙

マンページの説明には次のようにgroff_ms書かれています。

The ms macros are suitable for reports, letters, books, and technical documentation.

ただし、テキスト(この場合は2番目のアドレス)を右揃えにするコマンドは表示されません。

.LP
Jane Doe
.br
Somewhere

.LP
John Doe
.br
Somewhere

.PP
Dear Jane,
.PP
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

ベストアンサー1

msマクロに見せるパディングのないラインセットなので、各入力ラインは出力ラインであり、すべて特定の量だけインデントまたは右揃えできます。インデント12cm:

.DS I 12c
John Doe
Somewhere
Else
.DE

これにより、テキストの右端が揃えられます。

.DS R
John Doe
Somewhere
Else
.DE

テキストをインデントするか、テキストの右側を用紙の右端に合わせる基本的な troff コマンドもあります。最も簡単な.in X場所では、.in以前のインデントを復元するXなしで他のインデントと連携します。たとえば、

.in 12c
 John Doe
 Somewhere
 Else
.in

各テキスト行はスペースで始まります。これにより、新しい出力ラインが強制的に生成されるため、そうする必要はありません.br(ただし、出力からスペースを確保します)。別のアプローチは、require "no padding"を使用することです.nf。これにより、各入力行が出力行になります。以下を使用して塗りつぶしモードに戻ることができます.fi

.in 12c
.nf
John Doe
Somewhere
Else
.fi
.in

上記は左からインデントされたブロックを提供します。実際にテキストの右側をまったく同じに揃えるには、.ad r右揃え要求(塗りつぶしモードでのみ使用可能)を使用し、Normalを返して.ad b両方を調整する必要があります。

.ad r
 John Doe
 Somewhere
 Else
.br
.ad b

最後に、素早く中央揃えまたは右揃えの一般的な手法は、.tl「left'center'right」という3つの部分からなる文字列でtitleコマンドを使用することです。正しい部品を提供すると、正しい調整ラインが得られます。

.tl '''John Doe'
.tl '''Somewhere'
.tl '''Else'

おすすめ記事