# HG changeset patch # User okud # Date 1611661831 -32400 # Node ID 28a504cfdf34c43cb57f10d10c0f303b269b7b17 # Parent 35f83c3ab381f6d888b5b5746e8dd2e80bf8626b first diff -r 35f83c3ab381 -r 28a504cfdf34 Gears OS device driver.xmind Binary file Gears OS device driver.xmind has changed diff -r 35f83c3ab381 -r 28a504cfdf34 Makefile --- a/Makefile Mon Sep 28 17:24:57 2020 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -# Created by Daichi Toma on Nov 16, 2011 - -TARGET=mid_thesis - -LATEX=platex -BIBTEX=pbibtex -DVIPDF=dvipdfmx -p a4 -#You need setting "-l" option if You think You get a landscape PDF -#DVIPDF_OPT=-l - -#Embed fonts -#DVIPDF_OPT=-f hiraginoEmbed.map - -.SUFFIXES: .tex .dvi .pdf - -.tex.dvi: - $(LATEX) $< - #$(BIBTEX) $(TARGET) - $(LATEX) $< - $(LATEX) $< - -.dvi.pdf: - $(DVIPDF) $(DVIPDF_OPT) $< - - -all: $(TARGET).pdf - open $(TARGET).pdf - -pdf: $(TARGET).pdf - - -clean: - rm -f *.dvi *.aux *.log *.ps *.gz *.bbl *.blg *.toc *~ *.core - diff -r 35f83c3ab381 -r 28a504cfdf34 dummy.tex --- a/dummy.tex Mon Sep 28 17:24:57 2020 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ - -%%% jdummy.def -% -\DeclareRelationFont{JY1}{mc}{it}{}{OT1}{cmr}{it}{} -\DeclareRelationFont{JT1}{mc}{it}{}{OT1}{cmr}{it}{} -\DeclareFontShape{JY1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*min - <10.95><12><14.4><17.28><20.74><24.88> min10 - <-> min10}{} -\DeclareFontShape{JT1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tmin - <10.95><12><14.4><17.28><20.74><24.88> tmin10 - <-> tmin10}{} -\DeclareRelationFont{JY1}{mc}{sl}{}{OT1}{cmr}{sl}{} -\DeclareRelationFont{JT1}{mc}{sl}{}{OT1}{cmr}{sl}{} -\DeclareFontShape{JY1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*min - <10.95><12><14.4><17.28><20.74><24.88> min10 - <-> min10}{} -\DeclareFontShape{JT1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*tmin - <10.95><12><14.4><17.28><20.74><24.88> tmin10 - <-> tmin10}{} -\DeclareRelationFont{JY1}{mc}{sc}{}{OT1}{cmr}{sc}{} -\DeclareRelationFont{JT1}{mc}{sc}{}{OT1}{cmr}{sc}{} -\DeclareFontShape{JY1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*min - <10.95><12><14.4><17.28><20.74><24.88> min10 - <-> min10}{} -\DeclareFontShape{JT1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*tmin - <10.95><12><14.4><17.28><20.74><24.88> tmin10 - <-> tmin10}{} -\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmbx}{it}{} -\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmbx}{it}{} -\DeclareFontShape{JY1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*goth - <10.95><12><14.4><17.28><20.74><24.88> goth10 - <-> goth10}{} -\DeclareFontShape{JT1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth - <10.95><12><14.4><17.28><20.74><24.88> tgoth10 - <-> tgoth10}{} -\DeclareRelationFont{JY1}{gt}{sl}{}{OT1}{cmbx}{sl}{} -\DeclareRelationFont{JT1}{gt}{sl}{}{OT1}{cmbx}{sl}{} -\DeclareFontShape{JY1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth - <10.95><12><14.4><17.28><20.74><24.88> goth10 - <-> goth10}{} -\DeclareFontShape{JT1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth - <10.95><12><14.4><17.28><20.74><24.88> tgoth10 - <-> tgoth10}{} -\DeclareRelationFont{JY1}{gt}{sc}{}{OT1}{cmbx}{sc}{} -\DeclareRelationFont{JT1}{gt}{sc}{}{OT1}{cmbx}{sc}{} -\DeclareFontShape{JY1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*goth - <10.95><12><14.4><17.28><20.74><24.88> goth10 - <-> goth10}{} -\DeclareFontShape{JT1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*tgoth - <10.95><12><14.4><17.28><20.74><24.88> tgoth10 - <-> tgoth10}{} -\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmr}{it}{} -\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmr}{it}{} -\DeclareFontShape{JY1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*goth - <10.95><12><14.4><17.28><20.74><24.88> goth10 - <-> goth10}{} -\DeclareFontShape{JT1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth - <10.95><12><14.4><17.28><20.74><24.88> tgoth10 - <-> tgoth10}{} -\endinput -%%%% end of jdummy.def diff -r 35f83c3ab381 -r 28a504cfdf34 img/IMG_0382.jpeg Binary file img/IMG_0382.jpeg has changed diff -r 35f83c3ab381 -r 28a504cfdf34 img/RasUefi1.png Binary file img/RasUefi1.png has changed diff -r 35f83c3ab381 -r 28a504cfdf34 img/RasUefi2.jpeg Binary file img/RasUefi2.jpeg has changed diff -r 35f83c3ab381 -r 28a504cfdf34 img/xv6_1.jpeg Binary file img/xv6_1.jpeg has changed diff -r 35f83c3ab381 -r 28a504cfdf34 img/xv6_2.jpeg Binary file img/xv6_2.jpeg has changed diff -r 35f83c3ab381 -r 28a504cfdf34 img/xv6_3.jpeg Binary file img/xv6_3.jpeg has changed diff -r 35f83c3ab381 -r 28a504cfdf34 make.sh --- a/make.sh Mon Sep 28 17:24:57 2020 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -lualatex mid_thesis.tex && open mid_thesis.pdf -make clean diff -r 35f83c3ab381 -r 28a504cfdf34 mid_thesis.pdf Binary file mid_thesis.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 mid_thesis.tex --- a/mid_thesis.tex Mon Sep 28 17:24:57 2020 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -\documentclass[9.5pt]{jarticle} -\usepackage[dvips,dvipdfmx]{graphicx} -\usepackage{multicol} -\usepackage{picins} -\usepackage{fancyhdr} -\usepackage{here} -\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部工学科知能情報コース 中間発表予稿} -\usepackage[top=2cm, bottom=2cm, left=1cm, right=1cm]{geometry} - - - -\begin{document} -\title{Gears OSのデバイスドライバの開発\\Gears OS device driver development} -\author{学籍番号:175701G 氏名: 奥田光希 {}{} 指導教員 : 河野真治} -\date{} -\maketitle -\begin{abstract} -An OS have to be reliable and extensible. We are designing Gears OS with the goal of guaranteeing reliability for normal level calculations and scalability for meta-level calculations.Currently, It need to connect a Mac to run Geas OS on a Raspberry Pi via serial communication to get input.Being able to use a keyboard and mouse on the Gears OS on the Raspberry Pi will improve convenience. It would also eliminate the need to connect to hardware other than the Raspberry Pi through a PC.The purpose of this study is to develop a Gears OS Device Driver in CbC on a Rasberry Pi. -\end{abstract} - -\thispagestyle{fancy} -\begin{multicols*}{2} -\section{研究目的} -OSには信頼性が保証できることと拡張性があることが求められている。信頼性をノーマ ルレベルの計算に対して保証し、拡張性をメタレベルの計算で実現することを目標に Gears OS を設計中である。 -現在、Geas OSをRaspberry Pi上で動かすためにはMacとシリアル通信で繋げなければ入力ができない。 -Raspberry Pi上のGears OSでキーボードやマウスを使えるようになれば利便性が向上する。 -また、Raspberry Pi以外のハードウェアで動かす時にも、PCを介して接続しなくて良くなる。 -本研究では、Rasberry Pi上でGears OS のDevice DriverをCbCで開発しすることが目的である。 -\section{Device Driver} -OSは、接続された機器を直接理解することはできず、OSと接続機器の橋渡しの役割を担うのがDevice Driverである(図\ref{fig1})。Device DriverはOSごとに作成する必要がある。当研究室で開発されているGeas OSに対応するDevice Driver としてUSB接続機器が市場に多いことやRaspberry Piに接続端子があることからUSB Driverを開発する。USB Driverの構成は図\ref{fig2}のようになる。また、開発されたDevice Driverの信頼性の検証をしたいため、USB DriverのソースコードをCbCで書いていく。 -\begin{figure}[H] - \begin{center} - \includegraphics[width=75mm]{pic/fig1.pdf} - \end{center} - \caption{Device Driverの役割} - \label{fig1} -\end{figure} -\begin{figure}[H] - \begin{center} - \includegraphics[width=75mm]{pic/fig2.pdf} - \end{center} - \caption{USB Driverの構成} - \label{fig2} -\end{figure} -\cite{1,2} -\section{Countinuation based C(CbC)} -Countinuation based C(CbC)とは、当研究室で開発されているプログラミング言語である。 -CbCは、Cからサブルーチンコールとループ制御構造を取り除き、継続を導入したCの下位言語である。 -CbC は Code Segment を基本的な処理単位とする。 -C の関数とは異なり返り値を持たないが、Code Segment の宣言はCの関数の構文と同じように行い、型に\_\_code を用いる。 -CbC は for 文や while 文といったループ制御構文を持たないので、ループ処理は自分自身への再帰的な継続を行う事で実現する。 -現在の Code Segment から次の Code Segment への移動は goto の後に Code Segment 名と引数を並べて記述する。 -この goto による処理の遷移を継続と呼ぶ。 -C と異なり、戻り値を持たない Code Segment ではスタックに値を積んで行く必要が無くスタックは変更されない。このようなスタックに値を積まない継続を軽量継続と呼ぶ。 -この軽量継続により、並列化、ループ制御、関数コールとスタックの操作を意識した最適化がソースコードレベルで行えるようになる。 -\cite{3,4} - -\section{Geas OS} -Gears OSは当研究室で開発を行っているOSである。 -Gears OSの実装にはCbCを用いている。 -Gears OS では、プログラムの単位として Gear を用いる。 -Gear は並列実行の単位、データの分割、Gear 間の接続等になる。 -Code Gear はプログラムの処理そのものであり、任意の数の Data Gear を参照し、処理が完了すると任意の数の Data Gear に書き込む。 -Code Gear は接続された Data Gear 以外にアクセスできない。 -Code Segment と同じように Code Gear から次の Code Gear への処理の移動は goto の後に Code Gear の名前と引数を指定する事で実現できる。 -Data Gearはデータそのものを表す。int や文字列などの Primitive Data Type を持っている。 -Gear の特徴として処理やデータの構造が Code Gear、Data Gear に閉じている事にある。 -これにより、実行時間、メモリ使用量などを予測可能なものにすることができる。 -\cite{5} - -\section{xv6 on Raspberry Pi} - -\subsection{xv6} -xv6とは MIT のオペレーティングコースの教育目的で 2006 年に開発されたオペレーティングシステムである。 -xv6 はオリジナルである v6 が非常に古い C 言語で書かれている為、 ANSI-C に書き換えられ x86 に再実装された。xv6 は read や write などの systemcall、プロセス、仮想メモリ、カーネルとユーザーの分離、割り込み、ファイルシステムなど Unix の基本的な構造を持っている。 -xv6はRaspberry Piに移植することができ、ANSI-Cで書かれているxv6をCbCに書き直すことで、Raspberry Pi上でCbCを動かすことができる。 -\cite{6} - -\subsection{Cross Compile} -Cross Compileとは、別のOSで実行可能なコードを生成するコンパイル手法である。 -Raspbian以外の以外のOS環境であるxv6であらかじめRaspberry Pi上でCbCが動くようにCross Compileを行い、そのコードをRaspberry Piに移すことで、実行できるようになる。\cite{7} - - -\section{今後の予定} -\subsection{現状} -現段階では、Raspberry Pi上にGears OSを搭載している。 -また、Raspberry PiとMacをシリアル通信で繋げることができた。 -これにより、Raspberry Pi上のxv6でCbCを書くことができる。 -\subsection{研究計画} -今後の計画として本格的にDevice Driverを開発していく。 -USB Driverを開発するためにRaspberry PiのUEFI BIOSをbootできるようにする。 -UEFI BIOSとは、OSとプラットフォームウェアとの間のソフトウェアインターフェースを定義する使用である。 -その後、xHCIを実装するために、そのUSBプロトコルをCbCで実装していきたい。 -また、CbCのバージョンが上がったのでCross Compilerも新たに作成する必要がある。 - - -\begin{thebibliography}{9} -\bibitem{1}福谷武司,小谷章二,高橋智.Linux による USB デバイスドライバ作成と制御インタフェース開発 -\bibitem{2}城戸英之,吉田泰彦,大原茂之.Linux用USBデバイスドライバの開発支援に関する一提案(情報処理学会第67回全国大会,2005) -\bibitem{3}坂本昂弘,河野真治.xv6 kernel 上での CbC による interface の実装(2019) -\bibitem{4}桃原優,坂本昂弘,河野真治.継続を用いたxv6 kernelの書き換え(2019) -\bibitem{5}宮城光希, 河野真治,Code Gear と Data Gear を持つ Gears OS の設計(2018) -\bibitem{6}Russ Cox,Frans Kaashoek,Robert Morris. xv6 -\bibitem{7}桃原優,河野真治.Gears OS on Raspberry Pi(2018) - -\end{thebibliography} -\end{multicols*} -\end{document} diff -r 35f83c3ab381 -r 28a504cfdf34 paper/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/Makefile Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,37 @@ +# Created by Daichi Toma on Nov 16, 2011 + +TARGET=final_thesis + +LATEX=platex +BIBTEX=pbibtex +DVIPDF=dvipdfmx -p a4 +#You need setting "-l" option if You think You get a landscape PDF +#DVIPDF_OPT=-l + +#Embed fonts +#DVIPDF_OPT=-f hiraginoEmbed.map + +.SUFFIXES: .tex .dvi .pdf + +.tex.dvi: + $(LATEX) $< + #$(BIBTEX) $(TARGET) + $(LATEX) $< + $(LATEX) $< + +.dvi.pdf: + $(DVIPDF) $(DVIPDF_OPT) $< + + +all: $(TARGET).pdf + open $(TARGET).pdf + rm -f *.dvi *.aux *.log *.lof *.lol *.lot *.ps *.gz *.bbl *.blg *.toc *~ *.core + +dvi: $(TARGET).dvi + +pdf: $(TARGET).pdf + + +clean: + rm -f *.dvi *.aux *.log *.lof *.lol *.lot *.ps *.gz *.bbl *.blg *.toc *~ *.core + diff -r 35f83c3ab381 -r 28a504cfdf34 paper/chapter/bibitem.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/chapter/bibitem.tex Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,17 @@ +\begin{thebibliography}{99} + +\bibitem{kinjo} 金城篤史,城間政司,比嘉哲也,長田智和,玉城史郎,谷口祐治:``情報工学系学科における教育用計算機システムの自主構築に関する取り組み",教育システム情報学会論文誌,Vol.26,No.1,pp.79-88,2009/1 +\bibitem{kvm} KVM,https://www.linux-kvm.org/,2021/1/8. +\bibitem{docker} Docker,https://www.docker.com/,2021/1/8. +\bibitem{registry} Docker Registry,https://docs.docker.com/registry/,2021/1/8. +\bibitem{podman} Podman,https://podman.io/,2021/1/4. +\bibitem{singularity} Singularity,https://sylabs.io/singularity/,2021/1/8. +\bibitem{ceph} Ceph,https://docs.ceph.com/en/latest/,2021/1/12. +\bibitem{ansible} Ansible,https://www.ansible.com/,2021/1/12. +\bibitem{slurm} Slurm, https://slurm.schedmd.com/overview.html, 2021/1/14. +%\bibitem{gitlab} GitLab, https://about.gitlab.com/, 2021/1/14. +\bibitem{rsnapshot} rsnapshot, https://rsnapshot.org/, 2021/1/15. +\bibitem{ie-virsh} 平良 太貴 and 河野 真治,OS 授業向けマルチユーザ VM 環境の構築,研究報告システムソフトウェアとオペレーティング・システム(OS)(2014). +\bibitem{kido} 城戸翔太,安里悠矢,城間政司,長田智和,谷口祐治,"情報系学科における教育情報システムの構築及び運用管理に関する取り組み",研究報告インターネットと運用技術(IOT)(2016). + +\end{thebibliography} \ No newline at end of file diff -r 35f83c3ab381 -r 28a504cfdf34 paper/chapter/introduction.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/chapter/introduction.tex Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,3 @@ +\chapter{はじめに} +\pagenumbering{arabic} %ページ番号の表記方法 + diff -r 35f83c3ab381 -r 28a504cfdf34 paper/chapter/thanks.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/chapter/thanks.tex Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,9 @@ +\chapter*{謝辞} + +感謝します。 + +\thispagestyle{empty} + +\begin{flushright} +2021年 2月 \\宮平 賢 +\end{flushright} \ No newline at end of file diff -r 35f83c3ab381 -r 28a504cfdf34 paper/fig/ryukyu.pdf Binary file paper/fig/ryukyu.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 paper/final_thesis.pdf Binary file paper/final_thesis.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 paper/final_thesis.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/final_thesis.tex Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,81 @@ +\documentclass[a4j,12pt]{jreport} +%\usepackage[dvips]{graphicx} +\usepackage[dvipdfmx]{graphicx} +\usepackage{bmpsize} +\usepackage{mythesis} +\usepackage{multirow} +\usepackage{here} +\usepackage{listings} +\usepackage{comment} +\usepackage{caption} +\usepackage{url} + +\lstset{ + language={C}, + basicstyle={\footnotesize\ttfamily}, + identifierstyle={\footnotesize}, + commentstyle={\footnotesize\itshape}, + keywordstyle={\footnotesize\bfseries}, + ndkeywordstyle={\footnotesize}, + stringstyle={\footnotesize\ttfamily}, + frame={tb}, + breaklines=true, + columns=[l]{fullflexible}, + numbers=left, + xrightmargin=0zw, + xleftmargin=3zw, + numberstyle={\scriptsize}, + stepnumber=1, + numbersep=1zw, + lineskip=-0.5ex +} + +\def\lstlistlistingname{リスト目次} + +\setlength{\itemsep}{-1zh} +\title{Gears OS Devide Driver} +\icon{ + \includegraphics[width=50mm]{fig/ryukyu.pdf} +} +\year{令和2年度 卒業論文} +\belongto{琉球大学工学部工学科知能情報コース} +\author{175701G 氏名 {奥田 光希}\\ 指導教員 : {河野 真治} } + +\makeatletter +\renewcommand{\lstlistlistingname}{ソースコード目次} +\newcommand{\figcaption}[1]{\def\@captype{figure}\caption{#1}} +\newcommand{\tblcaption}[1]{\def\@captype{table}\caption{#1}} +\makeatother +\setlength\abovecaptionskip{0pt} + +\begin{document} + +\maketitle %タイトル +\baselineskip 17pt plus 1pt minus 1pt + +\setcounter{page}{0} + +\tableofcontents % 目次 +\listoffigures % 図目次 +\listoftables % 表目次 +\lstlistoflistings + +%%%%%%%%%%%% +% はじめに +%%%%%%%%%%%% + +\input{./chapter/introduction.tex} + +%%%%%%%%%%%% +% 参考文献 +%%%%%%%%%%%% + +\input{./chapter/bibitem.tex} + +%%%%%%%%%%%% +% 謝辞 +%%%%%%%%%%%% + +\input{./chapter/thanks.tex} + +\end{document} diff -r 35f83c3ab381 -r 28a504cfdf34 paper/mythesis.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/mythesis.sty Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,156 @@ +% +% 卒業論文スタイルファイル(mythesis.sty) +% version 1.0e +% +% ver 1.0e 02/07/2000 since +% usage: + +%\documentclass[a4j]{jreport} +%\usepackage{master_paper} +% +% +%\title{卒論タイトル \\ 長い} +%\etitle{\pLaTeX2e style test file for Teri's thesis } +%\year{平成11年度} +%\belongto{琉球大学大学工学部\\ 情報工学科} +%\author{豊平 絵梨} +% +%\begin{document} +% +%\maketitle +% +%%要旨 +%\input{abstract.tex} +% +%%目次 +%\tableofcontents +% +%%図目次 +%\listoffigures +% +%%表目次 +%\listoftables +% +%%第一章 +%\input{chapter1.tex} +%%chapter1.texの\chapter{}の後ろに次のコマンドを追加してください。 +%%ページカウントがリセットされ、ページ数がアラビア文字になります。 +%% \pagenumbering{arabic} +%%第二章 +%\input{chapter2.tex} +%%第三章 +%\input{chapter3.tex} +% +%%付録 +%\input{appendix.tex} +% +%%謝辞 +%%\input{thanx.tex} +% +%%参考文献 +%\input{biblography.tex} +% +%\end{document} + + +%長さ設定 +%\setlength{\topmargin}{-30mm} +%\addtolength{\oddsidemargin}{-15mm} +%\addtolength{\textwidth}{60mm} + +\topmargin -1in \addtolength{\topmargin}{35mm} +\headheight 0mm +\headsep 0mm +\oddsidemargin -1in \addtolength{\oddsidemargin}{30mm} +%\evensidemargin -1in \addtolength{\evensidemargin}{8mm} +\textwidth 160mm +\textheight 230mm +%\footheight 0mm +%\footskip 0mm +%\pagestyle{empty} + + +%年度 +\def\@year{} +\def\year#1{\gdef\@year{#1}} +%英文タイトル +\def\@etitle{} +\def\etitle#1{\gdef\@etitle{#1}} +%アイコン +\def\@icon{} +\def\icon#1{\gdef\@icon{#1}} +%所属 +\def\@belongto{} +\def\belongto#1{\gdef\@belongto{#1}} + +%表紙 +\renewcommand{\maketitle}{% +\newpage\null +\thispagestyle{empty} +\vskip 0cm% +\begin{center}% +\let\footnote\thanks + {\huge \@year \par}% + \vskip 3em% + {\Huge \@title \par}% + \vskip 1em% + {\huge \@etitle \par}% + \vskip 8em% + {\huge \@icon \par}% + \vskip 0.5em% + {\huge \@belongto \par}% + \vskip 1.0em% + {\huge \@author \par}% + +\end{center}% +\par\vskip 1.5em +} + + +%abstract +\renewenvironment{abstract}{% + \titlepage + \thispagestyle{empty} + \null\vfil + \@beginparpenalty\@lowpenalty + {\Huge \bfseries \abstractname}% + \begin{center}% + \@endparpenalty\@M + \end{center} +}% + + +%目次 +\renewcommand{\tableofcontents}{% + \pagestyle{plain} + \if@twocolumn\@restonecoltrue\onecolumn + \else\@restonecolfalse\fi + \chapter*{\contentsname + \@mkboth{\contentsname}{\contentsname}% + } \pagenumbering{roman}\@starttoc{toc}% + \if@restonecol\twocolumn\fi +} + +%章 +\renewcommand{\chapter}{% + \pagestyle{plain} + \if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{jpl@in}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} + + +\renewcommand{\prepartname}{} %\renewcommand{\prepartname}{第} +\renewcommand{\postpartname}{部} +\renewcommand{\prechaptername}{第}%\renewcommand{\prechaptername}{第} +\renewcommand{\postchaptername}{章} +\renewcommand{\contentsname}{目 次} +\renewcommand{\listfigurename}{図 目 次} +\renewcommand{\listtablename}{表 目 次} +\renewcommand{\bibname}{参考文献} +\renewcommand{\indexname}{索 引} +\renewcommand{\figurename}{図} +\renewcommand{\tablename}{表} +\renewcommand{\appendixname}{付 録} +\renewcommand{\abstractname}{要 旨} diff -r 35f83c3ab381 -r 28a504cfdf34 pic/USBDriver.graffle Binary file pic/USBDriver.graffle has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/USBDriver.pdf Binary file pic/USBDriver.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/device.graffle Binary file pic/device.graffle has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/driver.graffle Binary file pic/driver.graffle has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/driver.pdf Binary file pic/driver.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/driver1.pdf Binary file pic/driver1.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/drover.graffle Binary file pic/drover.graffle has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/emblem-bitmap.pdf Binary file pic/emblem-bitmap.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/fig1.pdf Binary file pic/fig1.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 pic/fig2.pdf Binary file pic/fig2.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 picins.sty --- a/picins.sty Mon Sep 28 17:24:57 2020 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,578 +0,0 @@ -% PICINS.STY --- Style File zum Einbinden von Bildern -% Autor: J. Bleser, E. Lang -% Hochschulrechenzentrum -% Technische Hochschule Darmstadt -% !!! Dieses Style-File ist urheberrechtlich geschuetzt !!! -% !!! Aenderungen nur mit Zustimmung der Autoren !!! -\message{Option `picins' Version 3.0 Sep. 1992, TH Darmstadt/HRZ} -\newbox\@BILD% -\newbox\@TEXT% -\newdimen\d@breite% -\newdimen\d@hoehe% -\newdimen\d@xoff% -\newdimen\d@yoff% -\newdimen\d@shad% -\newdimen\d@dash% -\newdimen\d@boxl% -\newdimen\d@pichskip% -\newdimen\d@tmp -\newdimen\d@tmpa -\newdimen\d@bskip -\newdimen\hsiz@% -\newdimen\p@getot@l% -\newcount\c@breite -\newcount\c@hoehe -\newcount\c@xoff -\newcount\c@yoff -\newcount\c@pos -\newcount\c@shad -\newcount\c@dash -\newcount\c@boxl -\newcount\c@zeilen% -\newcount\@changemode% -\newcount\c@piccaption% -\newcount\c@piccaptionpos% -\newcount\c@picpos -\newcount\c@whole% -\newcount\c@half% -\newcount\c@tmp -\newcount\c@tmpa -\newcount\c@tmpb -\newcount\c@tmpc -\newcount\c@tmpd -\newskip\d@leftskip -\newif\if@list \@listfalse% -\newif\if@offset% - - -\c@piccaptionpos=1% -\c@picpos=0 -\d@shad=4pt% -\d@dash=4pt% -\d@boxl=10pt% -\d@pichskip=1em% -\@changemode=0% -\def\@captype{figure}% -\let\old@par=\par% - -\def\pichskip#1{\d@pichskip #1\relax} - - -\def\shadowthickness#1{\d@shad #1\relax} - - -\def\dashlength#1{\d@dash #1\relax} - - -\def\boxlength#1{\d@boxl #1\relax} - - -\def\picchangemode{\@changemode=1}% -\def\nopicchangemode{\@changemode=0}% - - -\def\piccaptionoutside{\c@piccaptionpos=1}% -\def\piccaptioninside{\c@piccaptionpos=2}% -\def\piccaptionside{\c@piccaptionpos=3}% -\def\piccaptiontopside{\c@piccaptionpos=4}% - -\def\piccaption{\@ifnextchar [{\@piccaption}{\@piccaption[]}} -\def\@piccaption[#1]#2{\c@piccaption=1\def\sh@rtf@rm{#1}\def\capti@nt@xt{#2}} -\def\make@piccaption{% - \hsiz@\d@breite% - \ifnum\c@piccaptionpos=2% - \advance\hsiz@ -2\fboxsep% - \fi% - \ifnum\c@piccaptionpos>2% - \hsiz@\hsize\advance\hsiz@-\d@breite\advance\hsiz@-\d@pichskip% - \fi% - \setbox\@TEXT=\vbox{\hsize\hsiz@\caption[\sh@rtf@rm]{\capti@nt@xt}}% -} - - - -\def\newcaption{\refstepcounter\@captype\@dblarg{\@newcaption\@captype}} -\long\def\@newcaption#1[#2]#3{% - \old@par% - \addcontentsline{\csname ext@#1\endcsname }{#1}% - {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}} - \begingroup\@parboxrestore\normalsize% - \@newmakecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\old@par% - \endgroup% -} -\long\def\@newmakecaption#1#2{% - \vskip 10pt% - \setbox\@tempboxa \hbox {#1: #2}% - \ifdim \wd\@tempboxa >\hsize% - \setbox0=\hbox{#1: }\dimen0=\hsize\advance\dimen0 by-\wd0 - \setbox1=\vtop{\hsize=\dimen0 #2} - \hbox{\box0 \box1} - \par - \else \hbox to\hsize {\hfil \box \@tempboxa \hfil} - \fi -} - - - - - -\def\parpic{% - \@ifnextchar ({\iparpic}{\iparpic(0pt,0pt)} -} -\def\iparpic(#1,#2){% - \@ifnextchar ({\@offsettrue\iiparpic(#1,#2)}% - {\@offsetfalse\iiparpic(#1,#2)(0pt,0pt)} -} -\def\iiparpic(#1,#2)(#3,#4){% - \@ifnextchar [{\iiiparpic(#1,#2)(#3,#4)}{\iiiparpic(#1,#2)(#3,#4)[l]} -} -\def\iiiparpic(#1,#2)(#3,#4)[#5]{% - \@ifnextchar [{\ivparpic(#1,#2)(#3,#4)[#5]}{\ivparpic(#1,#2)(#3,#4)[#5][]} -} -\def\ivparpic(#1,#2)(#3,#4)[#5][#6]#7{% - \let\par=\old@par\par% - \hangindent0pt\hangafter1% - \setbox\@BILD=\hbox{#7}% - \d@breite=#1\d@breite=\the\d@breite% - \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi% - \c@breite=\d@breite\divide\c@breite by65536% - \multiply\c@piccaption\c@piccaptionpos% - \d@hoehe=#2\d@hoehe=\the\d@hoehe% - \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi% - \c@hoehe=\d@hoehe\divide\c@hoehe by65536% - \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536% - \d@yoff=\d@hoehe% - \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536% - \c@pos=1\unitlength1pt% - \if@offset% - \setbox\@BILD=\hbox{% - \begin{picture}(\c@breite,\c@hoehe)% - \put(0,0){\makebox(\c@breite,\c@hoehe){}}% - \put(\c@xoff,\c@yoff){\box\@BILD}% - \end{picture}% - }% - \else% - \setbox\@BILD=\hbox{% - \begin{picture}(\c@breite,\c@hoehe)% - \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}% - \end{picture}% - }% - \fi% - \ifnum\c@piccaption=2% - \make@piccaption% - \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT% - \c@hoehe=\d@hoehe\divide\c@hoehe by65536% - \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}% - \hbox{\hspace{\fboxsep}\box\@TEXT}% - \vspace{4pt}}% - \fi% - \@tfor\@tempa := #5\do{% - \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa l\c@pos=1\fi% - \if\@tempa r\c@pos=2\fi% - }% - \ifnum\c@piccaption=1% - \make@piccaption% - \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT% - \c@hoehe=\d@hoehe\divide\c@hoehe by65536% - \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}\hbox{\box\@TEXT}\vspace{4pt}}% - \fi% - \ifodd\count0\c@picpos=0\else\c@picpos=\@changemode\fi% - \pagetotal=\the\pagetotal% - \d@tmp=\pagegoal\advance\d@tmp by-\pagetotal\advance\d@tmp by-\baselineskip% - \ifdim\d@hoehe>\d@tmp% - \vskip 0pt plus\d@hoehe\relax\pagebreak[3]\vskip 0pt plus-\d@hoehe\relax% - \ifnum\c@picpos=1\c@picpos=0\else\c@picpos=\@changemode\fi% - \fi% - \ifnum\c@picpos=1\ifnum\c@pos=1\c@pos=2\else\c@pos=1\fi\fi% - \ifnum\@listdepth>0 - \@listtrue\parshape 0% - \advance\hsize -\rightmargin% - \d@leftskip \leftskip% - \leftskip \@totalleftmargin% - \if@inlabel\rule{\linewidth}{0pt}\vskip-\baselineskip\relax\fi% - \else\@listfalse\medskip% - \fi% - \if@list\d@tmpa=\linewidth\else\d@tmpa=\hsize\fi% - \ifnum\c@piccaption=3% - \make@piccaption% - \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT% - \ifdim\d@hoehe>\d@tmp% - \setbox\@TEXT=\vbox to\d@hoehe{\vfill\box\@TEXT\vspace{.2\baselineskip}\vfill}% - \else% - \setbox\@BILD=\vbox to\d@tmp{\vfill\box\@BILD\vfill}% - \d@hoehe\d@tmp% - \fi% - \fi% - \ifnum\c@piccaption=4% - \make@piccaption% - \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT% - \setbox\@TEXT=\vbox to\d@hoehe{\vspace{-10pt}\box\@TEXT\vfil}% - \advance\d@hoehe-\d@tmp% - \fi% - \ifnum\c@pos=1\d@tmpa=0pt% - \ifnum\c@piccaption>2% - \setbox\@BILD=\hbox{\box\@BILD\hspace{\d@pichskip}\hbox{\box\@TEXT}}% - \fi% - \else\advance\d@tmpa by-\wd\@BILD\d@breite=-\d@breite% - \ifnum\c@piccaption>2% - \d@tmpa=0pt% - \setbox\@BILD=\hbox{\hbox{\box\@TEXT}\hspace{\d@pichskip}\box\@BILD}% - \fi% - \fi% - \p@getot@l\the\pagetotal% - \d@bskip\d@hoehe\advance\d@bskip by\parskip\advance\d@bskip by.3\baselineskip% - {\noindent\hspace*{\d@tmpa}\relax% - \box\@BILD\nopagebreak\vskip-\d@bskip\relax\nopagebreak}% - \d@tmp=-\d@hoehe\divide\d@tmp by\baselineskip% - \c@zeilen=\d@tmp\advance\c@zeilen by-1% - \ifdim\d@breite<0pt\advance\d@breite by-\d@pichskip% - \else\advance\d@breite by\d@pichskip% - \fi% - \hangindent=\d@breite% - \hangafter=\c@zeilen% - \let\par=\x@par% - \ifnum\c@piccaption=3% - \hangindent0pt\hangafter1\let\par=\old@par% - \vskip\d@hoehe\vskip.2\baselineskip% - \fi% - \c@piccaption=0% -} - - - - -\newdimen\ptoti -\newdimen\ptotii -\def\x@par{% - \ptoti\pagetotal% - \old@par% - \ptotii\pagetotal% - \ifdim\ptoti=\ptotii% - \d@tmp\d@hoehe% - \else% - \d@tmp\baselineskip% - \multiply\d@tmp by\prevgraf% - \advance\d@tmp by\parskip% - \global\advance\d@hoehe by-\d@tmp\d@tmp=\d@hoehe% - \fi% - \ifdim\d@hoehe>0pt% - \divide\d@tmp by\baselineskip\c@zeilen=-\d@tmp\advance\c@zeilen by-1% - \c@zeilen=\the\c@zeilen% - \else\c@zeilen=0 - \fi - \ifnum\c@zeilen<0\hangafter=\c@zeilen\hangindent=\d@breite% - \else\let\par=\old@par% - \hangindent 0pt% - \leftskip \d@leftskip% - \if@list\parshape \@ne \@totalleftmargin \linewidth% - \advance\hsize \rightmargin% - \fi% - \fi% -} - - -\def\picskip#1{% - \let\par=\old@par% - \par% - \pagetotal\the\pagetotal% - \c@tmp=#1\relax% - \ifnum\c@tmp=0% - \d@tmp\baselineskip\multiply\d@tmp by\prevgraf\advance\d@tmp\parskip% - \ifdim\p@getot@l<\pagetotal - \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex% - \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi% - \fi% - \ifdim\p@getot@l=\pagetotal% - \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex% - \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi% - \fi% - \else\hangafter=-\c@tmp\hangindent=\d@breite% - \fi% - \leftskip \d@leftskip% - \if@list\parshape \@ne \@totalleftmargin \linewidth% - \advance\hsize \rightmargin% - \fi% -} - - - - - - -\def\hpic{% - \@ifnextchar ({\ihpic}{\ihpic(0pt,0pt)} -} -\def\ihpic(#1,#2){% - \@ifnextchar ({\@offsettrue\iihpic(#1,#2)}% - {\@offsetfalse\iihpic(#1,#2)(0pt,0pt)} -} -\def\iihpic(#1,#2)(#3,#4){% - \@ifnextchar [{\iiihpic(#1,#2)(#3,#4)}{\iiihpic(#1,#2)(#3,#4)[l]} -} -\def\iiihpic(#1,#2)(#3,#4)[#5]{% - \@ifnextchar [{\ivhpic(#1,#2)(#3,#4)[#5]}{\ivhpic(#1,#2)(#3,#4)[#5][]} -} -\def\ivhpic(#1,#2)(#3,#4)[#5][#6]#7{% - \setbox\@BILD=\hbox{#7}% - \d@breite=#1\d@breite=\the\d@breite% - \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi% - \c@breite=\d@breite\divide\c@breite by65536% - \d@hoehe=#2\d@hoehe=\the\d@hoehe% - \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi% - \c@hoehe=\d@hoehe\divide\c@hoehe by65536% - \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536% - \d@yoff=\d@hoehe% - \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536% - \c@pos=0\d@tmpa=\parindent\parindent=0pt\unitlength1pt% - \if@offset - \setbox\@BILD=\hbox{% - \begin{picture}(\c@breite,\c@hoehe)% - \put(0,0){\makebox(\c@breite,\c@hoehe){}}% - \put(\c@xoff,\c@yoff){\box\@BILD}% - \end{picture}% - }% - \else% - \setbox\@BILD=\hbox{% - \begin{picture}(\c@breite,\c@hoehe)% - \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}% - \end{picture}% - }% - \fi% - \@tfor\@tempa := #5\do{% - \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa t\c@pos=1\fi% - \if\@tempa b\c@pos=2\fi% - }% - \ifnum\c@pos=0\parbox{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% - \ifnum\c@pos=1\parbox[t]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% - \ifnum\c@pos=2\parbox[b]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% - \parindent=\d@tmpa% -} - - - - - - -\def\Rahmen(#1,#2)#3{% - \c@whole=\@wholewidth\divide\c@whole by65536% - \c@half=\@halfwidth\divide\c@half by65536% - \c@tmpa=#1\advance\c@tmpa by\c@whole\advance\c@tmpa by\c@whole% - \c@tmpb=#2\advance\c@tmpb by\c@whole\advance\c@tmpb by\c@whole% - \begin{picture}(\c@tmpa,\c@tmpb)% - \put(\c@whole,\c@half){\framebox(#1,#2){#3}}% - \end{picture}% - \global\advance\d@breite by2\@wholewidth% - \global\advance\d@hoehe by2\@wholewidth% -} - - -\def\Schatten(#1,#2)#3{% - \c@whole=\@wholewidth\divide\c@whole by65536% - \c@half=\@halfwidth\divide\c@half by65536% - \c@shad=\d@shad\divide\c@shad by65536% - \c@tmp=\c@whole\advance\c@tmp by\c@whole\c@tmpd=\c@tmp% - \advance\c@tmp by\c@shad% - \advance\c@tmpd by#1% - \advance\c@half by\c@shad% - \c@tmpa=#1\advance\c@tmpa by\c@tmp% - \c@tmpb=#2\advance\c@tmpb by\c@tmp% - \begin{picture}(\c@tmpa,\c@tmpb)% - \put(\c@whole,\c@half){\framebox(#1,#2){#3}}% - \put(\c@shad,0){\rule{\c@tmpd pt}{\c@shad pt}}% - \put(\c@tmpd,0){\rule{\c@shad pt}{#2 pt}}% - \end{picture}% - \global\advance\d@breite by2\@wholewidth\global\advance\d@breite by\d@shad% - \global\advance\d@hoehe by2\@wholewidth\global\advance\d@hoehe by\d@shad% -} - - -\def\Oval(#1,#2)#3{% - \@wholewidth=0.4pt% - \c@tmpa=\the#1\divide\c@tmpa by2% - \c@tmpb=\the#2\divide\c@tmpb by2% - \begin{picture}(#1,#2)% - \put(\c@tmpa,\c@tmpb){\oval(#1,#2)}% - \put(0.4,0.4){#3}% - \end{picture}% - \global\advance\d@breite by1pt\global\advance\d@hoehe by1pt% -} - - -\def\Strich(#1,#2)#3{% - \c@whole=\@wholewidth\divide\c@whole by65536% - \c@half=\@halfwidth\divide\c@half by65536% - \c@dash=\d@dash\divide\c@dash by65536% - \c@tmp=\c@whole\advance\c@tmp by\c@whole% - \c@tmpa=#1\advance\c@tmpa by\c@tmp% - \c@tmpb=#2\advance\c@tmpb by\c@tmp% - \c@tmpc=#1\advance\c@tmpc by\c@whole% - \c@tmpd=#2\advance\c@tmpd by\c@whole% - \begin{picture}(\c@tmpa,\c@tmpb)% - \put(\c@half,\c@half){\dashbox{\c@dash}(\c@tmpc,\c@tmpd){#3}}% - \end{picture}% - \global\advance\d@breite by2\@wholewidth% - \global\advance\d@hoehe by2\@wholewidth% -} - - -\def\Kasten(#1,#2)#3{% - \@wholewidth=0.4pt% - \c@boxl=\d@boxl\divide\c@boxl by65536\c@boxl=\the\c@boxl% - \c@tmpa=#1\advance\c@tmpa by\c@boxl% - \c@tmpb=#2\advance\c@tmpb by\c@boxl% - \c@tmp=#2% - \begin{picture}(\c@tmpa,\c@tmpb)% - \put(0,\c@boxl){\framebox(#1,#2){#3}}% - \put(\c@boxl,0){\line(-1,1){\c@boxl}}% - \put(\c@boxl,0){\line(1,0){#1}\line(-1,1){\c@boxl}}% - \put(\c@boxl,0){\put(#1,0){\line(0,1){\c@tmp}% - \put(0,\c@tmp){\line(-1,1){\c@boxl}}}}% - \end{picture}% - \global\advance\d@breite by\d@boxl% - \global\advance\d@hoehe by\d@boxl% -} - - - - - -\newbox\env@box% -\newdimen\d@envdp -\newcount\c@hsize -\newcount\c@envdp -\newdimen\d@envb - -\long\def\frameenv{\@ifnextchar [{\@frameenv}{\@frameenv[\textwidth]}} -\long\def\@frameenv[#1]{% - \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 - \advance\textwidth by-2\@wholewidth - \advance\textwidth by-2\fboxsep - \hsize=\textwidth \linewidth=\textwidth - \setbox\env@box=\vbox\bgroup}% -\def\endframeenv{% - \egroup% - \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ - \c@breite=\d@envb \divide\c@breite by65536 - \advance\d@envb by-2\@wholewidth - \c@hsize=\d@envb \divide\c@hsize by65536% - \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% - \advance\d@envdp by2\fboxsep% - \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth - \c@hoehe=\d@hoehe \divide\c@hoehe by65536 - \c@envdp=\d@envdp \divide\c@envdp by65536% - \c@tmp=\@wholewidth \divide\c@tmp by65536 - \vskip\@wholewidth% - \unitlength 1pt\noindent% - \begin{picture}(\c@breite,\c@hoehe)(0,0) - \put(\c@tmp,\c@tmp){\framebox(\c@hsize,\c@envdp){\box\env@box}} - \end{picture}% -} - - - -\long\def\shadowenv{\@ifnextchar [{\@shadowenv}{\@shadowenv[\textwidth]}} -\long\def\@shadowenv[#1]{% - \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 - \advance\textwidth by-2\@wholewidth - \advance\textwidth by-2\fboxsep - \advance\textwidth by-\d@shad% - \hsize=\textwidth \linewidth=\textwidth - \setbox\env@box=\vbox\bgroup}% -\def\endshadowenv{% - \egroup - \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ - \d@tmpa=\d@envb - \c@breite=\d@envb \divide\c@breite by65536 - \advance\d@envb by-2\@wholewidth \advance\d@envb by-\d@shad - \c@hsize=\d@envb \divide\c@hsize by65536% - \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% - \advance\d@envdp by2\fboxsep% - \c@envdp=\d@envdp \divide\c@envdp by65536% - \d@hoehe=\d@envdp - \advance\d@hoehe by2\@wholewidth \advance\d@hoehe by\d@shad - \c@hoehe=\d@hoehe \divide\c@hoehe by65536 - \c@shad =\d@shad \divide\c@shad by65536 - \c@tmp=\@wholewidth \divide\c@tmp by65536 - \advance\d@tmpa by-2\d@shad - \c@xoff =\d@tmpa \divide\c@xoff by65536 - \advance\c@xoff by\c@shad \advance\c@xoff by-1 - \advance\d@envdp by\@wholewidth - \vskip\@halfwidth - \unitlength 1pt\noindent% - \begin{picture}(\c@breite,\c@hoehe)(0,0) - \put(\c@tmp,\c@shad){\framebox(\c@hsize,\c@envdp){\box\env@box}} - \put(\c@shad,0){\rule{\d@tmpa}{\d@shad}}% - \put(\c@xoff,0){\rule{\d@shad}{\d@envdp}}% - \end{picture}% - \vskip\@halfwidth -} - - -\long\def\dashenv{\@ifnextchar [{\@dashenv}{\@dashenv[\textwidth]}} -\long\def\@dashenv[#1]{% - \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 - \advance\textwidth by-2\@wholewidth \advance\textwidth by-2\fboxsep - \hsize=\textwidth \linewidth=\textwidth - \setbox\env@box=\vbox\bgroup}% -\long\def\enddashenv{% - \egroup - \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ - \c@breite=\d@envb \divide\c@breite by65536 - \advance\d@envb by-\@wholewidth - \c@hsize=\d@envb \divide\c@hsize by65536% - \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% - \advance\d@envdp by2\fboxsep% - \advance\d@envdp by\@wholewidth - \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth - \c@hoehe=\d@hoehe \divide\c@hoehe by65536 - \c@envdp=\d@envdp \divide\c@envdp by65536% - \c@dash=\d@dash \divide\c@dash by65536% - \c@whole=\@wholewidth \divide\c@whole by65536 - \c@half=\@halfwidth \divide\c@half by 65536 - \noindent\unitlength 1pt - \begin{picture}(\c@breite,\c@hoehe)(0,0) - \put(\c@half,\c@whole){\dashbox{\c@dash}(\c@hsize,\c@envdp){\box\env@box}} - \end{picture}% -} - - -\long\def\ovalenv{\@ifnextchar [{\@ovalenv}{\@ovalenv[\textwidth]}}% -\long\def\@ovalenv[#1]{% - \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 - \advance\textwidth by-4\fboxsep - \hsize=\textwidth \linewidth=\textwidth - \setbox\env@box=\vbox\bgroup}% -\long\def\endovalenv{% - \egroup - \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ - \@wholewidth=0.4pt - \c@breite=\d@envb \divide\c@breite by65536 - \advance\d@envb by-2\@wholewidth - \c@hsize=\d@envb \divide\c@hsize by65536% - \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% - \advance\d@envdp by4\fboxsep% - \c@envdp=\d@envdp \divide\c@envdp by65536% - \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth - \c@hoehe=\d@hoehe \divide\c@hoehe by65536 - \c@tmpa=\c@hsize \divide\c@tmpa by2% - \c@tmpb=\c@envdp \divide\c@tmpb by2% - \d@tmpa=2\fboxsep \advance\d@tmpa by\@wholewidth - \c@xoff=\d@tmpa \divide\c@xoff by65536% - \advance\d@tmpa by\dp\env@box - \c@yoff=\d@tmpa \divide\c@yoff by65536% - \unitlength 1pt\noindent - \begin{picture}(\c@breite,\c@hoehe)(0,0) - \put(\c@tmpa,\c@tmpb){\oval(\c@hsize,\c@envdp)} - \put(\c@xoff,\c@yoff){\box\env@box}% - \end{picture}% -} diff -r 35f83c3ab381 -r 28a504cfdf34 prepaper/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prepaper/Makefile Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,37 @@ +# Created by Daichi Toma on Nov 16, 2011 + +TARGET=pre + +LATEX=platex +BIBTEX=pbibtex +DVIPDF=dvipdfmx -p a4 +#You need setting "-l" option if You think You get a landscape PDF +#DVIPDF_OPT=-l + +#Embed fonts +#DVIPDF_OPT=-f hiraginoEmbed.map + +.SUFFIXES: .tex .dvi .pdf + +.tex.dvi: + $(LATEX) $< + #$(BIBTEX) $(TARGET) + $(LATEX) $< + $(LATEX) $< + +.dvi.pdf: + $(DVIPDF) $(DVIPDF_OPT) $< + + +all: $(TARGET).pdf + open $(TARGET).pdf + rm -f *.dvi *.aux *.log *.lof *.lol *.lot *.ps *.gz *.bbl *.blg *.toc *~ *.core + +dvi: $(TARGET).dvi + +pdf: $(TARGET).pdf + + +clean: + rm -f *.dvi *.aux *.log *.lof *.lol *.lot *.ps *.gz *.bbl *.blg *.toc *~ *.core + diff -r 35f83c3ab381 -r 28a504cfdf34 prepaper/fig/emblem-bitmap.pdf Binary file prepaper/fig/emblem-bitmap.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 prepaper/fig/ryukyu.pdf Binary file prepaper/fig/ryukyu.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 prepaper/jlisting.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prepaper/jlisting.sty Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,216 @@ +\NeedsTeXFormat{LaTeX2e} +\def\filedate{2006/02/20} +\def\fileversion{0.2} +\ProvidesPackage{jlisting}[\filedate\space\fileversion\space(Thor)] +% +\newcount\lst@nextchar +\let\lst@@ProcessSpace\lst@ProcessSpace +\def\lst@ProcessSpace#1{% + \lst@check@chartype{#1}% + \lst@@ProcessSpace + \lst@whitespacetrue} +\let\lst@@ProcessLetter\lst@ProcessLetter +\def\lst@ProcessLetter#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessLetter{#1}}% + \relax} +\let\lst@@ProcessDigit\lst@ProcessDigit +\def\lst@ProcessDigit#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessDigit{#1}}% + \relax} +\let\lst@@ProcessOther\lst@ProcessOther +\def\lst@ProcessOther#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessOther{#1}}% + \relax} +\let\lst@@ProcessTabulator\lst@ProcessTabulator +\def\lst@ProcessTabulator#1{% + \lst@check@chartype{#1}% + \lst@@ProcessTabulator + \relax} +\def\lst@check@chartype#1#2#3{% + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \afterassignment\remove@to@nnil + \@tempa\@nnil + #2% + \ifnum\lst@nextchar<\@cclvi + #3% + \else + \lst@ifletter \else \lst@OutputOther \fi + \lst@whitespacefalse + \expandafter\lst@AppendJchar + \fi + #1} +\def\lst@AppendJchar#1#2{% + \lst@check@chartype{#2}% + {\advance\lst@length\@ne\lst@Append{#1}}% + \relax} +\def\lst@check@chartype@BOL#1{% + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \afterassignment\remove@to@nnil + \@tempa\@nnil + \ifnum\lst@nextchar<\@cclvi\else + \lst@whitespacefalse + \expandafter\lst@AppendJchar + \fi + #1} +\def\lst@InputListing#1{% + \begingroup + \lsthk@PreSet \gdef\lst@intname{#1}% + \expandafter\lstset\expandafter{\lst@set}% + \lsthk@DisplayStyle + \catcode\active=\active + \lst@Init\relax \let\lst@gobble\z@ + \lst@SkipToFirst + \lst@ifprint \def\lst@next{\lst@get@filecontents{#1}}% + \else \let\lst@next\@empty + \fi + \lst@next + \lst@DeInit + \endgroup} +\newread\lst@inputfile +\def\lst@get@filecontents#1{% + \let\lst@filecontents\@empty + \openin\lst@inputfile=#1\relax + \let\@lst@get@filecontents@prevline\relax + \lst@get@filecontents@loop + \closein\lst@inputfile + \lst@filecontents\empty} +\def\lst@get@filecontents@loop{% + \read\lst@inputfile to\@lst@get@filecontents@currline + \ifx\@lst@get@filecontents@prevline\relax\else + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\lst@filecontents + \expandafter\expandafter\expandafter{% + \expandafter\lst@filecontents\@lst@get@filecontents@prevline}% + \fi + \let\@lst@get@filecontents@prevline\@lst@get@filecontents@currline + \ifeof\lst@inputfile\else + \expandafter\lst@get@filecontents@loop + \fi} +%%% [$B$3$N=hM}$b!$AjEv6/0z$G$9!%(B] +\def\lst@BOLGobble{% + \ifnum\lst@gobble>\z@ + \@tempcnta\lst@gobble\relax + \expandafter\lst@BOLGobble@ + \else + \expandafter\lst@check@chartype@BOL + \fi} +\def\lst@BOLGobble@#1{% + \let\lst@next#1% + \ifx \lst@next\relax\else + \ifx \lst@next\lst@MProcessListing\else + \ifx \lst@next\lst@ProcessFormFeed\else + \ifx \lst@next\lstenv@backslash + \let\lst@next\lstenv@BOLGobble@@ + \else + \let\lst@next\lst@BOLGobble@@ + \ifx #1\lst@ProcessTabulator + \advance\@tempcnta-\lst@tabsize\relax + \ifnum\@tempcnta<\z@ + \lst@length-\@tempcnta \lst@PreGotoTabStop + \fi + \else + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \@tempa + \ifnum\lst@nextchar<\@cclvi\else + \advance\@tempcnta\m@ne + \fi + \advance\@tempcnta\m@ne + \fi + \fi \fi \fi \fi + \lst@next} +\def\lst@BOLGobble@@{% + \ifnum\@tempcnta>\z@ + \expandafter\lst@BOLGobble@ + \else + \expandafter\lst@check@chartype@BOL + \fi +} +% +% \begin{$B=$@5;v9`(B}{1.3} +% $B$A$g$C$H$7$?=$@5(B +\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1} +% $B%=!<%9%3!<%IL\:\$7$^$7$?!#(B + +\begin{quote} + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21172.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21184.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21189.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21197.html} +\end{quote} + + Copyright $B$O5H1JE/H~;a$K$"$k$N$@$H;W$$$^$9!%(B + +\section{$B99?7MzNr(B}% ChageLogs + +\begin{description} + \item[ver.~0.1 (2004/03/24)] + $B$H$j$"$($:8x3+!%(B + \item[ver.~0.2 (2006/02/20)] + \verb|\lst@breakProcessOther| $BL?Na$NDj5A$NDI2C!%(B +\end{description} + +\section{$B%=!<%9%3!<%I(B} +\par\narrowbaselines +\verbatiminput{jlisting.sty} +\end{document} diff -r 35f83c3ab381 -r 28a504cfdf34 prepaper/picins.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prepaper/picins.sty Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,578 @@ +% PICINS.STY --- Style File zum Einbinden von Bildern +% Autor: J. Bleser, E. Lang +% Hochschulrechenzentrum +% Technische Hochschule Darmstadt +% !!! Dieses Style-File ist urheberrechtlich geschuetzt !!! +% !!! Aenderungen nur mit Zustimmung der Autoren !!! +\message{Option `picins' Version 3.0 Sep. 1992, TH Darmstadt/HRZ} +\newbox\@BILD% +\newbox\@TEXT% +\newdimen\d@breite% +\newdimen\d@hoehe% +\newdimen\d@xoff% +\newdimen\d@yoff% +\newdimen\d@shad% +\newdimen\d@dash% +\newdimen\d@boxl% +\newdimen\d@pichskip% +\newdimen\d@tmp +\newdimen\d@tmpa +\newdimen\d@bskip +\newdimen\hsiz@% +\newdimen\p@getot@l% +\newcount\c@breite +\newcount\c@hoehe +\newcount\c@xoff +\newcount\c@yoff +\newcount\c@pos +\newcount\c@shad +\newcount\c@dash +\newcount\c@boxl +\newcount\c@zeilen% +\newcount\@changemode% +\newcount\c@piccaption% +\newcount\c@piccaptionpos% +\newcount\c@picpos +\newcount\c@whole% +\newcount\c@half% +\newcount\c@tmp +\newcount\c@tmpa +\newcount\c@tmpb +\newcount\c@tmpc +\newcount\c@tmpd +\newskip\d@leftskip +\newif\if@list \@listfalse% +\newif\if@offset% + + +\c@piccaptionpos=1% +\c@picpos=0 +\d@shad=4pt% +\d@dash=4pt% +\d@boxl=10pt% +\d@pichskip=1em% +\@changemode=0% +\def\@captype{figure}% +\let\old@par=\par% + +\def\pichskip#1{\d@pichskip #1\relax} + + +\def\shadowthickness#1{\d@shad #1\relax} + + +\def\dashlength#1{\d@dash #1\relax} + + +\def\boxlength#1{\d@boxl #1\relax} + + +\def\picchangemode{\@changemode=1}% +\def\nopicchangemode{\@changemode=0}% + + +\def\piccaptionoutside{\c@piccaptionpos=1}% +\def\piccaptioninside{\c@piccaptionpos=2}% +\def\piccaptionside{\c@piccaptionpos=3}% +\def\piccaptiontopside{\c@piccaptionpos=4}% + +\def\piccaption{\@ifnextchar [{\@piccaption}{\@piccaption[]}} +\def\@piccaption[#1]#2{\c@piccaption=1\def\sh@rtf@rm{#1}\def\capti@nt@xt{#2}} +\def\make@piccaption{% + \hsiz@\d@breite% + \ifnum\c@piccaptionpos=2% + \advance\hsiz@ -2\fboxsep% + \fi% + \ifnum\c@piccaptionpos>2% + \hsiz@\hsize\advance\hsiz@-\d@breite\advance\hsiz@-\d@pichskip% + \fi% + \setbox\@TEXT=\vbox{\hsize\hsiz@\caption[\sh@rtf@rm]{\capti@nt@xt}}% +} + + + +\def\newcaption{\refstepcounter\@captype\@dblarg{\@newcaption\@captype}} +\long\def\@newcaption#1[#2]#3{% + \old@par% + \addcontentsline{\csname ext@#1\endcsname }{#1}% + {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}} + \begingroup\@parboxrestore\normalsize% + \@newmakecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\old@par% + \endgroup% +} +\long\def\@newmakecaption#1#2{% + \vskip 10pt% + \setbox\@tempboxa \hbox {#1: #2}% + \ifdim \wd\@tempboxa >\hsize% + \setbox0=\hbox{#1: }\dimen0=\hsize\advance\dimen0 by-\wd0 + \setbox1=\vtop{\hsize=\dimen0 #2} + \hbox{\box0 \box1} + \par + \else \hbox to\hsize {\hfil \box \@tempboxa \hfil} + \fi +} + + + + + +\def\parpic{% + \@ifnextchar ({\iparpic}{\iparpic(0pt,0pt)} +} +\def\iparpic(#1,#2){% + \@ifnextchar ({\@offsettrue\iiparpic(#1,#2)}% + {\@offsetfalse\iiparpic(#1,#2)(0pt,0pt)} +} +\def\iiparpic(#1,#2)(#3,#4){% + \@ifnextchar [{\iiiparpic(#1,#2)(#3,#4)}{\iiiparpic(#1,#2)(#3,#4)[l]} +} +\def\iiiparpic(#1,#2)(#3,#4)[#5]{% + \@ifnextchar [{\ivparpic(#1,#2)(#3,#4)[#5]}{\ivparpic(#1,#2)(#3,#4)[#5][]} +} +\def\ivparpic(#1,#2)(#3,#4)[#5][#6]#7{% + \let\par=\old@par\par% + \hangindent0pt\hangafter1% + \setbox\@BILD=\hbox{#7}% + \d@breite=#1\d@breite=\the\d@breite% + \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi% + \c@breite=\d@breite\divide\c@breite by65536% + \multiply\c@piccaption\c@piccaptionpos% + \d@hoehe=#2\d@hoehe=\the\d@hoehe% + \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi% + \c@hoehe=\d@hoehe\divide\c@hoehe by65536% + \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536% + \d@yoff=\d@hoehe% + \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536% + \c@pos=1\unitlength1pt% + \if@offset% + \setbox\@BILD=\hbox{% + \begin{picture}(\c@breite,\c@hoehe)% + \put(0,0){\makebox(\c@breite,\c@hoehe){}}% + \put(\c@xoff,\c@yoff){\box\@BILD}% + \end{picture}% + }% + \else% + \setbox\@BILD=\hbox{% + \begin{picture}(\c@breite,\c@hoehe)% + \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}% + \end{picture}% + }% + \fi% + \ifnum\c@piccaption=2% + \make@piccaption% + \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT% + \c@hoehe=\d@hoehe\divide\c@hoehe by65536% + \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}% + \hbox{\hspace{\fboxsep}\box\@TEXT}% + \vspace{4pt}}% + \fi% + \@tfor\@tempa := #5\do{% + \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa l\c@pos=1\fi% + \if\@tempa r\c@pos=2\fi% + }% + \ifnum\c@piccaption=1% + \make@piccaption% + \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT% + \c@hoehe=\d@hoehe\divide\c@hoehe by65536% + \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}\hbox{\box\@TEXT}\vspace{4pt}}% + \fi% + \ifodd\count0\c@picpos=0\else\c@picpos=\@changemode\fi% + \pagetotal=\the\pagetotal% + \d@tmp=\pagegoal\advance\d@tmp by-\pagetotal\advance\d@tmp by-\baselineskip% + \ifdim\d@hoehe>\d@tmp% + \vskip 0pt plus\d@hoehe\relax\pagebreak[3]\vskip 0pt plus-\d@hoehe\relax% + \ifnum\c@picpos=1\c@picpos=0\else\c@picpos=\@changemode\fi% + \fi% + \ifnum\c@picpos=1\ifnum\c@pos=1\c@pos=2\else\c@pos=1\fi\fi% + \ifnum\@listdepth>0 + \@listtrue\parshape 0% + \advance\hsize -\rightmargin% + \d@leftskip \leftskip% + \leftskip \@totalleftmargin% + \if@inlabel\rule{\linewidth}{0pt}\vskip-\baselineskip\relax\fi% + \else\@listfalse\medskip% + \fi% + \if@list\d@tmpa=\linewidth\else\d@tmpa=\hsize\fi% + \ifnum\c@piccaption=3% + \make@piccaption% + \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT% + \ifdim\d@hoehe>\d@tmp% + \setbox\@TEXT=\vbox to\d@hoehe{\vfill\box\@TEXT\vspace{.2\baselineskip}\vfill}% + \else% + \setbox\@BILD=\vbox to\d@tmp{\vfill\box\@BILD\vfill}% + \d@hoehe\d@tmp% + \fi% + \fi% + \ifnum\c@piccaption=4% + \make@piccaption% + \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT% + \setbox\@TEXT=\vbox to\d@hoehe{\vspace{-10pt}\box\@TEXT\vfil}% + \advance\d@hoehe-\d@tmp% + \fi% + \ifnum\c@pos=1\d@tmpa=0pt% + \ifnum\c@piccaption>2% + \setbox\@BILD=\hbox{\box\@BILD\hspace{\d@pichskip}\hbox{\box\@TEXT}}% + \fi% + \else\advance\d@tmpa by-\wd\@BILD\d@breite=-\d@breite% + \ifnum\c@piccaption>2% + \d@tmpa=0pt% + \setbox\@BILD=\hbox{\hbox{\box\@TEXT}\hspace{\d@pichskip}\box\@BILD}% + \fi% + \fi% + \p@getot@l\the\pagetotal% + \d@bskip\d@hoehe\advance\d@bskip by\parskip\advance\d@bskip by.3\baselineskip% + {\noindent\hspace*{\d@tmpa}\relax% + \box\@BILD\nopagebreak\vskip-\d@bskip\relax\nopagebreak}% + \d@tmp=-\d@hoehe\divide\d@tmp by\baselineskip% + \c@zeilen=\d@tmp\advance\c@zeilen by-1% + \ifdim\d@breite<0pt\advance\d@breite by-\d@pichskip% + \else\advance\d@breite by\d@pichskip% + \fi% + \hangindent=\d@breite% + \hangafter=\c@zeilen% + \let\par=\x@par% + \ifnum\c@piccaption=3% + \hangindent0pt\hangafter1\let\par=\old@par% + \vskip\d@hoehe\vskip.2\baselineskip% + \fi% + \c@piccaption=0% +} + + + + +\newdimen\ptoti +\newdimen\ptotii +\def\x@par{% + \ptoti\pagetotal% + \old@par% + \ptotii\pagetotal% + \ifdim\ptoti=\ptotii% + \d@tmp\d@hoehe% + \else% + \d@tmp\baselineskip% + \multiply\d@tmp by\prevgraf% + \advance\d@tmp by\parskip% + \global\advance\d@hoehe by-\d@tmp\d@tmp=\d@hoehe% + \fi% + \ifdim\d@hoehe>0pt% + \divide\d@tmp by\baselineskip\c@zeilen=-\d@tmp\advance\c@zeilen by-1% + \c@zeilen=\the\c@zeilen% + \else\c@zeilen=0 + \fi + \ifnum\c@zeilen<0\hangafter=\c@zeilen\hangindent=\d@breite% + \else\let\par=\old@par% + \hangindent 0pt% + \leftskip \d@leftskip% + \if@list\parshape \@ne \@totalleftmargin \linewidth% + \advance\hsize \rightmargin% + \fi% + \fi% +} + + +\def\picskip#1{% + \let\par=\old@par% + \par% + \pagetotal\the\pagetotal% + \c@tmp=#1\relax% + \ifnum\c@tmp=0% + \d@tmp\baselineskip\multiply\d@tmp by\prevgraf\advance\d@tmp\parskip% + \ifdim\p@getot@l<\pagetotal + \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex% + \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi% + \fi% + \ifdim\p@getot@l=\pagetotal% + \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex% + \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi% + \fi% + \else\hangafter=-\c@tmp\hangindent=\d@breite% + \fi% + \leftskip \d@leftskip% + \if@list\parshape \@ne \@totalleftmargin \linewidth% + \advance\hsize \rightmargin% + \fi% +} + + + + + + +\def\hpic{% + \@ifnextchar ({\ihpic}{\ihpic(0pt,0pt)} +} +\def\ihpic(#1,#2){% + \@ifnextchar ({\@offsettrue\iihpic(#1,#2)}% + {\@offsetfalse\iihpic(#1,#2)(0pt,0pt)} +} +\def\iihpic(#1,#2)(#3,#4){% + \@ifnextchar [{\iiihpic(#1,#2)(#3,#4)}{\iiihpic(#1,#2)(#3,#4)[l]} +} +\def\iiihpic(#1,#2)(#3,#4)[#5]{% + \@ifnextchar [{\ivhpic(#1,#2)(#3,#4)[#5]}{\ivhpic(#1,#2)(#3,#4)[#5][]} +} +\def\ivhpic(#1,#2)(#3,#4)[#5][#6]#7{% + \setbox\@BILD=\hbox{#7}% + \d@breite=#1\d@breite=\the\d@breite% + \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi% + \c@breite=\d@breite\divide\c@breite by65536% + \d@hoehe=#2\d@hoehe=\the\d@hoehe% + \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi% + \c@hoehe=\d@hoehe\divide\c@hoehe by65536% + \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536% + \d@yoff=\d@hoehe% + \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536% + \c@pos=0\d@tmpa=\parindent\parindent=0pt\unitlength1pt% + \if@offset + \setbox\@BILD=\hbox{% + \begin{picture}(\c@breite,\c@hoehe)% + \put(0,0){\makebox(\c@breite,\c@hoehe){}}% + \put(\c@xoff,\c@yoff){\box\@BILD}% + \end{picture}% + }% + \else% + \setbox\@BILD=\hbox{% + \begin{picture}(\c@breite,\c@hoehe)% + \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}% + \end{picture}% + }% + \fi% + \@tfor\@tempa := #5\do{% + \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa t\c@pos=1\fi% + \if\@tempa b\c@pos=2\fi% + }% + \ifnum\c@pos=0\parbox{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% + \ifnum\c@pos=1\parbox[t]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% + \ifnum\c@pos=2\parbox[b]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% + \parindent=\d@tmpa% +} + + + + + + +\def\Rahmen(#1,#2)#3{% + \c@whole=\@wholewidth\divide\c@whole by65536% + \c@half=\@halfwidth\divide\c@half by65536% + \c@tmpa=#1\advance\c@tmpa by\c@whole\advance\c@tmpa by\c@whole% + \c@tmpb=#2\advance\c@tmpb by\c@whole\advance\c@tmpb by\c@whole% + \begin{picture}(\c@tmpa,\c@tmpb)% + \put(\c@whole,\c@half){\framebox(#1,#2){#3}}% + \end{picture}% + \global\advance\d@breite by2\@wholewidth% + \global\advance\d@hoehe by2\@wholewidth% +} + + +\def\Schatten(#1,#2)#3{% + \c@whole=\@wholewidth\divide\c@whole by65536% + \c@half=\@halfwidth\divide\c@half by65536% + \c@shad=\d@shad\divide\c@shad by65536% + \c@tmp=\c@whole\advance\c@tmp by\c@whole\c@tmpd=\c@tmp% + \advance\c@tmp by\c@shad% + \advance\c@tmpd by#1% + \advance\c@half by\c@shad% + \c@tmpa=#1\advance\c@tmpa by\c@tmp% + \c@tmpb=#2\advance\c@tmpb by\c@tmp% + \begin{picture}(\c@tmpa,\c@tmpb)% + \put(\c@whole,\c@half){\framebox(#1,#2){#3}}% + \put(\c@shad,0){\rule{\c@tmpd pt}{\c@shad pt}}% + \put(\c@tmpd,0){\rule{\c@shad pt}{#2 pt}}% + \end{picture}% + \global\advance\d@breite by2\@wholewidth\global\advance\d@breite by\d@shad% + \global\advance\d@hoehe by2\@wholewidth\global\advance\d@hoehe by\d@shad% +} + + +\def\Oval(#1,#2)#3{% + \@wholewidth=0.4pt% + \c@tmpa=\the#1\divide\c@tmpa by2% + \c@tmpb=\the#2\divide\c@tmpb by2% + \begin{picture}(#1,#2)% + \put(\c@tmpa,\c@tmpb){\oval(#1,#2)}% + \put(0.4,0.4){#3}% + \end{picture}% + \global\advance\d@breite by1pt\global\advance\d@hoehe by1pt% +} + + +\def\Strich(#1,#2)#3{% + \c@whole=\@wholewidth\divide\c@whole by65536% + \c@half=\@halfwidth\divide\c@half by65536% + \c@dash=\d@dash\divide\c@dash by65536% + \c@tmp=\c@whole\advance\c@tmp by\c@whole% + \c@tmpa=#1\advance\c@tmpa by\c@tmp% + \c@tmpb=#2\advance\c@tmpb by\c@tmp% + \c@tmpc=#1\advance\c@tmpc by\c@whole% + \c@tmpd=#2\advance\c@tmpd by\c@whole% + \begin{picture}(\c@tmpa,\c@tmpb)% + \put(\c@half,\c@half){\dashbox{\c@dash}(\c@tmpc,\c@tmpd){#3}}% + \end{picture}% + \global\advance\d@breite by2\@wholewidth% + \global\advance\d@hoehe by2\@wholewidth% +} + + +\def\Kasten(#1,#2)#3{% + \@wholewidth=0.4pt% + \c@boxl=\d@boxl\divide\c@boxl by65536\c@boxl=\the\c@boxl% + \c@tmpa=#1\advance\c@tmpa by\c@boxl% + \c@tmpb=#2\advance\c@tmpb by\c@boxl% + \c@tmp=#2% + \begin{picture}(\c@tmpa,\c@tmpb)% + \put(0,\c@boxl){\framebox(#1,#2){#3}}% + \put(\c@boxl,0){\line(-1,1){\c@boxl}}% + \put(\c@boxl,0){\line(1,0){#1}\line(-1,1){\c@boxl}}% + \put(\c@boxl,0){\put(#1,0){\line(0,1){\c@tmp}% + \put(0,\c@tmp){\line(-1,1){\c@boxl}}}}% + \end{picture}% + \global\advance\d@breite by\d@boxl% + \global\advance\d@hoehe by\d@boxl% +} + + + + + +\newbox\env@box% +\newdimen\d@envdp +\newcount\c@hsize +\newcount\c@envdp +\newdimen\d@envb + +\long\def\frameenv{\@ifnextchar [{\@frameenv}{\@frameenv[\textwidth]}} +\long\def\@frameenv[#1]{% + \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 + \advance\textwidth by-2\@wholewidth + \advance\textwidth by-2\fboxsep + \hsize=\textwidth \linewidth=\textwidth + \setbox\env@box=\vbox\bgroup}% +\def\endframeenv{% + \egroup% + \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ + \c@breite=\d@envb \divide\c@breite by65536 + \advance\d@envb by-2\@wholewidth + \c@hsize=\d@envb \divide\c@hsize by65536% + \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% + \advance\d@envdp by2\fboxsep% + \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth + \c@hoehe=\d@hoehe \divide\c@hoehe by65536 + \c@envdp=\d@envdp \divide\c@envdp by65536% + \c@tmp=\@wholewidth \divide\c@tmp by65536 + \vskip\@wholewidth% + \unitlength 1pt\noindent% + \begin{picture}(\c@breite,\c@hoehe)(0,0) + \put(\c@tmp,\c@tmp){\framebox(\c@hsize,\c@envdp){\box\env@box}} + \end{picture}% +} + + + +\long\def\shadowenv{\@ifnextchar [{\@shadowenv}{\@shadowenv[\textwidth]}} +\long\def\@shadowenv[#1]{% + \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 + \advance\textwidth by-2\@wholewidth + \advance\textwidth by-2\fboxsep + \advance\textwidth by-\d@shad% + \hsize=\textwidth \linewidth=\textwidth + \setbox\env@box=\vbox\bgroup}% +\def\endshadowenv{% + \egroup + \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ + \d@tmpa=\d@envb + \c@breite=\d@envb \divide\c@breite by65536 + \advance\d@envb by-2\@wholewidth \advance\d@envb by-\d@shad + \c@hsize=\d@envb \divide\c@hsize by65536% + \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% + \advance\d@envdp by2\fboxsep% + \c@envdp=\d@envdp \divide\c@envdp by65536% + \d@hoehe=\d@envdp + \advance\d@hoehe by2\@wholewidth \advance\d@hoehe by\d@shad + \c@hoehe=\d@hoehe \divide\c@hoehe by65536 + \c@shad =\d@shad \divide\c@shad by65536 + \c@tmp=\@wholewidth \divide\c@tmp by65536 + \advance\d@tmpa by-2\d@shad + \c@xoff =\d@tmpa \divide\c@xoff by65536 + \advance\c@xoff by\c@shad \advance\c@xoff by-1 + \advance\d@envdp by\@wholewidth + \vskip\@halfwidth + \unitlength 1pt\noindent% + \begin{picture}(\c@breite,\c@hoehe)(0,0) + \put(\c@tmp,\c@shad){\framebox(\c@hsize,\c@envdp){\box\env@box}} + \put(\c@shad,0){\rule{\d@tmpa}{\d@shad}}% + \put(\c@xoff,0){\rule{\d@shad}{\d@envdp}}% + \end{picture}% + \vskip\@halfwidth +} + + +\long\def\dashenv{\@ifnextchar [{\@dashenv}{\@dashenv[\textwidth]}} +\long\def\@dashenv[#1]{% + \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 + \advance\textwidth by-2\@wholewidth \advance\textwidth by-2\fboxsep + \hsize=\textwidth \linewidth=\textwidth + \setbox\env@box=\vbox\bgroup}% +\long\def\enddashenv{% + \egroup + \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ + \c@breite=\d@envb \divide\c@breite by65536 + \advance\d@envb by-\@wholewidth + \c@hsize=\d@envb \divide\c@hsize by65536% + \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% + \advance\d@envdp by2\fboxsep% + \advance\d@envdp by\@wholewidth + \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth + \c@hoehe=\d@hoehe \divide\c@hoehe by65536 + \c@envdp=\d@envdp \divide\c@envdp by65536% + \c@dash=\d@dash \divide\c@dash by65536% + \c@whole=\@wholewidth \divide\c@whole by65536 + \c@half=\@halfwidth \divide\c@half by 65536 + \noindent\unitlength 1pt + \begin{picture}(\c@breite,\c@hoehe)(0,0) + \put(\c@half,\c@whole){\dashbox{\c@dash}(\c@hsize,\c@envdp){\box\env@box}} + \end{picture}% +} + + +\long\def\ovalenv{\@ifnextchar [{\@ovalenv}{\@ovalenv[\textwidth]}}% +\long\def\@ovalenv[#1]{% + \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 + \advance\textwidth by-4\fboxsep + \hsize=\textwidth \linewidth=\textwidth + \setbox\env@box=\vbox\bgroup}% +\long\def\endovalenv{% + \egroup + \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ + \@wholewidth=0.4pt + \c@breite=\d@envb \divide\c@breite by65536 + \advance\d@envb by-2\@wholewidth + \c@hsize=\d@envb \divide\c@hsize by65536% + \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% + \advance\d@envdp by4\fboxsep% + \c@envdp=\d@envdp \divide\c@envdp by65536% + \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth + \c@hoehe=\d@hoehe \divide\c@hoehe by65536 + \c@tmpa=\c@hsize \divide\c@tmpa by2% + \c@tmpb=\c@envdp \divide\c@tmpb by2% + \d@tmpa=2\fboxsep \advance\d@tmpa by\@wholewidth + \c@xoff=\d@tmpa \divide\c@xoff by65536% + \advance\d@tmpa by\dp\env@box + \c@yoff=\d@tmpa \divide\c@yoff by65536% + \unitlength 1pt\noindent + \begin{picture}(\c@breite,\c@hoehe)(0,0) + \put(\c@tmpa,\c@tmpb){\oval(\c@hsize,\c@envdp)} + \put(\c@xoff,\c@yoff){\box\env@box}% + \end{picture}% +} diff -r 35f83c3ab381 -r 28a504cfdf34 prepaper/pre.pdf Binary file prepaper/pre.pdf has changed diff -r 35f83c3ab381 -r 28a504cfdf34 prepaper/pre.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prepaper/pre.tex Tue Jan 26 20:50:31 2021 +0900 @@ -0,0 +1,50 @@ +\documentclass[twocolumn,twoside,9.5pt]{jarticle} +\usepackage[dvipdfmx]{graphicx} +\usepackage{picins} +\usepackage{fancyhdr} +\usepackage{abstract} +\usepackage{here} +\usepackage{url} +\usepackage{listings,jlisting} +%\pagestyle{fancy} +\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部工学科知能情報コース 卒業研究発表会} +\rhead{} +\cfoot{} + +\setlength{\topmargin}{-1in \addtolength{\topmargin}{15mm}} +\setlength{\headheight}{0mm} +\setlength{\headsep}{5mm} +\setlength{\oddsidemargin}{-1in \addtolength{\oddsidemargin}{11mm}} +\setlength{\evensidemargin}{-1in \addtolength{\evensidemargin}{21mm}} +\setlength{\textwidth}{181mm} +\setlength{\textheight}{261mm} +\setlength{\footskip}{0mm} +\pagestyle{empty} + +\renewcommand{\abstractname}{Abstract} +\begin{document} +\title{タイトル} +\author{175733E 氏名 {宮平 賢}\\ 指導教員 : {河野 真治} } +\date{} +\twocolumn [ +\maketitle +\begin{onecolabstract} + +abstract + +\end{onecolabstract}] +\thispagestyle{fancy} + +\section{はじめ} + + +\begin{thebibliography}{9} + \bibitem{sanko} 参考 +\end{thebibliography} + + + +\nocite{*} +\bibliographystyle{junsrt} +\bibliography{reference} +\end{document} diff -r 35f83c3ab381 -r 28a504cfdf34 spec.tex --- a/spec.tex Mon Sep 28 17:24:57 2020 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -\subsection{CbC記法で書くagda} - CbCプログラムの検証をするに当たり、agdaコードもCbC記法で記述を行う。つまり継続渡しを用いて記述する必要がある。 - 以下が例となるコードである。 - 前述した加算を行うコードと比較すると、不定の型 (t) により継続を行なっている部分が見える。 - これがAgdaで表現された CodeGear となる。 - -\subsection{agda による Meta Gears} - 通常の Meta Gears はノーマルレベルの CodeGear、 DataGear では扱えないメタレベルの計算を扱う単位である。 - Meta DataGear はメタ計算で使われる DataGear で、実行するメタ計算によって異なる。 - 今回はその Meta Gears をagdaによる検証の為に用いる。 - 検証での Meta Gears は DataGear が持つ同値関係や、 - 大小関係などの関係を表す DataGear がそれに当たると考えられる。 - Agda 上で Meta DataGear を持つことでデータ構造自体が関係を持つデータを作ることができる。 - 以下が While Program での制約条件をまとめたものになる。 - Agdaにおける Meta DataGear のコードを載せるi。 - \lstinputlisting[label=agda-mdg, caption= Agda における Meta DataGear] {./src/agda-mdg.agda.replaced} - - whileTestState で Meta DataGear を識別するためのデータを分け、 - whileTestStatePでそれぞれの Meta DataGear を返している。 - ここでは = の後ろの (vari env ≡ 0) (varn env ≡ - c10 env)/ などのデータを Meta DataGear として扱う。 - aa -