ビジュアル英文解釈で使われる囲み枠をLaTeXで再現
実行結果
ソース
マクロの引用元
tex.stackexchange.com
\RequirePackage[l2tabu, orthodox]{nag} \documentclass[12pt, a5j, uplatex]{jsarticle} \usepackage{fancybox} %ovalbox %以下,片方開いた囲み(one-side-opened fbox)の定義 %https://tex.stackexchange.com/questions/106285/boxed-equation-but-framed-only-some-sides \makeatletter \newcommand{\llboxed}[1]{{% \let\@frameb@x\l@frameb@x\fbox{#1}% }} \newcommand{\rrboxed}[1]{{% \let\@frameb@x\r@frameb@x\fbox{#1}% }} \def\l@frameb@x#1{% \@tempdima\fboxrule \advance\@tempdima\fboxsep \advance\@tempdima\dp\@tempboxa \hbox{% \lower\@tempdima\hbox{% \vbox{% \hrule\@height\fboxrule \hbox{% \vrule\@width\fboxrule #1% \vbox{% \vskip\fboxsep \box\@tempboxa \vskip\fboxsep}% #1% %\vrule\@width\fboxrule% Right \vrule removed }% \hrule\@height\fboxrule}% }% }% } \def\r@frameb@x#1{% \@tempdima\fboxrule \advance\@tempdima\fboxsep \advance\@tempdima\dp\@tempboxa \hbox{% \lower\@tempdima\hbox{% \vbox{% \hrule\@height\fboxrule \hbox{% %\vrule\@width\fboxrule% Left \vrule removed #1% \vbox{% \vskip\fboxsep \box\@tempboxa \vskip\fboxsep}% #1% \vrule\@width\fboxrule}% \hrule\@height\fboxrule}% }% }% } \makeatother \begin{document} \rrboxed{That the man+V\ldots\ldots}\\ \\ \textbf{S} \ovalbox{\textbf{S}+\textbf{V}(\textbf{S}+\textbf{V})} \textbf{V}\\ \\ with$\rightarrow$\fbox{S'+形容詞} \end{document}
検索ワード
- tex frame opened box fbox
TeX Live2018のセットアップ(Windows10)とソースの例
TeXWorksの設定(タイプセット)
- 名前:MAIN_upLaTeX (ptex2pdf)
- プログラム:C:/texlive/2018/bin/win32/ptex2pdf.exe
- 引数
- -l
- -u
- -ot
- -kanji=utf8
- $synctexoption -no-guess-input-enc -kanji=utf8
- $fullname
- 名前:CITE_upBibTeX
- プログラム:C:/texlive/2018/bin/win32/upbibtex.exe
- 引数
- $basename
コンパイル順序
MAIN_upLaTeX (ptex2pdf)→CITE_upBibTeX→MAIN_upLaTeX (ptex2pdf)→MAIN_upLaTeX (ptex2pdf)
小塚フォントを有効にする
- フォントのコピー
- "C:\texlive\2018\texmf-dist\fonts\opentype"に"kozuka-pr6n"フォルダを作成
- "C:\texlive\2018\texmf-dist\fonts\opentype\kozuka-pr6n"に"KozGoPr6N-Medium.otf"と"KozMinPr6N-Regular.otf"をコピー
- cmdでフォントを有効にする
- "updmap-sys --setoption kanjiEmbed kozuka"をcmd上で実行
- "kanji-config-updmap-sys kozuka-pr6n"をcmd上で実行
- "mktexlsr"をcmd上で実行
texファイルの例
\RequirePackage[l2tabu, orthodox]{nag} \documentclass[12pt, a4j, uplatex]{jsarticle} \bibliographystyle{junsrt} % 参考文献を引用された順で出力する \usepackage[margin=15truemm,left=10truemm,right=10truemm,includehead,includefoot,dvipdfm]{geometry} \usepackage[dvipdfmx]{graphicx,color} % 図と文字色指定を有効にする \usepackage[all, warning]{onlyamsmath} \renewcommand{\figurename}{Fig.~} \renewcommand{\tablename}{Table } \usepackage{flushend} \usepackage{type1ec} \usepackage{fix-cm} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{comment} %begin{comment}等の複数行コメントを有効にする \usepackage{setspace} \usepackage{textcomp} \usepackage{subfig} \usepackage{amsmath,amssymb} \usepackage{mathtools} \mathtoolsset{showonlyrefs=true} \usepackage{exscale} \usepackage{bm} %bm{}を有効にする %\setstretch{1.2} %\pagestyle{empty} \usepackage[dvipdfmx]{hyperref} \usepackage{pxjahyper} %図番号,式番号などのリンクを有効にする \usepackage{float} %図の配置でhere強制を有効にする \usepackage{here} \usepackage{dcolumn} \usepackage{helvet} %英字のサンセリフ体をhelveticaにする \usepackage{url} %urlのリンクを有効にする \usepackage{multirow} \usepackage{booktabs} %セルを結合した表を表示するために必要 %図表を最後にまとめる \usepackage[nolists,nomarkers]{endfloat} %まとめた図表を詰めて配置する \renewcommand{\efloatseparator}{\medskip} %pdfの図は''pdfcrop filename''でトリミング \title{題名} \author{所属\\所属 苗字 名前} \date{2019/02/21} \begin{document} \maketitle \section{section 1} \begin{enumerate} \item 列挙1 \item 列挙2 \end{enumerate} %\textcolor{red}{\huge{注意点}} \section{section 2} 本文 本文($\theta$帯域3-5\,Hz,$\alpha$帯域8-12\,Hz,$\beta$帯域18-24\,Hz) 1\,s(2049\,sample)なら$19\,\textrm{ch} \times 13\,\textrm{周波数点}=247\,次元$. Fig.\,\ref{fig:figlabel1}で図の参照 \begin{figure}[h] \centering \includegraphics[width=0.6\linewidth]{figlabel1の図.png} \caption{figlabel1のキャプション} \label{fig:figlabel1} \end{figure} \begin{figure}[h] \centering \includegraphics[width=0.6\linewidth]{figlabel2の図.png} \caption{figlabel2のキャプション} \label{fig:figlabel2} \end{figure} \section{section 3} 本文 Fig.\ref{fig:label}で図の参照. ○○によっては25\,Hz以上でもp値~~~~~,先行研究\cite{kenkyu}で用いられた~~~~~が期待できる. \begin{figure}[h] \centering \includegraphics[width=1\linewidth]{picture.png} \caption{caption} \label{fig:label} \end{figure} \section{section} \begin{enumerate} \item aaaa \item bbbb \end{enumerate} \bibliography{cite} %このtexファイルと同一フォルダに"cite.bib"というbibファイルを配置すること. \end{document}
bibファイルの例(cite.bib)
@book{ 本, author={authorname}, title={booktitle}, publisher={publisher}, year={2018} } @misc{ 参照するときのラベル, author={著者}, title={タイトル}, howpublished={\url{http://www.aaaaaaaaaaa.org/files/dir/filename.pdf}}, note={ページ名}, year={2009} } @book{ 参照するときのラベル, author={著者一 and 著者二 and 著者三}, title={タイトル}, publisher={○○株式会社}, year={2004} } @book{aaaabbbb-et-al-XXXX, title={title}, author={Author Name andAuthor Name and Author Name}, publisher={PUBL isher}, note={\url{http://www.aaaaaaaaaaaa.org}}, year={2016} } @MasterThesis{kenkyu, title={○○についての研究}, author={著者名}, year={2015}, school={大学名} }
pythonでレスラー方程式の解軌道を描画(ルンゲクッタ法)
pythonでルンゲクッタ法を実装した.
レスラー方程式を与えて描画する.
プログラム内関数のdxdt, dydt, dzdtを書き換えれば別の微分方程式も解ける.
下記プログラムはローレンツ方程式を解くようにも書き換えられる.
import numpy as np def dxdt(a, b, c, x, y, z): # 引数は,「関数のパラメータを並べたもの」,「変数を並べたもの」の順番で並べる.他の連立微分方程式と同じ形式で引数を並べる. return -y - z def dydt(a, b, c, x, y, z): return x + a * y def dzdt(a, b, c, x, y, z): return b + x * z - c * z def _handler(func, *args): return func(*args) pdelist = [dxdt, dydt, dzdt] # 連立微分方程式を追加する場合は,関数名をこのlistにも追加すること. def runge_kutta(funcs, param, vold, delta): """ ルンゲクッタ法で時間を含まない微分方程式を解く :param funcs: 関数のlist.上記のpdelistのように並べる. :param param: パラメータを並べたndarray(np.array) :param vold: 現在時刻における未知関数の値を並べたndarray.pdelistに含まれる関数の引数のx, y, zに相当する. :param delta: 計算の1ステップあたりに進める時間 :return: 計算を1ステップ進めた後の時刻における未知関数の値を並べたndarray.pdelistに含まれる関数の引数のx, y, zに相当する. """ k1 = [] k2 = [] k3 = [] k4 = [] for fnc in funcs: k1.append(_handler(fnc, *param, *vold)) k11 = vold + delta * 0.5 * np.array(k1) for fnc in funcs: k2.append(_handler(fnc, *param, *k11)) k22 = vold + delta * 0.5 * np.array(k2) for fnc in funcs: k3.append(_handler(fnc, *param, *k22)) k33 = vold + delta * np.array(k3) for fnc in funcs: k4.append(_handler(fnc, *param, *k33)) return vold + (np.array(k1) + 2 * np.array(k2) + 2 * np.array(k3) + np.array(k4)) * delta / 6 def main(): import pickle import matplotlib.pyplot as plt param = np.array([0.2, 0.2, 7.1]) # レスラー方程式のパラメータ init = np.array([4, 4, 1]) # 微分方程式の初期値 delta = 0.1 # 1ステップあたりの経過時間 result = [] vnew = init for i in range(1, 10000): result.append(vnew) vnew = runge_kutta(pdelist, param, vnew, delta) result.append(vnew) roessler = np.array(result) # 解の変数.roessler[時刻(sample), 変数の番号] with open("signal_roessler.pickle", mode="wb") as f: # 解の変数を保存 pickle.dump(roessler, f) plt.plot(roessler[:, 0], roessler[:, 1]) # 解の変数の0番目(レスラー方程式のx)を横軸に,解の変数の1番目(レスラー方程式のy)を縦軸に取り,プロットする. plt.xlabel("x = roessler[:, 0]") plt.ylabel("y = roessler[:, 1]") if __name__ == "__main__": import matplotlib.pyplot as plt main() plt.show()
上記プログラムを実行すると以下のグラフが表示される.