0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

明細書の段落番号付与アドインの導入記

Posted at

1 ある日の特許事務所にて

man_smile 丙内さん、今日は出願期限日の3日前だよね。どこまでできたかな。
woman_smile 丁山所長、おはようございます。あらかた書き終えたので、あとは段落番号をつけるだけなんです。
man_laugh 流石は丙内さん、順調だね。
woman_question ところで所長、なんで明細書の文章に段落番号って必要なんでしょうか。
man_idea それは、「日本国特許庁が決めたから」というしかないよね。具体的にいうと特許法施行規則第24条の様式第29だね。以下のような雛形が公開されているしね。
【書類名】 明細書
【発明の名称】
【技術分野】
【0001】 (段落ごとに、段落番号を付す。) 
(【背景技術】)
【0002】
 ・
(【先行技術文献】)
(【特許文献】)
【0003】
 ・
(【非特許文献】)
【0004】
 ・
【発明の概要】
【発明が解決しようとする課題】
【0005】
 ・
【課題を解決するための手段】
【0006】
 ・
(【発明の効果】)
【・・・・】
 ・
(【図面の簡単な説明】)
【・・・・】
(【図1】)
(【図2】)
(【発明を実施するための形態】)
【・・・・】 
 ・
(【実施例】)
【・・・・】
 ・
(【産業上の利用可能性】)
【・・・・】
 ・
(【符号の説明】)
【・・・・】
 ・
(【受託番号】)
【・・・・】
 ・
(【配列表フリーテキスト】)
【・・・・】
 ・
(【配列表】)
 ・
 ・ 
woman_smile 昔の特許公報とか見ると段落番号が無いものもありますよね。紙にタイプされている電子化される前の案件とかそうですよね。
man_smile そうだね、特許出願書類の電子化に伴って導入されたものかもしれないね。補正の単位を段落単位とすることで、手続補正書を短く書くことができるからね。そして、国際的ハーモナイズの関係というのもあるだろうね。米国公報とPCT公報と欧州公報と韓国公報にも段落番号が付与されているから。何故か中国公報には段落番号ないけどね。
woman_think でも、段落番号って機械的すぎて、手作業で付けるのって面倒ですよね。
man_smile そう、だから段落番号をつけるソフトウェアって、沢山発表されているよ。
例えば段落ジェネレータだね。使ってみたらどうかな。
woman_smile はい、わかりました。

2 段落ジェネレータのインストールとアンインストール

woman_smile 段落ジェネレータのダウンロードURLは
https://osdn.net/projects/danrakug/
ですね。k-ayaki.cerの証明書を信頼されたルート証明機関に配置してからsetup.exe を実行するんですね。
man_smile 他にも setup.bat を実行してもいいみたいだね。
woman_idea setup.batを実行して・・・あれ? 丁山所長、保護ダイアログが表示されましたよ。
保護.PNG
man_smile 丙内さん、詳細情報をクリックしで,実行ボタンをクリックすれば大丈夫だよ。
!保護2.PNG
woman_idea インストーラ―のダイアログが表示されましたよ。
インストーラ.PNG
インストールボタンをクリックすると、あっという間に終わりましたね。
man_smile そして、WORDを起動して、・・・、AppLintリボンに段落生成に関するボタンが表示されたから、インストール終了だね。
ボタン.PNG
woman_question 丁山所長、アンインストールはどうすればいいんですか。
man_smile コントロールパネルの「プログラムのアンインストール」を開いて、danrakuG01をクリックするとアンインストールされるみたいだね。

3 段落ジェネレータの機能

3.1 段落付与

woman_smile 明細書を開いて、「段落付与」ボタンをクリックすればいいんですね。
man_smile 試しに、納品前の原稿に段落を付与してみよう。
納品前の明細書
【書類名】明細書
【発明の名称】物質エネルギ変換装置
【技術分野】
 本発明は、物質をエネルギに変換する物質エネルギ変換装置である。
【背景技術】
 従来、エネルギを得るには、化学反応または核反応を用いる必要があり、効率が悪かっ
た。
 非特許文献1には、反物質が物質と合わさって厖大なエネルギを発することが記載され
ている。
【先行技術文献】
 【非特許文献】
  【非特許文献1】ダン・ブラウン、"天使と悪魔”、2000年初版
【発明の概要】
【発明が解決しようとする課題】
 非特許文献1では、反物質を生成する必要があった。反物質の生成には、この反物質が
物質と合わさってエネルギを生成する以上のエネルギが必要であった。
 そこで、本発明は、物質をそのままエネルギに変換することを課題とする。
【課題を解決するための手段】
 本発明の物質エネルギ変換装置は、水素を入力する水素入力手段と、当該水素を吸収す
る希土類金属結晶部と、当該希土類金属結晶部の所定の結晶方向に磁場を与える磁場形成
部とを有する。
【発明の効果】
 本発明によれば、高い効率で物質をエネルギーに変換することができる。
【図面の簡単な説明】
 【図1】本実施形態の物質エネルギ変換装置の構成図である。
 【図2】物質エネルギ変換装置の動作を説明する図である。
【発明を実施するための形態】
 図1は、本実施形態の物質エネルギ変換装置1の構成図である。
 物質エネルギ変換装置1は、水素入力部11と、希土類金属結晶12と、磁場形成部1
3と、これらを包み込む中性子遮蔽部14とを備える。この物質エネルギ変換装置1は、
水素原子を直接にエネルギに変換するものである。
 水素入力部11は、・・・・・・・・・・・・・・・・・・・・・・・・である。
 希土類金属結晶12は、・・・・・・・・・・・・・・・・・・・・・・・・であり、水
素入力部11から入力された水素を吸収して・・・・・・・・・・・・・・・・・・・・・
・・・する。この希土類金属結晶12は、・・・・・・・・・・・・・・・・・・・・・・
・することにより、・・・・・・・・・する。
 磁場形成部13は、・・・・・・・・・・・・・・・・・であり、希土類金属結晶の11
1方向の磁場を形成して、・・・・・・・・・、・・・・・・・・・・・・・・・・・・・
する。これにより、希土類金属結晶12に吸収されている水素原子は、・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・する。
 中性子遮蔽部14は、水素原子のエネルギ化に伴い、希土類金属結晶12から出射される
中性子線を遮蔽する。この中性子遮蔽部14は、例えば・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・であり、・・・・・・・・・する。
 図2は、物質エネルギ変換装置の動作を説明する図である。
 水素は、水素入力部11によって高圧(例えば、10万メガパスカル)に圧縮されて、希
土類金属結晶12が位置する炉内に導かれる。希土類金属結晶12の水素吸収能力により、
水素は、希土類金属結晶12に吸収される。そして、磁場形成部13は、・・・・・・・・
・・・・・・・・・・・・・。これにより、希土類金属結晶12からエネルギが放出され、
中性子線が出射される。
 物質エネルギ変換装置1が変換するエネルギEは、以下の式(1)によって示される。
但し、Mは水素の質量である。Cは光速である。
 【数1】
    E=MC^2・・・(1)
 よって、本実施形態の物質エネルギ変換装置1によれば、反物質を生成することなく、
物質を直接的にエネルギに変換することができる。
【符号の説明】
1 物質エネルギ変換装置
11 水素入力部
12 希土類金属結晶
13 磁場形成部
14 中性子遮蔽部
woman_smile プログレスバーが表示されたあと、段落が付与されましたね。
man_smile ちゃんと数式の後にも段落番号が付与されているね。そして【書類名】【発明の名称】【先行技術文献】【発明の概要】の項目には、段落番号が付与されていないね。これは特許法施行規則の様式29のとおりだ。
段落付与した明細書
【書類名】明細書
【発明の名称】物質エネルギ変換装置
【技術分野】
 【0001】
 本発明は、物質をエネルギに変換する物質エネルギ変換装置である。
【背景技術】
 【0002】
 従来、エネルギを得るには、化学反応または核反応を用いる必要があり、効率が悪かっ
た。
 非特許文献1には、反物質が物質と合わさって厖大なエネルギを発することが記載され
ている。
【先行技術文献】
 【非特許文献】
 【0003】
  【非特許文献1】ダン・ブラウン、"天使と悪魔”、2000年初版
【発明の概要】
【発明が解決しようとする課題】
 【0004】
 非特許文献1では、反物質を生成する必要があった。反物質の生成には、この反物質が
物質と合わさってエネルギを生成する以上のエネルギが必要であった。
 そこで、本発明は、物質をそのままエネルギに変換することを課題とする。
【課題を解決するための手段】
 【0005】
 本発明の物質エネルギ変換装置は、水素を入力する水素入力手段と、当該水素を吸収す
る希土類金属結晶部と、当該希土類金属結晶部の所定の結晶方向に磁場を与える磁場形成
部とを有する。
【発明の効果】
 【0006】
 本発明によれば、高い効率で物質をエネルギーに変換することができる。
【図面の簡単な説明】
 【0007】
 【図1】本実施形態の物質エネルギ変換装置の構成図である。
 【図2】物質エネルギ変換装置の動作を説明する図である。
【発明を実施するための形態】
 【0008】
 図1は、本実施形態の物質エネルギ変換装置1の構成図である。
 物質エネルギ変換装置1は、水素入力部11と、希土類金属結晶12と、磁場形成部1
3と、これらを包み込む中性子遮蔽部14とを備える。この物質エネルギ変換装置1は、
水素原子を直接にエネルギに変換するものである。
 【0009】
 水素入力部11は、・・・・・・・・・・・・・・・・・・・・・・・・である。
 希土類金属結晶12は、・・・・・・・・・・・・・・・・・・・・・・・・であり、水
素入力部11から入力された水素を吸収して・・・・・・・・・・・・・・・・・・・・・
・・・する。この希土類金属結晶12は、・・・・・・・・・・・・・・・・・・・・・・
・することにより、・・・・・・・・・する。
 【0010】
 磁場形成部13は、・・・・・・・・・・・・・・・・・であり、希土類金属結晶の11
1方向の磁場を形成して、・・・・・・・・・、・・・・・・・・・・・・・・・・・・・
する。これにより、希土類金属結晶12に吸収されている水素原子は、・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・する。
 【0011】
 中性子遮蔽部14は、水素原子のエネルギ化に伴い、希土類金属結晶12から出射される
中性子線を遮蔽する。この中性子遮蔽部14は、例えば・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・であり、・・・・・・・・・する。
 【0012】
 図2は、物質エネルギ変換装置の動作を説明する図である。
 水素は、水素入力部11によって高圧(例えば、10万メガパスカル)に圧縮されて、希
土類金属結晶12が位置する炉内に導かれる。希土類金属結晶12の水素吸収能力により、
水素は、希土類金属結晶12に吸収される。そして、磁場形成部13は、・・・・・・・・
・・・・・・・・・・・・・。これにより、希土類金属結晶12からエネルギが放出され、
中性子線が出射される。
 【0013】
 物質エネルギ変換装置1が変換するエネルギEは、以下の式(1)によって示される。
但し、Mは水素の質量である。Cは光速である。
 【数1】
    E=MC^2・・・(1)
 【0014】
 よって、本実施形態の物質エネルギ変換装置1によれば、反物質を生成することなく、
物質を直接的にエネルギに変換することができる。
【符号の説明】
 【0015】
1 物質エネルギ変換装置
11 水素入力部
12 希土類金属結晶
13 磁場形成部
14 中性子遮蔽部

3.2 段落振直

woman_smile 明細書に段落番号を付けたあとに、手作業で微調整したいときがありますよね。
man_smile そういうときには、隅付括弧に適当な番号が記載された段落番号の項目をコピペしたあと、段落振直ボタンをクリックするといいよ。

3.3 段落削除

woman_smile 明細書に付与した段落番号を削除するのが、段落削除ボタンですね。
man_smile そうだね。これで段落付与ボタンを押すまえの状態に戻るよ。

4 段落ジェネレータのコード解説

4.1 段落付与

woman_smile 段落番号付与のコードってどうなってるんですか。
man_smile ここにコードが開示されているよ。
https://github.com/k-ayaki/danrakuG01
少しだけ見てみようか。
man_smile これは段落追加のプログレスダイアログのイベントハンドラだよ。WORDの文書を構成するパラグラフを順番に paraCurr変数に代入して、段落挿入処理を呼び出しているみたいだね。そして、挿入処理につかったパラグラフに【符号の説明】が含まれていたら、処理を終了しているよ。
AddDanraku.cs / ProgressDialog_Add_DoWork
        private void ProgressDialog_Add_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker bw = (BackgroundWorker)sender;

            //パラメータを取得する
            int stopTime = (int)e.Argument;

            if (myPatDoc.m_rng == null)
            {
                System.Windows.Forms.MessageBox.Show("明細書が記載されていません。", "警告");
                e.Result = 0;
                return;
            }
            int counter = 0;
            int i = 0;
            int lastTick = Environment.TickCount;
            int currTick;
            bw.ReportProgress(i, i.ToString() + "% 終了しました");

            foreach (Paragraph paraCurr in myPatDoc.m_rng.Paragraphs)
            {
                string linebuf = paraCurr.Range.Text;
                myPatDoc.段落挿入処理(paraCurr);
                if (linebuf.IndexOf("【符号の説明】") >= 0)
                {
                    break;
                }
                counter++;
                //キャンセルされたか調べる
                if (bw.CancellationPending)
                {
                    //キャンセルされたとき
                    e.Cancel = true;
                    return;
                }
                //指定された時間待機する
                //System.Threading.Thread.Sleep(stopTime);

                currTick = Environment.TickCount;
                if (currTick - lastTick > 1000)
                {
                    //ProgressChangedイベントハンドラを呼び出し、
                    //コントロールの表示を変更する
                    i = (int)(paraCurr.Range.End * 100 / myPatDoc.m_rng.End);
                    bw.ReportProgress(i, i.ToString() + "% 終了しました");
                    lastTick = currTick;
                }
            }
            i = 100;
            bw.ReportProgress(i, i.ToString() + "% 終了しました");
            System.Threading.Thread.Sleep(500);
            //結果を設定する
            e.Result = counter;
        }
woman_smile 段落挿入処理をみると、現在のパラグラフである paraCurrに数式・表・画像が含まれているときは何もせず、paraCurrに隅付括弧の項目があれば項目直後段落番号付与判定を呼び出し、paraCurrが単なるテキストを含むパラグラフならば文章中段落番号付与判定を呼び出してますね。
patDocs.cs / 段落挿入処理
        public void 段落挿入処理(Paragraph paraCurr)
        {
            if (パラグラフが数式を含む(paraCurr)
            || パラグラフが表を含む(paraCurr)
            || パラグラフが画像を含む(paraCurr))
            {
                ;
            }
            else
            if (項目の判定(paraCurr))
            {
                項目直後段落番号付与判定(paraCurr);
            }
            else
            {
                文章中段落番号付与判定(paraCurr);
            }
        }
woman_smile そして、現在のパラグラフparaCurrに記載された項目が段落番号の付与対象か否かを判定して、現在のパラグラフparaCurrの直後に段落番号を挿入するか否かを切り替えているんですね。
patDocs.cs / 項目直後段落番号付与判定
        public void 項目直後段落番号付与判定(Paragraph paraCurr)
        {
            if (パラグラフが段落番号付与対象項目(paraCurr))
            {
                直後段落番号挿入(paraCurr);
            }
            else if (パラグラフが段落番号付与非対象項目(paraCurr))
            {
                ;
            }
            else if (パラグラフが数化表項目(paraCurr))
            {
                Paragraph paraNext1 = パラグラフの取得(paraCurr, PARA_FORWARD);
                if (パラグラフが数式を含む(paraNext1) == false
                && パラグラフが表を含む(paraNext1) == false
                && パラグラフが画像を含む(paraNext1) == false)
                {
                    Paragraph paraNext2 = パラグラフの取得(paraNext1, PARA_FORWARD);
                    if (パラグラフが数式を含む(paraNext2) == false
                    && パラグラフが表を含む(paraNext2) == false
                    && パラグラフが画像を含む(paraNext2) == false)
                    {
                        if (数式判定(paraNext1))
                        {
                            直後段落番号挿入(paraNext1);
                        }
                        else
                        {
                            直後段落番号挿入(paraCurr);
                        }
                    }
                }
            }
            else // 未定義の項目
            {
                直後段落番号挿入(paraCurr);
            }

        }

5 まとめ

woman_smile この「段落ジェネレータ」を使うと、機械的で嫌な作業だった段落番号付けが自動化できますね。
man_smile そうだね。その分、人間にしかできない文章作成作業に注力できるようになるから、うまく使ってみてね。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?