Mercurial > hg > Papers > 2017 > ikkun-thesis
changeset 6:0e12701e311c
sty
author | ikkun |
---|---|
date | Wed, 15 Feb 2017 19:39:37 +0900 |
parents | dacb7180a8ff |
children | 677bd89014b1 |
files | .DS_Store paper/main.aux paper/main.dvi paper/main.lof paper/main.log paper/main.pdf paper/main.tex paper/main.toc prepaper/Makefile prepaper/midterm.aux prepaper/midterm.log prepaper/midterm.tex prepaper/picins.sty |
diffstat | 12 files changed, 859 insertions(+), 80 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/main.aux Wed Feb 15 19:19:28 2017 +0900 +++ b/paper/main.aux Wed Feb 15 19:39:37 2017 +0900 @@ -7,44 +7,45 @@ \@writefile{toc}{\contentsline {chapter}{\numberline {第2章}GearsOS}{2}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {2.1}Continuation Baseed C}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {2.1}Continuation Based C}{2}} \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces gotoによる Code Segment 間の接続}}{2}} \newlabel{fig:cbc_goto}{{2.1}{2}} \citation{opencl} \citation{cuda} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Code Gear と Data Gear}{3}} \@writefile{toc}{\contentsline {section}{\numberline {2.3}並列性}{3}} -\@writefile{toc}{\contentsline {section}{\numberline {2.4}柔軟性}{3}} -\@writefile{toc}{\contentsline {section}{\numberline {2.5}Gears でのMeta computation の実行}{4}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}Gears OSの構成}{5}} +\@writefile{toc}{\contentsline {section}{\numberline {2.4}柔軟性}{4}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces gotoによる Code Segment 間の接続}}{4}} +\newlabel{fig:cbc_goto}{{2.2}{4}} +\@writefile{toc}{\contentsline {section}{\numberline {2.5}Gears でのMeta computation の実行}{5}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}Gears OSの構成}{6}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}TaskManager}{5}} -\@writefile{toc}{\contentsline {section}{\numberline {3.2}Worker}{5}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}GPGPU}{6}} +\@writefile{toc}{\contentsline {section}{\numberline {3.1}TaskManager}{6}} +\@writefile{toc}{\contentsline {section}{\numberline {3.2}Worker}{6}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}GPGPU}{7}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}GPGPUとは}{6}} -\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Gears OS による GPGPU}}{7}} -\newlabel{fig:gpgpu}{{4.1}{7}} -\@writefile{toc}{\contentsline {section}{\numberline {4.2}CUDAとは}{7}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}GPU 実装}{8}} +\@writefile{toc}{\contentsline {section}{\numberline {4.1}GPGPUとは}{7}} +\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Gears OS による GPGPU}}{8}} +\newlabel{fig:gpgpu}{{4.1}{8}} +\@writefile{toc}{\contentsline {section}{\numberline {4.2}CUDAとは}{8}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}GPU 実装}{9}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {5.1}GPUWoker の実装}{8}} -\@writefile{toc}{\contentsline {section}{\numberline {5.2}CUDATwiceの実装}{8}} -\@writefile{toc}{\contentsline {section}{\numberline {5.3}CMake}{8}} -\@writefile{toc}{\contentsline {section}{\numberline {5.4}性能評価}{8}} -\@writefile{toc}{\contentsline {section}{\numberline {5.5}比較}{8}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}今後の課題}{9}} +\@writefile{toc}{\contentsline {section}{\numberline {5.1}CUDAWoker の実装}{9}} +\@writefile{toc}{\contentsline {section}{\numberline {5.2}CUDATwiceの実装}{9}} +\@writefile{toc}{\contentsline {section}{\numberline {5.3}CMake}{9}} +\@writefile{toc}{\contentsline {section}{\numberline {5.4}性能評価}{9}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}今後の課題}{10}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {6.1}GPU並列実行}{9}} +\@writefile{toc}{\contentsline {section}{\numberline {6.1}GPU並列実行}{10}} \citation{*} \bibstyle{junsrt} \bibdata{reference} -\@writefile{toc}{\contentsline {chapter}{\numberline {第7章}結論}{10}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第7章}結論}{11}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {7.1}まとめ}{10}} -\@writefile{toc}{\contentsline {section}{\numberline {7.2}今後の課題}{10}} +\@writefile{toc}{\contentsline {section}{\numberline {7.1}まとめ}{11}} +\@writefile{toc}{\contentsline {section}{\numberline {7.2}今後の課題}{11}}
--- a/paper/main.lof Wed Feb 15 19:19:28 2017 +0900 +++ b/paper/main.lof Wed Feb 15 19:39:37 2017 +0900 @@ -1,9 +1,10 @@ \addvspace {10\p@ } \addvspace {10\p@ } \contentsline {figure}{\numberline {2.1}{\ignorespaces gotoによる Code Segment 間の接続}}{2} +\contentsline {figure}{\numberline {2.2}{\ignorespaces gotoによる Code Segment 間の接続}}{4} \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {figure}{\numberline {4.1}{\ignorespaces Gears OS による GPGPU}}{7} +\contentsline {figure}{\numberline {4.1}{\ignorespaces Gears OS による GPGPU}}{8} \addvspace {10\p@ } \addvspace {10\p@ } \addvspace {10\p@ }
--- a/paper/main.log Wed Feb 15 19:19:28 2017 +0900 +++ b/paper/main.log Wed Feb 15 19:39:37 2017 +0900 @@ -1,4 +1,4 @@ -This is e-pTeX, Version 3.14159265-p3.6-141210-2.6 (utf8.euc) (TeX Live 2015) (preloaded format=platex 2015.11.28) 15 FEB 2017 11:11 +This is e-pTeX, Version 3.14159265-p3.6-141210-2.6 (utf8.euc) (TeX Live 2015) (preloaded format=platex 2015.11.28) 15 FEB 2017 19:26 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -181,16 +181,48 @@ ] -LaTeX Warning: Citation `opencl' on page 3 undefined on input line 121. +LaTeX Warning: Citation `opencl' on page 3 undefined on input line 122. + + +LaTeX Warning: Citation `cuda' on page 3 undefined on input line 122. -LaTeX Warning: Citation `cuda' on page 3 undefined on input line 121. +! Package Listings Error: File `src/sample(.c)' not found. + +Type X to quit or <RETURN> to proceed, +or enter new name. (Default extension: c) + +Enter file name: +! Undefined control sequence. +\\lst@inputlisting ...}}\reserved@a }\lst@doendpe + \@newlistfalse \ignorespaces +l.136 ...aption=code_Gear&Data_Gear]{src/sample.c} + +? +[3] -[3] [4] +LaTeX Warning: Reference `fig:CG_Flexibility' on page 4 undefined on input line + 152. + + +LaTeX Warning: File `./pic/CG_Flexibility.pdf' not found on input line 155. + + +! LaTeX Error: Cannot determine size of image (no BoundingBox). + +See the LaTeX manual or LaTeX Companion for explanation. +Type H <return> for immediate help. + ... + +l.155 ...cs[width=120mm]{./pic/CG_Flexibility.pdf} + +? +File: ./pic/CG_Flexibility.pdf Graphic file (type pdf) +<./pic/CG_Flexibility.pdf> [4] [5] 第 3 章 -LaTeX Warning: Reference `src:sync_dequeue' on page 5 undefined on input line 1 -81. +LaTeX Warning: Reference `src:sync_dequeue' on page 6 undefined on input line 1 +90. ! Package Listings Error: File `./src/sync_dequeue(.c)' not found. @@ -202,51 +234,54 @@ ! Undefined control sequence. \\lst@inputlisting ...}}\reserved@a }\lst@doendpe \@newlistfalse \ignorespaces -l.184 ...e, caption=GetTask]{./src/sync_dequeue.c} +l.193 ...e, caption=GetTask]{./src/sync_dequeue.c} ? -[5 +[6 ] 第 4 章 -LaTeX Font Info: Try loading font information for OMS+cmr on input line 203. +LaTeX Font Info: Try loading font information for OMS+cmr on input line 212. (/usr/local/texlive/2015/texmf-dist/tex/latex/base/omscmr.fd File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions ) LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <12> not available -(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 203. +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 212. File: pic/gearsos.pdf Graphic file (type pdf) -<pic/gearsos.pdf> [6 +<pic/gearsos.pdf> [7 -] [7] +] [8] 第 5 章 -[8 +[9 ] 第 6 章 -[9 +[10 ] 第 7 章 No file main.bbl. -[10 +[11 -] [11 +] [12 ] (./main.aux) LaTeX Warning: There were undefined references. + +LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. + ) Here is how much of TeX's memory you used: - 2109 strings out of 493777 - 29253 string characters out of 6151333 + 2114 strings out of 493777 + 29325 string characters out of 6151333 122772 words of memory out of 5000000 - 5588 multiletter control sequences out of 15000+600000 + 5590 multiletter control sequences out of 15000+600000 14180 words of font info for 55 fonts, out of 8000000 for 9000 929 hyphenation exceptions out of 8191 - 26i,4n,40p,573b,313s stack positions out of 5000i,500n,10000p,200000b,80000s + 26i,4n,40p,573b,325s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on main.dvi (15 pages, 25208 bytes). +Output written on main.dvi (16 pages, 27828 bytes).
--- a/paper/main.tex Wed Feb 15 19:19:28 2017 +0900 +++ b/paper/main.tex Wed Feb 15 19:39:37 2017 +0900 @@ -79,8 +79,8 @@ 並列処理を行う上でこれらのリソースを無視することができない。\\ しかし、これらのプロセッサで性能を出すためにはこれらのアーキテクチャに合わせた並列プログラミングが必要になる。\\ 並列プログラミングフレームワークではこれらのプロセッサを抽象化し、CPU と同等に扱えるようにすることも求められる。\\ -そのためには並列処理を行うプログラムの依存関係を解決することや、 -%Gearsの強みは依存関係の解決以外に何がある? +そのためには並列処理を行うプログラムの依存関係を解決する必要がある。 + 本研究室で開発しているGears OS は Code Gear と Data Gear によって構成される。 Code Gear は処理の単位、Data Gear はデータの単位となる。 Gears OS では Code/Data Gear を用いて記述することでプログラム全体の並列度を高めて、効率的に並列処理することが可能になることを目的とする。\\ @@ -98,11 +98,12 @@ %英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも. \chapter{GearsOS} -\section{Continuation Baseed C} -Gears OS の実装は本研究室で開発している CbC(Continuation based C)\cite{cbc-lola}を用いて行われている。。\\ -CbC は処理を Code Segment を用いて分割して記述することを基本としている。、 Gears OS の Code Gear はCbCを元に記述されている。 -CbC のプログラムでは C の関数の単位で Code Segment を用いて分割し、処理を記述している。 - Code Segment は C の関数と異なり戻り値を持たない。 +\section{Continuation Based C} +Gears OS の実装は本研究室で開発している CbC(Continuation based C)\cite{cbc-lola}を用いて行われている。\\ +CbC は処理を Code Segment を用いて分割して記述することを基本としている。 +Gears OS の Code Gear はCbCを元に記述されている。 +CbC のプログラムでは C の関数の単位で Code Segment を用いて分割し、処理を記述している。\\ +Code Segment は C の関数と異なり戻り値を持たない。 Code Segment の宣言は C の関数の構文と同様に行い、 型に \_\_code を使い宣言している。 Code Segment から Code Segment への移動は goto の後に移動先の Code Segment 名と引数を並べた記述する構文を用いて行う。 この goto による処理の遷移を継続と呼び、C での関数呼び出しにあたり、C では関数の引数の値がスタックに積まれていくが、Code Segment の goto では戻り値を持たないため、スタックに値を積んでいく必要がなくスタックを変更する必要がない。 @@ -111,7 +112,7 @@ \begin{figure}[ht] \begin{center} - \includegraphics[width=70mm]{./pic/cbc_goto.pdf} + \includegraphics[width=120mm]{./pic/cbc_goto.pdf} \end{center} \caption{gotoによる Code Segment 間の接続} \label{fig:cbc_goto} @@ -132,6 +133,7 @@ Gear の特徴の一つはその処理が Code Gear, Data Gear に閉じていることにある。 これにより、Code Gear の実行時間、メモリ使用量を予測可能なものにする。 +\lstinputlisting[label=code_Gear&Data_Gear, caption=code_Gear&Data_Gear]{src/sample.c} \section{並列性} %Gearsの特性を活かせての並列性とは? @@ -142,12 +144,19 @@ Code Gear が処理するのに必要な Input Data Gear と処理の実行後に出力される Output Data Gear の組を Task と呼び、Code Gear は接続する Task 以外とは依存関係がなく、1つの Code Gear の中で処理の依存関係が解決しているため、変更なしに並列処理の Thread に乗せることが出来る。 %Code Gear を複数Threadに分けて並列処理刷る図を入れてもいいかも - +\newpage \section{柔軟性} %プログラムの処理が Gearという単位で分けられて記述されているって言うけど、プログラムの処理ってなに?という疑問を持つのが一般的だと思われ Code Gear Data Gear はCbCを用いて記述されており、処理の遷移には goto を用いた軽量継続によって移行している。 また Code Gear は C の関数と同じ単位で分割されており、処理の遷移に用いられている goto の遷移先を変更することで、容易に処理の順番を変更や新しい処理を追加することが出来る -%図\ref{fig:CG_Flexibility}は Code Gear C と Code Gear D を入れ替えたものであり、この入れ替えを行う場合 Code Gear C を指していた goto の先を Code Gear D に書き換えるだけで済む。 +図\ref{fig:CG_Flexibility}は Code Gear B の処理を Code Gear D を入れ替えたものであり、この入れ替えを行う場合 Code Gear B を指していた goto の先を Code Gear D に書き換えるだけで済む。 +\begin{figure}[ht] + \begin{center} + \includegraphics[width=120mm]{./pic/CG_Flexibility.pdf} + \end{center} + \caption{gotoによる Code Segment 間の接続} + \label{fig:cbc_goto} +\end{figure} \newpage @@ -227,19 +236,18 @@ \chapter{GPU 実装} -\section{GPUWoker の実装} +\section{CUDAWoker の実装} %そもそも実装してない? %実装したって言えるのはtwiceとかのCudaExsampleをGPUで動かすことが出来るってだけで、WorkerによってTaskManagmentしてるとは言えないのでは? \section{CUDATwiceの実装} \section{CMake} -CMakeはビルド自動化ツールであり、プログラムをコンパイル行う際にライブラリや動作環境によって様々な設定を行う必要がありますが、CMakeにはそれらのファイルやライブラリを探し出して実行することが出来ます。\\ -CMakeのビルドは2段階からなり、最初にビルドに必要なライブラリやファイルを探し、通常のビルド環境用のビルドファイルを作成し、次にビルドするファイルにあったビルドを行います。 -CMakeはWindows や Linux 等、複数のOS の環境に対応している他、 +CMake はビルド自動化ツールであり、プログラムをコンパイル行う際にライブラリや動作環境によって様々な設定を行う必要がありますが、 CMake にはそれらのファイルやライブラリを探し出して実行することが出来ます。\\ +CMake のビルドは2段階からなり、 CMake の制御ファイルの CMakeList.txt によってビルドするファイルを指定でき、指定されたファイルをビルドする際にはまずビルドに必要なライブラリやファイルを探し、通常のビルド環境用のビルドファイルを作成し、次にビルドするファイルにあったビルドを行います。 +CMake は Windows や Linux 等、複数のOS の環境に対応している他、様々なコンパイルオプションがあり、クロスコンパイルや、ユーザーがコンパイルのルールを追加することで特殊なコンパイラや OS にも対応することが出来る。 \section{性能評価} -\section{比較} \chapter{今後の課題} @@ -269,6 +277,12 @@ %厳密な決まりは無いので,個々人の文体でも構わない. %GISゼミや英語ゼミに参加した人はその分も入れておく. %順番は重要なので気を付けるように.(提出前に周りの人に確認してもらう.) +\hspace{1zw}本研究の遂行,また本論文の作成にあたり、御多忙にも関わらず終始懇切なる\\ +御指導と御教授を賜わりました河野真治准教授に深く感謝致します。 + +最後に、有意義な時間を共に過ごした情報工学科の学友、並びに物心両面で支えてくれた両\\ +親に深く感謝致します。 + \begin{flushright} 2017年 3月 \\
--- a/paper/main.toc Wed Feb 15 19:19:28 2017 +0900 +++ b/paper/main.toc Wed Feb 15 19:39:37 2017 +0900 @@ -1,24 +1,23 @@ \contentsline {chapter}{\numberline {第1章}GearsOSでのGPU実行}{1} \contentsline {chapter}{\numberline {第2章}GearsOS}{2} -\contentsline {section}{\numberline {2.1}Continuation Baseed C}{2} +\contentsline {section}{\numberline {2.1}Continuation Based C}{2} \contentsline {section}{\numberline {2.2}Code Gear と Data Gear}{3} \contentsline {section}{\numberline {2.3}並列性}{3} -\contentsline {section}{\numberline {2.4}柔軟性}{3} -\contentsline {section}{\numberline {2.5}Gears でのMeta computation の実行}{4} -\contentsline {chapter}{\numberline {第3章}Gears OSの構成}{5} -\contentsline {section}{\numberline {3.1}TaskManager}{5} -\contentsline {section}{\numberline {3.2}Worker}{5} -\contentsline {chapter}{\numberline {第4章}GPGPU}{6} -\contentsline {section}{\numberline {4.1}GPGPUとは}{6} -\contentsline {section}{\numberline {4.2}CUDAとは}{7} -\contentsline {chapter}{\numberline {第5章}GPU 実装}{8} -\contentsline {section}{\numberline {5.1}GPUWoker の実装}{8} -\contentsline {section}{\numberline {5.2}CUDATwiceの実装}{8} -\contentsline {section}{\numberline {5.3}CMake}{8} -\contentsline {section}{\numberline {5.4}性能評価}{8} -\contentsline {section}{\numberline {5.5}比較}{8} -\contentsline {chapter}{\numberline {第6章}今後の課題}{9} -\contentsline {section}{\numberline {6.1}GPU並列実行}{9} -\contentsline {chapter}{\numberline {第7章}結論}{10} -\contentsline {section}{\numberline {7.1}まとめ}{10} -\contentsline {section}{\numberline {7.2}今後の課題}{10} +\contentsline {section}{\numberline {2.4}柔軟性}{4} +\contentsline {section}{\numberline {2.5}Gears でのMeta computation の実行}{5} +\contentsline {chapter}{\numberline {第3章}Gears OSの構成}{6} +\contentsline {section}{\numberline {3.1}TaskManager}{6} +\contentsline {section}{\numberline {3.2}Worker}{6} +\contentsline {chapter}{\numberline {第4章}GPGPU}{7} +\contentsline {section}{\numberline {4.1}GPGPUとは}{7} +\contentsline {section}{\numberline {4.2}CUDAとは}{8} +\contentsline {chapter}{\numberline {第5章}GPU 実装}{9} +\contentsline {section}{\numberline {5.1}CUDAWoker の実装}{9} +\contentsline {section}{\numberline {5.2}CUDATwiceの実装}{9} +\contentsline {section}{\numberline {5.3}CMake}{9} +\contentsline {section}{\numberline {5.4}性能評価}{9} +\contentsline {chapter}{\numberline {第6章}今後の課題}{10} +\contentsline {section}{\numberline {6.1}GPU並列実行}{10} +\contentsline {chapter}{\numberline {第7章}結論}{11} +\contentsline {section}{\numberline {7.1}まとめ}{11} +\contentsline {section}{\numberline {7.2}今後の課題}{11}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prepaper/Makefile Wed Feb 15 19:39:37 2017 +0900 @@ -0,0 +1,36 @@ +# Created by Daichi Toma on Nov 16, 2011 + +TARGET=midterm + +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 + +dvi: $(TARGET).dvi + +pdf: $(TARGET).pdf + + +clean: + rm -f *.dvi *.aux *.log *.pdf *.ps *.gz *.bbl *.blg *.toc *~ *.core +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prepaper/midterm.log Wed Feb 15 19:39:37 2017 +0900 @@ -0,0 +1,115 @@ +This is e-pTeX, Version 3.14159265-p3.6-141210-2.6 (utf8.euc) (TeX Live 2015) (preloaded format=platex 2015.11.28) 15 FEB 2017 19:37 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**midterm.tex +(./midterm.tex +pLaTeX2e <2006/11/10> (based on LaTeX2e <2015/01/01> patch level 0) +Babel <3.9l> and hyphenation patterns for 79 languages loaded. +(/usr/local/texlive/2015/texmf-dist/tex/platex/base/jarticle.cls +Document Class: jarticle 2006/06/27 v1.6 Standard pLaTeX class +\c@@paper=\count81 +(/usr/local/texlive/2015/texmf-dist/tex/platex/base/jsize10.clo +File: jsize10.clo 2006/06/27 v1.6 Standard pLaTeX file (size option) +) +\c@part=\count82 +\c@section=\count83 +\c@subsection=\count84 +\c@subsubsection=\count85 +\c@paragraph=\count86 +\c@subparagraph=\count87 +\c@figure=\count88 +\c@table=\count89 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\symmincho=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `mincho' in version `bold' +(Font) JY1/mc/m/n --> JY1/gt/m/n on input line 601. +\toclineskip=\dimen118 +\@lnumwidth=\dimen119 +\bibindent=\dimen120 +\heisei=\count90 +) +(/usr/local/texlive/2015/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2015/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks15 +) +(/usr/local/texlive/2015/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2014/10/28 v1.0p Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2015/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +) +(/usr/local/texlive/2015/texmf-dist/tex/latex/latexconfig/graphics.cfg +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +) +Package graphics Info: Driver file: dvipdfmx.def on input line 94. + +(/usr/local/texlive/2015/texmf-dist/tex/latex/dvipdfmx-def/dvipdfmx.def +File: dvipdfmx.def 2015/03/26 v4.04 LaTeX color/graphics driver for dvipdfmx (T +eX Live/ChoF) +)) +\Gin@req@height=\dimen121 +\Gin@req@width=\dimen122 +) + +! LaTeX Error: File `picins.sty' not found. + +Type X to quit or <RETURN> to proceed, +or enter new name. (Default extension: sty) + +Enter file name: +(/usr/local/texlive/2015/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +\fancy@headwidth=\skip43 +\f@ncyO@elh=\skip44 +\f@ncyO@erh=\skip45 +\f@ncyO@olh=\skip46 +\f@ncyO@orh=\skip47 +\f@ncyO@elf=\skip48 +\f@ncyO@erf=\skip49 +\f@ncyO@olf=\skip50 +\f@ncyO@orf=\skip51 +) + +! LaTeX Error: File `dummy.tex' not found. + +Type X to quit or <RETURN> to proceed, +or enter new name. (Default extension: tex) + +Enter file name: + +LaTeX Warning: Unused global option(s): + [9.5pt]. + +No file midterm.aux. +\openout1 = `midterm.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 21. +LaTeX Font Info: ... okay on input line 21. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 21. +LaTeX Font Info: ... okay on input line 21. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 21. +LaTeX Font Info: ... okay on input line 21. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 21. +LaTeX Font Info: ... okay on input line 21. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 21. +LaTeX Font Info: ... okay on input line 21. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 21. +LaTeX Font Info: ... okay on input line 21. +LaTeX Font Info: Checking defaults for JY1/mc/m/n on input line 21. +LaTeX Font Info: ... okay on input line 21. +LaTeX Font Info: Checking defaults for JT1/mc/m/n on input line 21. +LaTeX Font Info: ... okay on input line 21. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 29. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 29. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 29. + +! LaTeX Error: Environment 英語abst undefined. + +See the LaTeX manual or LaTeX Companion for \ No newline at end of file
--- a/prepaper/midterm.tex Wed Feb 15 19:19:28 2017 +0900 +++ b/prepaper/midterm.tex Wed Feb 15 19:39:37 2017 +0900 @@ -3,7 +3,7 @@ \usepackage{picins} \usepackage{fancyhdr} %\pagestyle{fancy} -\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 中間発表予稿} +\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 卒業研究発表会} \rhead{} \cfoot{}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prepaper/picins.sty Wed Feb 15 19:39:37 2017 +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}% +}