月別アーカイブ: 2022年1月

月曜日連載! Microsoft Wordスタイル探索(49)インデントとタブの密な関係

前回((48)段落先頭行のインデント、タブの基本)は、タブ機能を使うと、字下げインデント、ぶら下げインデントと似たようなレイアウト指定ができることをお話しました。

今回はタブとインデントの関係をもう少し探索してみます。

まず、任意設定のタブ位置を次のように3文字毎に設定してみます。

任意設定のタブ位置を3文字毎にする

任意設定のタブ位置を3文字毎にする

そして、リボン「ホーム」の「インデントを増やす」コマンドでインデントを増やしてみます。すると、次の図のようにコマンドを一回クリックすると左インデント位置が任意設定の最初のタブ位置になります。そして、コマンドをクリックするごとに左インデント位置が任意設定の次のタブ位置に移動します。

インデントを増やすコマンドで左インデントが次のタブ位置に移動する

インデントを増やすコマンドで左インデントが次のタブ位置に移動する

タブ設定位置がインデントを増やすコマンドの左インデント位置として使われていることが分かります。

次は、ぶら下げインデントの場合です。まず、次のように任意設定のタブ位置を2文字毎に設定します。

任意設定のタブ位置を2,4,6,8文字に設定

任意設定のタブ位置を2,4,6,8文字に設定

次に、[Ctrl]+[T]キーを入力します。すると、次のようにぶら下げインデントが、最初の任意設定のタブ位置である2文字の位置になります。そして、[Ctrl]+[T]キーを入力するごとにぶら下げインデントの位置が深くなっていきます。

[Ctrl]+[T]でぶら下げインデントの位置が次の任意設定のタブ位置に移動する

[Ctrl]+[T]でぶら下げインデントの位置が次の任意設定のタブ位置に移動する

このようにインデント関係のコマンドとタブ設定位置には深い関係があることが分かりました。


【広告】
11月16日(火曜日)16時からの「ちょっと一息・アンテナハウスウェビナー」YouTubeのご案内。

Vol.1:Word文書をWebページにした例の紹介
Word文書を実際にWebページ(HTML)に変換した実例を紹介します。
Vol.2:Webページ構成要素別のWord編集例
Wordが持つ文書編集機能とWebページ作成時に必要となるHTMLタグがどのように対応しているかをご紹介します。
Vol.3:CSSによる、Webページのレイアウト
見栄えの良いWebページを作成するうえで必須のCSSについて、サンプルファイルを交えながら設定例をご紹介します。
Vol.4:Wordから上手にHTMLにする為の編集アドバイス
WordでWebページの原稿を作成するにあたり注意するべきポイントをご紹介します。


月曜日連載! Microsoft Wordスタイル探索
◆前回:(48)段落先頭行のインデント、タブの基本
シリーズ総目次


月曜日連載! Microsoft Wordスタイル探索(48)段落先頭行のインデント、タブの基本

第45回で説明した右インデントと左インデントは用紙の余白を規準にして段落全体の開始位置と終了位置を変更(設定)する機能です。

月曜日連載! Microsoft Wordスタイル探索 (45)インデント機能の基本

それに対して、段落の最初の行だけの開始位置を変更するインデントが字下げインデントとぶら下げインデントです。

一行目(先頭行)インデントの設定

一行目(先頭行)インデントの設定

次の図は字下げインデントとぶら下げインデントをそれぞれ1文字に設定した段落の例です。

字下げインデント、ぶら下げインデントの設定例

字下げインデント、ぶら下げインデントの設定例

字下げインデントは段落の始まりを分かりやすくするために使います。日本語のレイアウトでは段落の先頭を1文字字下げするのが一般的ですが、活字方式では行頭に空白文字を1文字置きます。Wordの段落でこのようなレイアウトをするときは段落の先頭に空白文字を入力しないで、字下げインデントを使う方が、いろいろと好都合です。

タブ
インデントと類似の機能にタブがあります。タブは行の中にタブ位置を設定しておき、タブ文字(タブキーで入力する文字)から始まる文字列の始まりをタブ位置に設定する機能です。タブ位置は「タブとリーダー」ダイアログを使って「既定のタブ位置」の変更、または任意の位置にタブ位置を設定できます。

任意に設定したタブ位置はルーラーに表示されます。次の図は2文字の位置にタブを設定した例です。

任意の位置にタブをタブの設定

任意の位置にタブを設定

段落の先頭で「タブ」を入力(Tabキーを押下)すると段落の先頭が2文字目から始まります。これは先頭行インデントと似ていますね。

段落の先頭にタブを入力

段落の先頭にタブを入力

「Ctrl」キーと「T」キーで、2行目以降をタブ位置に揃えることができます。これはぶら下げインデントに似ています。

段落の先頭で字下げのタブを入力

段落の先頭でぶら下げのタブを入力

このようにタブ機能を使うと、一見、字下げインデント、ぶら下げインデントと似たようなレイアウト指定ができます。


【広告】
11月16日(火曜日)16時からの「ちょっと一息・アンテナハウスウェビナー」YouTubeのご案内。

Vol.1:Word文書をWebページにした例の紹介
Word文書を実際にWebページ(HTML)に変換した実例を紹介します。
Vol.2:Webページ構成要素別のWord編集例
Wordが持つ文書編集機能とWebページ作成時に必要となるHTMLタグがどのように対応しているかをご紹介します。
Vol.3:CSSによる、Webページのレイアウト
見栄えの良いWebページを作成するうえで必須のCSSについて、サンプルファイルを交えながら設定例をご紹介します。
Vol.4:Wordから上手にHTMLにする為の編集アドバイス
WordでWebページの原稿を作成するにあたり注意するべきポイントをご紹介します。


月曜日連載! Microsoft Wordスタイル探索
◆前回:(47)本文領域の幅が文字数×文字サイズの値に一致しないときの余りの調整を探索
◆次回:(49)インデントとタブの密な関係
シリーズ総目次


e-na伊那谷 旅便り 第83回 二年参りと伊那スキーリゾート

明けましておめでとうございます。
年末年始は如何お過ごしでしたでしょうか。

長野県では「二年参り」を行う風習があります。
「二年参り」は初詣の一種で大晦日の夜から年明けにかけての初詣のことを「二年参り」と呼んでいます。
この風習により、年明けカウントダウンを行うような時間帯では神社に人が集まることが多く、
最寄りの神社などでは二年参りの際に知人と出会うことも珍しくありません。

今年は感染症予防を加味して、アンテナハウス伊那支店が所在する南箕輪村の神社に時間を早めてお参りしてきました。
南箕輪村役場の横に位置する八幡宮です。

お宮へ続く道からライトアップされていて神秘的な景観でした。(参拝者がいなかったこともあり)

破魔矢をお焚き上げして頂き、新しい破魔矢と家族分のお守りを授かって帰りました。
お守りには今年も家族が健康で過ごせるよう願いが詰まっています。

年末年始は運動不足になりがちなので、伊那スキーリゾートにいってウィンタースポーツで運動不足の解消です。
正直なところ白馬のゲレンデなどと比べるとコースは少なく距離も短いのですが、伊那市内から20分かからずにいけることが大きなメリットです。
中央道伊那インターからも近いですよ。

年始にいきましたが人も多く皆さん今年の初滑りを楽しんでいました。

久しぶりにスキーに挑戦しましたが、滑り方を忘れていて一度転んだまま動けませんでした・・
慣れているスノーボードに切り替えて(お守りの効果もあってか)怪我もなく楽しむことができました。

以上、「二年参り」「伊那スキーリゾート」についてお送りしました。
本年もどうぞ宜しくお願い致します。


『Office Open XML Formats入門 第2版』を制作しました

2021年12月07日 16:00~17:00 に「ちょっと一息アンテナハウスウェビナー『Office Open XML Formats入門 第2版』制作報告」を発表しました。販売、公開よりも発表が先になってしまったため、内容が気になっていた方もいらっしゃるのではないでしょうか。

こちらが表紙画像です。

Amazon POD用表紙画像

2021年12月07日ウェビナーのバナー

組版をAH XSL Formatter V7.2で行ったため、『AH Formatter XML関連出版物の紹介』ページに掲載しています。

Amazonの販売ページへのリンクは次の通りです。

https://www.amazon.co.jp/gp/product/4900552836

また、本書のPDF版は弊社オンラインショップからご購入いただけます。印刷版とレイアウトの微調整を行いました。

https://web.antenna.co.jp/shop/html/products/detail.php?product_id=1301

HTML版はOffice Servers資料室のページからご覧いただけます。


ウェビナー概要や書籍紹介ページにある通り、アンテナハウス『Office Open XML Formats入門』の初版は2007年に出版社から刊行されました。
今年は2021年、つまり14年程前の書籍の改訂版ということになります。
内容的な修正は必要とはいえ、以前の版の原稿をベースに新たな版を制作するというとき、XML原稿はほとんど変更が必要ありません。以前の版の構造に不満がある場合はその限りではありませんが。

一方で大規模な修正の余地があるのがXSLTでした。そしてウェビナー(と書籍の後書き)では、XSLTについてはかなり省いて説明することになったため、本記事ともう一度どこかで補足することにしたいと思います。

2007年というのは、XSL的にもそこそこ大きな節目でした。XSLT 2.0のW3C勧告です。XSL 1.1の勧告は2006年でしたが、実利用として熟れていないという点では二者とも同様です。XSLT 2.0以降はミスの発見やスクリプトの見通しにおいてXSLT 1.0とは別言語に近い体験をもたらします。msxmlのXSLTが1.0であることや各ウェブブラウザほか処理系の多くが1.0までしか対応していないことも手伝って、使える状況が限られるのは悩ましいところです。

変更の概略

今回は自社事例でしたので、初版で1.0だったXSLTを3.0に書き換えました(完全に3.0向けに最適化したとはとても言えませんが)。

書籍初版の制作報告にもあったように、XSL 1.1での大きなポイントにbookmarkのとindex関係の語彙が入ったことが挙げられます。『Office Open XML Formats入門』初版では、bookmarkについてはXSL Formatterの拡張仕様、索引についてはbasic-linkとXSLTによる力技による解決が図られていました。

(AH )XSL Formatterの拡張仕様では実際のフローコンテンツ登場箇所と同一の箇所に記述するため、処理においてXML中の章構造に当たったときに同時に処理すれば良いことになります。よってXSLT記述としてはbookmark-tree用に処理を追加するよりも単純に書けます。XSLT 1.0で書く場合は複数回ドキュメントを走査することが難しいということも手伝っていたのかもしれません。

索引構造については、XSL 1.1のindexを導入することで、XSLTで行わなければならなかった処理が簡略化されます。索引語に当たったときの処理で、「既に同じ索引語が登場しているか」「同じ索引語が同ページに登場したときにページ数表示を合一する」といった判別がXSLのプロパティで変更可能になるため、分岐処理などが大幅に簡略化できました。

割とアドホックな書き換えを行っていたり、徹底できていなかったりするため、引き継ぎをするにはリファクタリングが必至ですが、大体このようなことを行いました。

  • テンプレート中に直接書き込まれたattributeをattribute-setへまとめる
  • 共通処理をまとめる。
  • apply-templatesを含まないような分岐は名前付きテンプレートへ追いだし、パラメータを渡すようにする
  • XPathによる値の取得はできるだけテンプレートの先頭でまとめ、利用箇所ではselect="$value"のように呼び出すだけにする

先に書いた通り徹底はできておらず、私自身も、テンプレート中で直接attributeを指定しているような箇所をかなり生み出してしまいました。とはいえ、ギリギリの時期に「ヘッダーの位置をもう少し下げて」といった指示に1行の変更だけで対応できるようにはできたので、無駄ではなかったと思います。

実は上に挙げたものはXSLT 1.0時点でも時間さえあれば行える変更で、3.0への変更には関係ありません。値のみを取得、操作したい箇所をfunction化したり、処理をreplace()関数に書き換えたりといった作業は2.0から行えます。3.0としては関数の括弧が入れ子ではなくarrowを使えたり、文字列結合に「||」を使えるといった枝葉の変更点を使用しています。

参考資料