備忘の電脳生活(TeX中心:縦組みで古典組用)


HOME PAGE

秀丸エディタで脚注作成 18/09/10(月)12:09:21
mobitan氏のHP「Wisteria」(http://mobitan.org)で公開されている秀丸用の脚注マクロを自分用に改造。

注を付けたい部分に

「<!#{★|●●●#><!#}#>」(<と>は小文字)

として「●●●」部分に注を記入。

末尾に「{foottext}」を記入すると

注1
●●●
注2
●●●
の形(インデント4字下げ)で展開される。


//
// Footnote.mac (2006/09/30)
// by IKKI http://www18.big.or.jp/~fujiwara/ikki/
//

// 2006/09/20 v1.0 初版
// 2006/10/01 v1.1 {notag} = HTMLタグ除去

// $Mark と $Body では次の変数が有効
//
// {m} = 節番号(出力位置ごとにインクリメント)
// {n} = 脚注番号(脚注1件ずつインクリメント、出力位置ごとにリセット)
// {text} = 脚注の内容
// {notag} = 脚注の内容(HTMLタグを除去)

// 脚注記号
$Mark = *{n};

// 脚注本体

$Body = \t\注{n}\n\t{text}\n;


// コメント識別子(正規表現のメタキャラクタは要エスケープ)
$Comb = $Comd = #>; // 終了

// 本文の例
//
//

1節


//

1節の段落1です。


//

1節の段落2です。


// 出力位置
//
//

2節


//

2節には脚注がありませんでした。


// 出力位置
//
//

3節


//

3節の段落1です。


//

3節では foottext を書き忘れてしまいました。




call Initialize;
call Main;
call Finalize;
endmacro;

Main:
#ox = x; #oy = y;
#m = 1;
#n = 0;
gofiletop;
while (true) {
call Find ★|foottext;
// message $$return;
$$key = leftstr($$return strstr($$return |));
if ($$key == ) $$key = $$return;
$$val = midstr($$return strlen($$key) + 1 8192);
if ($$key == ★) {
#n = #n + 1;
$text[#n] = $$val;
call Mark;
} else if ($$key == foottext) {
call Dump;
#m = #m + 1;
#n = 0;
} else {
break;
}
}
gofileend;
call Dump;
if (##return) moveto #ox #oy;
return;

Find:
// $$1 = キー(正規表現可)
// $$return = キー|値
// 実行後の選択範囲 = で囲まれた部分
escape;
searchdown (?<= + $Comb + \\{)( + $$1 + )(\\|| + $Comd + ) regular;
if (!result) return ;
##x1 = foundtopx; ##y1 = foundtopy;
escape;
searchdown $Comd regular;
if (!result) return ;
##x2 = foundtopx; ##y2 = foundtopy;
##x3 = foundendx; ##y3 = foundendy;
$$value = gettext(##x1 ##y1 ##x2 ##y2);
escape;
searchdown $Comb + \\} + $Comd regular;
if (!result) return ;
escape;
beginsel;
moveto ##x3 ##y3;
endsel;
return $$value;

Mark:
if (selecting) delete;
$$item = $Mark;
call GSUBR $text[#n] <.*?> ; $$notag = $$return;
call GSUBR $$item \\{m\\} str(#m); $$item = $$return;
call GSUBR $$item \\{n\\} str(#n); $$item = $$return;
call GSUBR $$item \\{text\\} $text[#n]; $$item = $$return;
call GSUBR $$item \\{notag\\} $$notag; $$item = $$return;
insert $$item;
return;

Dump:
if (selecting) delete;
if (#n < 1) return true;
insert $Head;
##i = 1;
while (##i <= #n) {
$$item = $Body;
call GSUBR $text[##i] <.*?> ; $$notag = $$return;
call GSUBR $$item \\{m\\} str(#m); $$item = $$return;
call GSUBR $$item \\{n\\} str(##i); $$item = $$return;
call GSUBR $$item \\{text\\} $text[##i]; $$item = $$return;
call GSUBR $$item \\{notag\\} $$notag; $$item = $$return;
insert $$item;
##i = ##i + 1;
}
insert $Tail;
return false;

GSUBR: // HmJre.dll による正規表現置換
// $$1 = 対象文字列
// $$2 = 検索パターン
// $$3 = 置換文字列(後方参照不可)
// ##4 = 1:大文字小文字を区別する
$$f = leftstr(FindRegularNoCaseSense 11 + (##4 == 0) * 11);
$$s = $$1;
while (true) {
##p = dllfunc($$f $$2 $$s 0);
if (##p < 0) break;
$$r = $$r + leftstr($$s ##p) + $$3;
$$s = midstr($$s ##p + dllfunc(GetLastMatchLength) 8192);
}
if (##p == -2) message 正規表現のエラーです\n + $$2;
return $$r + $$s;

Initialize:
loaddll HmJre.dll;
if (!result) {
message HmJre.dll がロードできません。秀丸エディタ v6.00 以上をインストールしてください。;
endmacro;
}
setcompatiblemode 0x0200;
$searchbuffer = searchbuffer;
#searchoption = searchoption;
disabledraw;
return true;

Finalize:
enabledraw;
setsearch $searchbuffer #searchoption;
freedll;
return;

【TeX】右寄せのシテ(合字) 14/05/03(土)16:38:46
プリアンブル部に以下を記入
======================================
\newcommand{\migisite}{%
\kern-.5zw\rotatebox{-20}{\raisebox{.35zh}{{\scalebox{0.49}[1]{\rotatebox{36}{ヽ}}\kern-.41zw\raisebox{0.2zh}{\scalebox{0.49}[1]{ノ}}}}}\kern.2zw}
======================================

本文に「\migisite」を記入するだけ。

【TeX】合点(\) 14/04/25(金)16:31:08
\raisebox{1.2zw}{\rotatebox{-50}{\scalebox{2}[1]{\}}}\kern-2zh

【TeX】左右の合字(縦組み:木+目=相) 14/04/25(金)14:20:26
\lrkanji{木}{目}
===========================
\newcommand{\lrkanji}[2]{%
\raisebox{-0.2zh}{{\scalebox{0.49}[1]{#1}\kern-.475zw
\raisebox{0.4zh}{\scalebox{0.49}[1]{#2}}}}\kern.45zw}
===========================


【秀丸】正規表現による置換 14/04/24(木)16:13:22
正規表現にチェックをしてから 置換

検索語 ○資料\\rensuji{..}
置換語 ○資料\\rensuji\{??\}

【秀丸】連番マクロ 14/04/24(木)16:11:10
論文用に「??」と入れると、マクロ実行で??部分が連番になるマクロ(2桁:01.02.03・・・)

===========================

#num = 1;
$str = ??;

while (1) {
replacedown $str. rightstr(00 + str(#num). 2);
if( result )
#num = #num + 1;
else
endmacro;
}

===========================

【TeX】文字を○で囲む 13/12/29(日)12:28:50
プリアンブル部に以下を設定

\def\maru#1{\kern.17zw\raisebox{0.15zh}{{\rm\ooalign{\hfil\lower.25ex\hbox{\scalebox{0.85}[0.7]{#1}}\hfil \crcr\mathhexbox20D}}}}

で、「\maru{●}」と記述することで 「●」が○で囲まれる。連数字も問題無く囲む。
\raisebox{0.15zh}の数値変更で、全体が左右に移動。
\lower.25exの数値変更で○内部の文字が左右に移動。
\scalebox{0.85}[0.7]の数値変更で○内部の文字の縦横の倍率が変更

「アクセスが拒否されました。」のメッセージが表示されるフォルダの開け方 11/05/01(日)00:12:38
例:フォルダ「SendTo」の場合

1 Windowsキー+Rでファイル名を指定して実行を立ち上げる。

2 shell:sendtoと入力してOKボタンを押す。(これでSendToフォルダが開く。)

【Firefox4】新規タブを開く際 当該ページの読み込みが始まる直前の背景色(白)を灰色(silver)にする方法。 11/04/21(木)22:16:12
userChrome.cssに以下を記入。

notificationbox{background-color:#C0C0C0 !important;}

Word2007のコマンド(ショートカットキーの設定用) 11/02/05(土)15:43:19
ルビ:FormatPhoneticGuide ([Ctrl]+r)
割注:FormatTwoLinesInOne ([Ctrl]+w)
縦中横:FormatHorizontalInV ([Ctrl]+t)
組文字:FormatCombineCharacters ([Ctrl]+2)
文字囲:DefaultCharBorder ([Ctrl]+k)
上付き:Superscript ([Ctrl]+u)
下付き:Subscript ([Ctrl]+s)

全41件が記録されています。
1ページに 10件ずつ表示されます
HOME PAGE
EasyJoho Ver1.1