電子帳簿保存法・電子取引データ保存で目にあまる迷走を続ける財務省

先日は、「DX時代に逆行する電子帳簿保存法は、そろそろ、いさぎよく廃止するべきではないでしょうか?」と主張しました。この記事をお読みになっても、なぜ廃止するべきと主張するのか理解できないかもしれません。

そこで、今回は電子取引データ保存を例として、財務省の迷走をご紹介します。

例えば、アマゾンや楽天などのECサイトで、会社で使う物品を購入したとします。そうすると請求書または領収書をPDF形式で入手して、それによって経理処理をすることになるでしょう。

このPDF形式の証憑は電子帳簿保存法で保存義務が課せられます。該当する条文は、当初は第10条でしたが、2021年3月に電子帳簿保存法が改定されてからは第7条となります。

第10条は次のようになっていました。

第十条 所得税(源泉徴収に係る所得税を除く。)及び法人税に係る保存義務者は、電子取引を行った場合には、財務省令で定めるところにより、当該電子取引の取引情報に係る電磁的記録を保存しなければならない。ただし、財務省令で定めるところにより、当該電磁的記録を出力することにより作成した書面又は電子計算機出力マイクロフィルムを保存する場合は、この限りでない。

つまり、PDFを出力した書面を保存すればよく、デジタルデータは保存する必要はなかったのです。ところが、2021年3月改正の第7条では次のようになりました。

第七条 所得税(源泉徴収に係る所得税を除く。)及び法人税に係る保存義務者は、電子取引を行った場合には、財務省令で定めるところにより、当該電子取引の取引情報に係る電磁的記録を保存しなければならない。

そして、財務省令で保存のための要件が定められ、2022年1月より施行するとされていました。つまり、2022年1月からは書面にプリントして保存するのではなく、財務省令の要件を満たした上で、デジタルデータのまま保存しなければならないことになったわけです。

こうした状況を予想して、アンテナハウスは、2021年春から財務省令で定める要件を満たす電子取引データ保存専用の製品開発に急いで取り組みました。これは『電子取引Save』という製品名で2021年秋から発売するとともに、2022年1月から『電子取引Save』を用いて、自社でも電子取引データ保存を運用することとしました。

『電子取引Save』のWebページ
『電子取引Save』発売のお知らせ

ところが、2021年秋の税制改正大綱策定で雲行きが怪しくなりはじめました。そして最終的には2021年12月27日に財務省令が改定され、2022年1月から2024年12月31日まで次のような宥恕措置が施行されることとなりました。

電子取引データの出力書面等による保存措置の廃止(令和3年度税制改正)に関する宥恕措置について(財務省のWebページへのリンク)

一言でいえば、間に合わない事業者が多いので引き続き書面による保存を可能にするということです。

こうして、折角、新製品を開発してリリースしたにも関わらず、肝心かなめの財務省が腰砕け、真面目に取り組んだ国民は梯子を外されたということになりました。でも間に合わないというのは言い訳に過ぎないのです。実際に弊社は2022年1月より『電子取引Save』を使って電子取引データを保存しているわけですから。

こうして財務省の方針が一転してから約2年、2023年12月で宥恕措置の期限が切れることになります。さて次回は2022年から2023年の経過で迷走の第2幕、2024年1月からの保存がどうなるかをみたいと考えています。

参考資料)
見積書、注文書、請求書、領収書をPDFとして作成し、Webダウンロード配信や電子メールによる送受信をしたときの保存義務について(更新日: 2021/11/3)

前回:DX時代に逆行する電子帳簿保存法は、そろそろ、いさぎよく廃止するべきではないでしょうか?
次回:電子取引データの保存、宥恕措置終了後の2024年(令和6年)1月1日からはどうなる?

関連記事




瞬簡PDF 作成 2024
ドラッグ&ドロップでPDF作成


HTML on Word
WebページをWordで作る!

DX時代に逆行する電子帳簿保存法は、そろそろ、いさぎよく廃止するべきではないでしょうか? 

法人税法などの国税関連法では、企業は決算に影響を与える証憑書類を、決算申告時点から7年(必要に応じて10年)保存することが義務付けられています。これは、会社を経営する人や、税理士なら皆知っていることなので、いまさら話題にもなりません。

取引の証憑が書面(紙)である場合は、会社から取引相手に発行した請求書や、取引相手から送られてきて支払いに使った請求書や領収書などは決算処理を行った後、整理して段ボールなどに入れて倉庫保存しておくのが普通です。一旦、倉庫にいれてしまえば、後日、取り出してみることはほとんどありません。何年かに一回、『税務署から調査にいくので用意しておいてください。』といった連絡があると、倉庫から送ってもらい、税務調査に備えるくらいです。

ところが、これらの証憑書類をPDFなどのデジタルデータにしたとたんに、「電子帳簿保存法」という法律の対象となってきます。そのため保存のための要件がいきなり厳しくなってしまうのですね。

電子帳簿保存法は1998年(平成10年)に初めて制定された法律で「電子計算機を使用して作成する国税関係帳簿書類の保存方法等の特例に関する法律」というタイトルが付いています。

電子帳簿保存法では、①始めからコンピュータを使ってデジタルで作成した証憑のデータの保存、②書面(紙)で作成された証憑をスキャナなどでデジタル化したデータを書面に代えてデジタルで保存する、③インターネットなどでデジタルでやり取りした取引データをデジタルで保存するための要件を定めています。

詳しい内容は省きますが、電子帳簿保存法があるために、弊社のような中小企業では書面で作成してやり取りした証憑よりも、デジタルデータとしてやりとりしたデータを(要件を満たすように)保存する方が、保存に手間とコストがかかってしまうことになっています。

これは取引先が多岐にわたるため、書面とデータが混在してしまっていることもかなり大きな原因です。

最近では、電子帳簿保存法を最初に制定するときに、コンピュータを使って作成した国税関係帳簿書類の保存を「特例」として扱ってしまったことが根本的に誤っていたのではないかと考えています。つまり、書面とデジタルデータを、記載された内容が同じであれば同等のものとして扱うとしないで、書面とデジタルという内容を表現する媒体によって保存時の扱いが別になる・区別したということが問題ではないかということです。

振り返ってみると、1998年といえば、コンピュータがビジネスインフラとして欠かせなくなっていて、コンピュータで証憑の為のデータを作成するのが当たり前となり、インターネットもPDFも使われ始めていた時期です。そういう時に、コンピュータのデジタルデータを特例扱いする法律として制定された、というあたり、電子帳簿保存法は、未来が見えていない、どうしようもなく行き詰っているという印象を禁じえません。

次回:電子帳簿保存法・電子取引データ保存で目にあまる迷走を続ける財務省

関連記事




瞬簡PDF 編集 2024
かんたん操作でPDFを自由自在に編集


アウトライナー
PDFを解析して しおり・目次を自動生成

[CSS組版]ページ番号のリセット

今回紹介するのは「表紙を同一のHTMLから生成するとき、
表紙のページ番号はカウントしたくない」という要望の実現についてです。誤りがあれば、ご指摘いただければ幸いです。

組版にはAntenna House CSS Formatter V7.3MR1を利用しています。スクリーンショット画像の、ページ番号以外の本文内容について画像によって差異がありますが、記事を作りながら都度組版をしていたためで、本題には支障ありません。

CSSページ組版でページ番号を参照するには、content: counter(page)と指定します。

リセット未指定でのページ番号カウントを見てみましょう。

@page {
    size: JIS-B5 portrait;
    margin: 2cm;
    @bottom-center {
        content: counter(page);
        font-size: 24pt;
        font-variant: oldstyle-nums;
    }
}

@pageルールで全体のページレイアウトを設定しています。@bottom-centerでページ番号を表示するように指定していますね。

1枚目のページに「1」、2枚目のページに「2」が振られています。

pageカウンタをリセット

1枚目を表紙ページとして、2枚目のページに「1」が振られるようにしてみましょう。

ところでCSSのカウンタはページ組版に限らない汎用的な仕組みです。pageはページ組版のとき、定義済みのカウンタ名として存在している状態です。
つまり、カウンタリセットの仕組みを使うことで、ページ番号についてもリセットが可能です。

... {
      counter-reset: page 1;
     }

できることが分かったところで、次の問題、すなわち「どのセレクタ(要素・ルール)にリセットを記述するか」に移ります。

今回は「表紙ページ」と「それ以外のページ」という分け方ができます。「表紙用のページレイアウト」、
「本文用のページレイアウト」が用意できると嬉しいわけです。@pageルールでは、そういう処理が書けます。

@page {...}
@page mainmatter {
  counter-reset: page 1;     
}
#cover {
    break-after: always;  
}
div#mainmatter {
    page: mainmatter;
}
<div id="cover">
    <h1>[CSS組版]ページ番号のリセット</h1>
    <p>今回紹介するのは...</p>
</div>
<div id="mainmatter">
    <p>CSSページ組版でページ番号を参照するには、...</p>
</div>

上手くいった……と油断するのはまだ早いです。このままでは、@page mainmatterの対象ページが切り換わる度にpageは1にリセットされるのです。

リセット対象のページを追加で条件付けすることで解決できます。@page mainmatter:firstを追加することで、「mainamtterページレイアウトが使用される最初のページでpageを1にリセットする」という処理になります。

 @page mainmatter:first {
    counter-reset: page 1;     
}

期待する出力になりました。

表紙のページレイアウトからページ番号を削除する

ついでに、表紙ページからはページ番号表示を外しておきます。

@page cover {
    @bottom-center {
        /*bottom-centerのコンテンツを上書き*/
        content:"";
    }
}
#cover {
    /*coverページレイアウトを適用*/
    page: cover;
    break-after:always;
}

参考




瞬簡PDF 編集 2024
かんたん操作でPDFを自由自在に編集


瞬簡PDF 統合版 2024
アンテナハウスPDFソフトの統合製品!

目次 vs しおり vs アウトラインの微妙な関係

ここでは、「目次」と「しおり」と「アウトライン」という長文文書のパブリッシングに重要な機能について考えてみます。

目次」とは、冊子本などの最初の方にある、あのページです。「目次」といえば、だれでもイメージが湧くのではないかという位ポピュラーな存在。冊子本で目次のないものは少ないのではないでしょうか。

しおり」という言葉で思い浮かべるものは人によって違うかもしれません。ここでは、PDFファイルのしおりのことを示します。しおりとはどんなものかを知らない人は、次の解説文を読んでみてください。

PDF資料室: PDFのしおりってなに? どうやって作るの?

アウトライン」いう言葉では、人によって思い浮かべる内容は、「しおり」よりもさらに多様かもしれません。ここでは、Microsoft Wordのアウトライン機能を指し示します。アウトラインとは何か、は次のWebページをご参照いただくと良いでしょう。

Antenna House Office Servers資料室: Microsoft Wordのアウトラインと見出しスタイルを活用する方法(概要)

「目次」と「しおり」と「アウトライン」はかなり似通った存在ですが、しかし、微妙に違う点もあります。

そこでざっくりとした比較表を作ってみました。3者が微妙に異なるのは、たぶん、素性が異なるためではないかと思うのですがどうでしょう。特に、アウトラインは、アウトライン編集機能から由来することで、編集操作を伴っています。

PDFのしおりはなんとなく、後から取ってつけたような印象もあります。

比較項目 目次 しおり アウトライン
主な対象 冊子本。冊子本のPDF版(デジタル冊子本) PDF Word文書
英語 TOC (Table of Contents) Book Mark(ISO 32000では、document outlineとなっている) Outline Level
場所 冊子の本文の手前(前付け)に配置する しおりのWindow アウトラインWindow内
役割 本の内容構成を章・節レベルで把握できる PDFファイルのナビゲーション Word文書の編集機能の一部。ツリー編集操作が付随する。
指し示す先 本の内部(分冊のとき、例えば上巻に下巻の目次が配置されることもある。 指し示す先はPDFファイルの内部、別のPDFファイルの内部、Webページなど自由度が高い Word文書の内部
行き方 冊子本ではノンブルで行先を示す。デジタル冊子本ではリンクがあると便利。双方向リンクがあると特に便利。 リンク アウトラインは編集用途なので行き方は二の次。
本文との関係 取り外しはできない PDF編集ツールがあれば、脱着可能、本文から参照しない。PDFリーダー依存。 脱着できない。本文に設定する。表示を別ウィンドウ

冊子本のナビゲーションはページ番号(ノンブル)を使用する。一方、デジタル冊子本や、PDFではナビゲーションにはノンブルよりもリンクを使うのは便利である。ノンブルはページ数の増減に弱いが、リンクはページ数の増減があっても問題が生じないという自由さがある。




瞬簡PDF 変換 2024
PDFをOffice文書へ高精度変換


瞬簡PDF 書けまっせ 2024
PDFに文字が書ける! 入力欄を自動認識

第39期決算終了。決算公告を更新しました。

お陰様で、弊社は2022年12月末をもちまして、第39期を無事終了しました。

この2月27日に定時株主総会を開催し、第39期決算報告等が承認されました。そこで、Webページの会社案内中の貸借対照表を更新しましたので、お知らせいたします。

会社概要の「決算公告」の項

現在は第40期に入っております。40年と言いますと長いようですが、会社設立以来、あっという間に過ぎ去ったという印象があります。

コンピュータのソフトウェア業界は、この40年間でまったく変わってしまいましたが、この間、なんとか会社を継続することができましたのは、一重にお客様に支えていただいたお陰です。

ここに深く深く御礼申し上げます。

2023年2月28日

アンテナハウス株式会社
代表取締役 小林 徳滋



瞬簡PDF 変換 2024
PDFをOffice文書へ高精度変換


瞬簡PDF 統合版 2024
アンテナハウスPDFソフトの統合製品!

XSL-FO 試行錯誤 SVG 2.0 inline-sizeのTips

2023年01月19日に『Antenna House Formatter V7.3』がリリースされました!
関連して、2023年01月31日(火)16:00-17:00 にZoomウェビナーとして『Antenna House Formatter V7.3 リリース!  新機能と利用シーン紹介』を開催します。


https://us06web.zoom.us/webinar/register/4716717860524/WN_ElB-ZrzFQzShzKGqWZMHqg

新機能紹介ということで、XSL-FOやCSSページ組版の基礎知識があることを前提としています。しかし、特に知識の無い方でも「自動組版でこんな細かいレイアウト調整が効くのか」と楽しめることを目指していますので、お時間が合いましたら是非参加登録いただければ幸いです。

ウェビナースライドはFormatter V7.3で組版しています。スライドはCSSで組んでいるのですが、話題がSVGについてなので、暫くぶりとなる「XSL-FO 試行錯誤」シリーズを題に含めました。
(前回のXSL-FO試行錯誤のカレンダー作成の続きについてはまた時間があるときにさせていただければ……)

さて、本記事ではウェビナーで割愛する部分について、先行して補足します。
ということで、見た目が地味なのであまり深く掘り下げない予定のinline-sizeによるテキストの折り返しについてです。

発表スライドの見出し部分にはSVG 2.0を使っています。

テキストを配置するとき、SVG 1.xでは折り返しを扱えませんでした。
よって、複数行のテキストを配置するときは次の手順(これ以外にもなくはないですが)です。

右揃えで3行でテキストを描画するとします。座標は適当です。

  1. 改行位置でテキストを分割し、別のtspanに分ける
  2. それぞれのtspanにx,yの座標を指定する。2行目であれば1行目から1文字分以上離れた位置にyを設定する
<!-- SVG 1.x -->
<text x="0" y="0">
<tspan text-anchor="end" x="250" y="0">Formatter V7.3</tspan>
<tpsan text-anchor="end"  x="250" y="10">リリース!</tspan>
<tspan text-anchor="end"  x="250" y="20">新機能と利用シーン</tspan>
<text>

text-anchor=”end”によって、xの位置がテキストの終端になっています。

x,yはSVG内の座標系なので、font-size:18ptのように絶対単位で指定されていると対応する高さを調整するのはちょっと手間ですね。
他にも拡大縮小の際などにこれを忘れずに変更しなければなりません。

メリット、といえるかは分かりませんが、あらかじめ分割しているので、意図しない行分割が発生するということはないでしょう。

SVG 2.0のテキスト折り返し機能を使えば、折り返しを自動化可能です。Formatter V7.3ではinline-sizeによる折り返しをサポートしています。
Scalable Vector Graphics (SVG) 2 11.4.1. The ‘inline-size’ property



<text x="0" y="0" inline-size="1000">Formatter V7.3リリース! 新機能と利用シーン</text>

inline-sizeにはテキストの行長を指定します。

  • 両端揃えができない
  • 日本語は行頭・行末禁則以外では基本的に改行可能と判断される

また、見出しのような箇所で使う場合、次のことを意識しておくとよいでしょう。

今まで手動でやっていた行分割を自動処理にする都合上、特に、本文でない箇所での行分割規則は意識しておかなければなりません。
言語処理が日本語になっていれば(xml:lang=”ja”が適用されるような箇所であれば)
意図してそうしない限り「ー」は先頭に来ませんが、「リ」はそうではないので、

Formatter V7.3 リ
リース!

となるかもしれません。

特定単語の行分割を防ぐため、その箇所のマークアップをtspanにして、分割禁止のプロパティを付けることにします。
「tspanを使うなら結局SVG 1.xとあまり変わらない?」と思われるかもしれませんが、座標の明示がなくなるので処理はかなり単純化します。
「この単語で行分割されるのは困るが、ここ以外であれば別に構わない」というケースが多いとみているのですが、どうでしょうか。

<!-- <heading>Formatter V7.3<keep>リリース!</keep><keep>新機能</keep>と<keep>利用シーン</keep></heading> -->
...
<xsl:template match="heading">
  <svg:svg viewBox="0 0 1920 1080" >
  ...
    <svg:style>
      svg|tspan.keep {
        word-break: keep-all;
      }
    </svg:style>

    <svg:text x="1800" y="100" text-anchor="end"><xsl:apply-templates mode="#current"/></svg:text>
  </svg:svg>
</xsl:template>
...

<xsl:template match="keep">
  <svg:tspan class="keep"><xsl:apply-templates mode="#current"/></svg:tspan>
</xsl:template>

上記は実際に使用したコードではないため、参考程度にお考えください。
inline-sizeが対応するalign調整はtext-anchorによるものになるため、両端揃えの自動配置はできません。

その他、SVGのテキストを使う場合の注意点として、FOのブロックやHTMLのテキストと異なり、
「viewBoxは伸長しないため、想定よりテキストが長くなると表示が見切れる」という点があります。
つまり、「ページ単位で表示領域を確保できる」など、特に高さ・テキスト長があらかじめ想定できる
範囲で使うようにするとよいでしょう。

そして、Formatter V7.3で対応したSVGフィルタ・マスク機能と組み合わせることで文字列に効果を付加できます!

SVGテキストとマスク

画像に対し、テキストをマスクとして被せたものになります。このSVGではtext-anchor=”middle”です。
実のところ、SVGマスク以外の方法もあります、ただ、SVGマスクやフィルタは汎用的ですし、追加の独自仕様無しでXSL-FOでも使えるというメリットがあります。




瞬簡PDF 統合版 2024
アンテナハウスPDFソフトの統合製品!


瞬簡PDF 書けまっせ 2024
PDFに文字が書ける! 入力欄を自動認識

Wordの見出しスタイルがPDFのしおりに出力されるかどうか

本日(9月27日)のちょっと一息アンテナハウスウエビナーは「ゼロから学ぼう! Microsoft Wordのスタイル機能・シリーズ -主に見出しスタイルの使いこなし術について解説-」というタイトルでお話しました。

Wordで編集中の文書に見出しスタイルを設定すると、ナビゲーションウィンドウに見出しが階層化(ツリー)表示されるようになります。ウェビナーではこれがPDFのしおりと似たような機能です、と紹介しました。

そうしましたら、終了後の質疑応答で「Wordの見出しによるナビゲーションは、Word文書をPDFにしたとき、PDFのしおりとして設定されるのでしょうか?」という質問をいただきました。

記憶に確信がもてなかったため、質疑応答ではWordからPDFに出力する方法はいろいろあるので調べてみますと回答いたしました。ウェビナー終了後に調べてみましたので、以下に、簡単に整理します。

1.Wordのナビゲーションウィンドウの表示
次の図はWordで編集中の文書に段落のアウトラインレベルと見出しスタイルを設定した例です。この例では「はじめに」と「参考資料」はアウトラインレベルを設定しています。また、章番号のついた段落は見出し1、節番号のついた段落は見出し2、項番号のついた段落は見出し3のスタイルが設定されています。

Wordのナビゲーションウィンドウ

2.Antenna House PDF Driver V8でWordからPDFを作成する
(1) Wordの印刷メニューからPDFを出力すると、でき上ったPDFにはしおりは設定されません。

(2) Antenna House PDF Driver V8は、Wordのアドインとしてリボンに組み込むことができます。アドインを使ってPDFを作成するときは、オプションでしおりを作成するかどうかを指定できます。

PDF Driver V8のアドインーオプション設定ダイアログ

ここで「しおりを出力する」にチェックを入れると、出力されたPDFでは、見出しスタイルを設定した段落がしおりとして作成されます。(アウトラインレベルを設定した段落はしおりになりません)。

PDF Driver V8で作成したPDFのしおり

3.Wordの「名前をつけて保存」でPDFを作成する
(1) Wordの「名前をつけて保存」でPDFを作成するとき、オプション設定をデフォルトのままとしてPDFを作成するとしおりは作成されません。

(2) Wordの「名前をつけて保存」にはオプション設定を変更するダイアログを表示して、しおりを作成する方法を指定できます。オプションの「次を使用してブックマークを作成」で「見出し」にチェックしてみます。

Wordの名前を付けて保存のオプション設定

できあがったPDFを見ると、一応、しおりが設定されています。しかし、しおりは不完全です。

Wordの名前を付けて保存で、PDFにしおりを作成する

問題点は①しおり項目が2重になっている箇所がある。②見出しの中でしおりに出力されていない箇所がある。

こうしてみると、Wordの名前を付けて保存のしおり作成は不完全なできのようです。なお、Micorosft Wordにもいろいろなバージョンがありますので、あくまでも手元のWordで調べた限りではありますが。

〇チェックに使ったツールなどのバージョンは次のとおりです。
① Microsoft Word 2019 バージョン2208(ビルド15601)
② Antenna House PDF Driver V8.0MR1 (8.0.1) 『瞬簡PDF編集9』同梱のもの

2022年11月15日追記
アンテナハウスでは、PDF Driverを使わないで、Wordファイルを直接PDFに変換する「Office Server Document Converter(OSDC)」という製品も提供しています。

OSDCのWebページ:
https://www.antenna.co.jp/sbc/

OSDCでは、WordファイルをPDFに変換するさい、しおりを出力することができます。例えば、コマンドラインでは次のように指定します。

C:\>sbccmd -d 変換元.docx -o 変換先.pdf -p @PDF -docpdfbookmarklevel n
(n: Wordの見出しのレベル)




瞬簡PDF 書けまっせ 2024
PDFに文字が書ける! 入力欄を自動認識


瞬簡PDF 作成 2024
ドラッグ&ドロップでPDF作成

【動画公開】XSLT超入門3, CSS組版スライドと補足

ちょっと一息アンテナハウスウェビナー「XSLT超入門 3 XPathについて」を終えました。ご視聴いただいた方、ありがとうございます。お時間の合わなかった方、動画が公開されたので、ぜひご覧ください。


Zoomの注釈機能

発表直前に気付いたのですが、Zoomの「画面の共有」ボタンの横に、いつの間にやら「注釈」というボタンが増えていたので早速使ってみました。いかがでしたでしょうか。

PowerPointスライドと違い(おそらくほとんどの)PDFビューアにはレーザポインタ機能がないので、助かりますね。(他機能として、テキストも表示できます。スライド表示中に「これ補足した方がいいかな」といった思いつきでテキストを追加したりはPDF注釈でも実現できますが、操作の切り換えの手間があるため、Zoomにあるに越したことはない、くらいの感想です。)

CSS組版スライド

担当したここ数回のウェビナーではPowerPointでスライドを作成していました。今回も途中まではそうだったのですが、内容の大幅な修正を行うついでにAH FormatterでHTML+CSS組版によるPDFスライドに移行しました。

以前XSL-FOでスライドを組版したことを紹介しました。スライド発表程度の長さであれば単一HTMLでもあまりテキスト分量はかさみません。今回、HTMLが650行弱、CSSは240行程度でした。実作業としてはSCSSで記述して変換していたので……240行程度でした。まあ、セレクタ部分は簡潔になりますが、改行・インデントとしてはあまり変わらないんですね。CSSについてはAH CSS Formatterの既定のCSSを読み込んだ上でなので、0から組むのであればもう少し嵩むでしょう。

VS CodeでSCSSを編集 with AH CSS Extension

SCSSの編集はVS Codeで行いました。VS CodeでのCSSの補完・サジェストについては、@media printなども最初からある程度対応しています。
加えて先日、AH CSS Formatterの豊富な拡張仕様を入力補助してくれるAH CSS Formatter Extensionが公開されたので早速使っています。SCSSファイル編集でも有効なようです。

https://github.com/AntennaHouse/ahformatter-vscode-css-ja

「HTMLソースでスライドを作成する」というと、気になるのは「発表スライドとWebページを同時作成できるか?」という点ではないでしょうか。結論としては「内容次第」ということに落ち着いてしまうのですが、「ある程度まで同一ソースで作成する」ことを目標とすると、方針として押さえるべき点は次のことでしょう。

  • HTMLソースはWebページ向けが主、スライドは従
    • スライド組版時はdisplay:noneにする情報を決めておく
    • スライド向けCSSを先行する場合、とくに注意するのはfloat配置とheightの100%

もちろん、広告を目的とするWebページなどで一度に入る情報量を絞ることなどはよくあります。ここではある程度技術的内容のプレゼンとそのWebページ化を前提としています。

スマホ向けとPC・タブレット向けのページを同じソースで作成する場合にスマホ向けをメインにレイアウトすることを「モバイル・ファースト」といったりしますが、Webページとプレゼンテーションの関係はもう一捻りあります。
モバイルとそれ以外で異なるのは、主に画面サイズです(より正しくは前提とする通信環境によるリソースの出し分けなどもあります)。
一方、Webページとプレゼンにおいて、Webページはそれのみですが、プレゼンは(通常)「スライド+発表者+発表」で構成されます。この違いは「読者側が受動的か能動的か」「発表者による注意対象・情報量のコントロール」といった差異を生みます。

HTMLソースの話に戻ると、ある変換を行うとき、情報量は落とす方が楽で、足すのはかなり困難です。
つまり「より情報量を必要とする方を主とし、そうでないものを従とする」ということになります。
プレゼンは発表という追加情報を前提とするため、スライドにWebページと同じ情報量を与えると情報量が過多になりがちです。

CSSでは手軽に表示を隠蔽する方法としてdisplay:noneがあります。これは、プレゼンでは口頭で与える情報を、Webページではテキストで表示する、という目的にも使えます。

@media print {
.web-page-only {
  display:none;
  }
}

前提として、「スライド上隠蔽されても前後の話は分かるようにする」というライティングが必要です。なので、パラグラフライティングの基本や、DITAにおけるshortdescのように、「これは最低限最初に伝える」という文章から書いていくよいでしょう。

ページ向け媒体ではフロートはページの上端、下端を前提に書けます。これはpositionについても同様です。

XSLT超入門3の補足

さて、発表の補足です。

何度か述べましたが、XPathの特長は、簡単には「ある文書で、目的の箇所を簡便な記法で指定できる」「取り出した値の加工が行える」ことにあります。ただ「hoge/fuga/…」と書きつらねるだけでなく、軸や述部といった機能・概念を使うことで、他の言語、というかDOMインターフェイスでは難しいこともスマートに行える、ということをXSLT超入門3ではフューチャーしたのですが、いかがでしたでしょうか。
「ここが分からないのでここをじっくりやってほしい」などの要望を、メール・SNS・動画へのコメントなどでいただけると幸いです。

さて、発表について、事前の予定から大きく削った箇所としては2箇所です。データモデルと、XPath 1.0のコードを3.1でリライトするという内容です。

データモデルについては、XPath 2.0でいかに整理されたか、3.0(3.1)で何が拡充されたか、の詳細を削りました。このあたりについてはW3CのXDMのページに図示があるので内部処理モデルに興味のある方はご参照ください。

XPath 3.1でのリライトについては、題材として丁度良いバランスのものを見つけるのはかなり難しかったため、構成から削除しました。「XPath 1.0でまともに処理できるように記述した上で、XPath 3.1で明らかに改善されるように書き直す」ということの難しさは、「そもそも1.0で書けなかった処理を拡充したものがほとんど」「1.0では(XSLT上では)独自functionの定義もできないので、XSLTも多分に含むことになる」といった点にあると感じます。XSLT 1.0のコードでの超絶技巧についてはfunctXライブラリが有名でしょうか。

超絶技巧はおいておいて、もう少し簡単なものはあります。

XPath 1.0(XSLT 1.0)
<xsl:template match="*[contains(@class, ' topic/ph ')]"> 
  ...
</xsl:template>
XPath 3.0(3.1) (XSLT 3.0)
<xsl:template match="*[contains-token(@class, 'topic/ph')]"> 
  ...
</xsl:template>

行っているのはDITAの@class処理で、スペース区切りで続く文字列の部分一致判定です。contains()では含まれてさえいれば真を返してしまうので、topic/ph前後にスペースは必須です。ないと「mytopic/ph」なども一致してしまいます。
contains-token()は、なんだったら名指しで「HTMLやDITAのclass処理に使えるよ」と書かれているのでさもありなん。

コア関数についてはかなり駆け足で紹介しました。コード例をバーッと載せていましたが、コードをしっかり読んでもらうことは意図していません。
これは構成上割と悩みどころで、関数名と処理内容を淡々と流すのであれば、ウェビナーよりもWebサイトや本などを参照するように誘導しても良いと考えています。あるいは数時間~数日のワークショップであれば、サンプル、基本、応用、基本、……といった進め方をしたと思います。

とくにXPath 1.0では、関数型言語らしい「関数を組み合わせて使う」ことはなかなか難しいため、その有用性のアピールを分かりやすく行うのは難しくなっています。

発表中、contains()が(2.0)となっていましたがこれは記述ミスで、XPath 1.0からあります。




瞬簡PDF 変換 2024
PDFをOffice文書へ高精度変換


瞬簡PDF 統合版 2024
アンテナハウスPDFソフトの統合製品!

『トップガン マーヴェリック』ピート・ミッチェルは大佐? 大尉?

ピート“マーヴェリック”ミッチェルといえば、トム・クルーズ演じる海軍パイロット。1986年に大人気となった『トップガン』の主人公です。36年ぶりの第2作目が5月27日から公開されて大人気です。公開直後は混んでいたので敬遠、2週目に見に行ったのですが、気になったことが幾つかあり、チェックするために3週目に改めて見に行きました。

そのひとつは階級です。最初に見に行ったとき、英語ではCaptainと呼ばれていたのはよく覚えていたのですが、日本語字幕では大佐になっていたと思い込んでいました。ところが、『週刊文春』6月23日号の町山智浩・言霊USAに『トップガン マーヴェリック』の話題がとりあげられていて、そこに、マーヴェリックは「36年後の今も大尉のまま出世していなかった」という文があり、ちょっとびっくり。

大佐だと思っていたけど「え! 大尉だったのだろうか?」と気になってしまいました。それを確かめるためにふたたび見に行ったのですが、オープニングの直後には、ピート・ミッチェル大佐という階級付の紹介があり、さらに、映画の中では何度も何度もCaptain(字幕では大佐)とでてきました。

町山智浩さんはカリフォルニアのバークレー在住とのことなので、現地で字幕なし英語版を観たのでしょう。で、Captainを大尉と理解したのだろうと思います。しかし、米国海軍のCaptainは、日本語では大佐と訳すのが普通のようです。

なお、トップガンの第一作では、マーヴェリックを階級で呼ぶ箇所は遥かに少ないですが、その中で、恋人になる前のチャーリーがピートに対して(字幕で)大尉と呼びかけており、原語ではLieutenantと呼んでいたようです。

なので、英語で見ても、LieutenantからCaptainに昇格しているわけで、「36年後の今も大尉のまま出世していなかった」という解釈は誤りでしょう。アメリアが、まだ大佐なの? とからかうシーンでは、ピートは「飾りの多い大佐だよ」(勲章をいろいろもらった)と言い訳しており、マーヴェリック本人も階級を気にしてないわけではないようです。

ちなみに第1作では、大尉と呼びかけられるケースはまれで、上官・教官・仲間はマーヴェリックと呼び、友人・恋人同士ではピートです。これに対して、第2作は、上官も同僚もミッチェル大佐と呼び、生徒は大佐と呼んでいます。友人・恋人同士ではもちろんピートです。マーヴェリックと呼ばれるケースは少ない。最後にフェニックスが「マーヴェリックは5機よ」と言うので、パイロット仲間ではマーヴェリックなのだろう。このように呼ばれ方から見ても、第1作と第2作で地位が相当変わっていることが分かります。

ところで字幕と言えば、感心したのはアイスマンが画面にタイプした「It’s time to let it go.」「It’s time to let go.」を「過去は水に流せ」と訳しているところ。なかなかこういう訳はできないな、と感心した次第です。

ただ、実をいうと「it」があったかどうか確信をもてません。文法的には必要なような気がしますがどうなんでしょう。もう一度見に行こうかなぁ。確認したところitはありませんでした。

神は細部に宿り、プログラムは1文字でエラーになるので、常に隅々までチェックを怠らないようにしないとね。




瞬簡PDF 変換 2024
PDFをOffice文書へ高精度変換


アウトライナー
PDFを解析して しおり・目次を自動生成

PDFの表形式データをExcelに変換する機能を比較してみる

PDFファイルの中に表形式のデータがあったとき、このデータを加工したり、集計したり、計算したり、あるいは別のアプリケーションに取り込みたいと思うことがあります。少しくらいのデータなら、手入力するという方法でもなんとかなるけれど、量が多いとき、繰り返しが多いときなどは手作業ではなく、なんとか自動的にできないかと思うことでしょう。

いまは、PDFファイルの表からExcel形式に変換するツールは市場にいくつかあります。来週(5月31日)のちょっと一息・アンテナハウスウェビナーでは、PDFファイルの表をExcel形式に変換するツールとして、Adobe のAcrobatと、弊社のPDFtoCellsの次の2つを選んで、変換精度についてがちの比較を行ってみます。

夕陽の対決! PDF-Excel変換ソフト PDFtoCells VS Acrobat
     -真に使えるExcel変換ソフトはどちらか、徹底検証します

2022年5月31日16時から (無料)

詳しい紹介とお申し込みは次のZoomページにてどうぞ。

Zoom でのお申し込みはこちら




HTML on Word
WebページをWordで作る!


アウトライナー
PDFを解析して しおり・目次を自動生成
Pages: Prev 1 2 3 4 5 6 7 8 9 10 ... 229 230 231 Next