'분류 전체보기'에 해당되는 글 114건
- 2010.11.06 LaTeX 명함 패키지
- 2010.06.24 MMS 저장하기
- 2010.05.03 사겼다라고 쓰지 말고 이렇게 쓰자.
- 2010.04.14 OCR in Adobe Acrobat 9
- 2010.04.03 LaTeX 코드 모음 4: array 그리기
- 2010.03.20 LaTeX 코드 모음3
- 2010.03.20 LaTeX 코드 모음2 (Timing Diagram)
- 2010.03.20 gnuplot 코드 모음2
- 2010.03.20 gnuplot 코드 모음1
- 2010.03.20 argv 처리
- .
mplayer -dumpstream -dumpfile filename mms://location
2. vlc 이용
vlc mms://location --sout filename
mmsrip, mimms 등도 있다고 하는데 써보지 않았다.
mplayer에서는 저장이 안 되는데 vlc에서는 저장이 되는 경우가 있었다.
원인은 잘 모르겠다.
윈도우에서는 넷트랜스포트(?) 등의 프로그램도 사용할 수 있다.
하지만 필자는 그냥 mplayer, vlc를 사용한다.
http://kldp.org/node/51823
http://kldp.org/node/110864
http://forcecore.tistory.com/1017
그리고 이것 저것 뜯어 고쳐서 다음과 같은 코드를 만들었다.
%%%%%%%%%%%%%%%%%%%%%%%%%%\def\sz{6mm}
\tikzstyle{block}
= [draw, fill=black!10, rectangle,
minimum height=\sz, minimum width=\sz]
\tikzstyle{darkblock}
= [draw, fill=black!40, rectangle,
minimum height=\sz, minimum width=\sz]
\tikzstyle{index}
= [draw=none, fill=none, font=\tiny, inner sep=0pt]
\newcounter{myind}
%%%%%%%%%%
\newcommand{\myarray}[2]{
\def\pivot{#1}
\def\arr{#2}
%\node[plain] {A};
\setcounter{myind}{0}
\foreach \item in \arr
{
\addtocounter{myind}{1}
\if\item\pivot
\node[darkblock] at (\themyind*\sz,0) {\item};
\else
\node[block] at (\themyind*\sz,0) {\item};
\fi
\node[index] at (\themyind*\sz,0.65*\sz) {\themyind};
% good positioning is difficult T.T;
}
}
%%%%%%%%%%
\newcommand{\myarrow}{
\node[single arrow, draw, fill=black!40, minimum width=0.15cm, minimum height=1.2cm] {};
}
%%%%%%%%%%
이제
\myarray{9}{3, 2, 9, 0, 7, 5, 4, 8, 6, 1}라고 적으면 9를 pivot으로 하는 array가 그려진다.
다음과 같이 사용해도 된다.
\newcommand{\myarrayx}[4]{
\begin{tikzpicture}
\myarray{#2}{#3}
\end{tikzpicture}
&
\begin{tikzpicture}
\myarrow
\end{tikzpicture}
&
\begin{tikzpicture}
\myarray{#2}{#4}
\end{tikzpicture} \\
}
%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{mysubfigcounter}
\setcounter{mysubfigcounter}{1}
\newcommand{\mysubfigcap}{
\multicolumn{3}{c}{\footnotesize (\alph{mysubfigcounter})} \\\\
\addtocounter{mysubfigcounter}{1}
}
\begin{figure}[ht]
\centering
\begin{tabular}{rcl}
\myarrayx{1}{9}{3, 2, 9, 0, 7, 5, 4, 8, 6, 1}{3, 2, 0, 7, 5, 4, 8, 6, 1, 9}
\mysubfigcap
\myarrayx{2}{8}{3, 2, 0, 7, 5, 4, 8, 6, 1}{3, 2, 0, 7, 5, 4, 6, 1, 8}
\mysubfigcap
\end{tabular}
\end{figure}
결과는
아 위에 결과는 틀린 결과이다. ㅠㅠ
새롭게 추가한 내용은 많지 않다.
소스 코드 넣는 법이다.
컬러풀하게 넣으려면 highlight 등을 쓰는 것도 괜찮지만, 그정도는 필요 없고 적당히 넣으려면 다음처럼 하면 된다.
물론 ktug.or.kr에서 도움을 받았다.
\url{http://faq.ktug.or.kr/faq/SourceCodeListing}\\
\url{http://faq.ktug.or.kr/faq/PDFHyperLink} % url 넣는 법
fancyvrb 사용..\begin{Verbatim}[frame=lines,label=helloworld.c,numbers=left]
#include <stdio.h>
int main(void)
{
printf("Hello, world!");
return 0;
}
\end{Verbatim}
moreverb, listings 등도 있음.
그림과 표 넣기
이것도 방법이 많다.
\begin{figure}[ht]그림 두 개 넣기도 이런 식으로 하면 되고, 그림의 폭이 크면 \begin{adjustwidth}{-2.5cm}{-2.5cm} \end{adjustwidth}를 쓰면 된다. 또는 landscape 패키지를 써써 옆으로 넣기도 한다.
\begin{minipage}{.30\textwidth}
\includegraphics[width=\textwidth]{pic/12.png}
\end{minipage}
\hfill
\begin{minipage}{.65\textwidth}
\begin{center}
\begin{tabular}{ccc|cccccccc}
\multicolumn{3}{c|}{Input}&\multicolumn{8}{|c}{Output}\\
$\mathrm{I_2}$&$\mathrm{I_1}$&$\mathrm{I_0}$&%
$\mathrm{F_0}$&$\mathrm{F_1}$&$\mathrm{F_2}$&%
$\mathrm{F_3}$&$\mathrm{F_4}$&$\mathrm{F_5}$&%
$\mathrm{F_6}$&$\mathrm{F_7}$\\\hline
0&0&0&1&0&0&0&0&0&0&0\\
0&0&1&0&1&0&0&0&0&0&0\\
0&1&0&0&0&1&0&0&0&0&0\\
0&1&1&0&0&0&1&0&0&0&0\\
1&0&0&0&0&0&0&1&0&0&0\\
1&0&1&0&0&0&0&0&1&0&0\\
1&1&0&0&0&0&0&0&0&1&0\\
1&1&1&0&0&0&0&0&0&0&1\\
\end{tabular}
\end{center}
\end{minipage}
\caption{이게뭘까?}\label{fig126}
\end{figure}
graphviz
\url{http://www.graphviz.org/}
테두리 박스
\url{http://faq.ktug.or.kr/faq/LaTeXBoxes}
SI 단위
SIunits라는 패키지가 있다. 그냥 수식 안에서 \textrm을 쓰는 방법도 있다.
수학 기호
http://www.ktug.or.kr/jsboard/read.php?table=operate&no=14440
라플라스 기호, 푸리에 트랜스폼 기호는 $\mathcal{L}$, $\mathcal{F}$를 사용한다. \usepackage{calrsfs}또는 \usepackage{mathrsfs}를 이용하면 폰트를 바꿀 수 있다. 하지만 폰트를 바꾸지 않고도 많이 쓴다.
\mathcal{F}[x(t)] = X(j\omega) = \int_{-\infty}^{\infty} x(t)e^{-j\omega t}dt
\mathcal{L}[f(t)] = \int_{0^-}^{\infty} f(t)e^{-st}dt
e 같은 것은 roman으로 식자하기도 하고, italic으로 식자하기도 한다. 미분 기호도 그렇다. 다음 글을 참고하자.
http://www.ktug.or.kr/jsboard/read.php?table=operate&no=4830
http://www.electriceditors.net/edline/vol3/3-4.txt
아무튼 미분 기호를 roman으로 쓰려면
\newcommand{\diff}{\mathrm{d}}
처럼 하면 된다.
Rank 등은 확실히 roman으로 하는 것이 맞다. log등은 \log라고 하면 되지만, \rank는 없으므로 다음과 같이 만들어주면 된다.
\DeclareMathOperator{\rank}{Rank}
몇 가지 테스트:
\Re, \mathfrak{R}, \mathrm{R}\\
\Im, \mathfrak{I}, \mathrm{I}\\
\mathbb{N}, \mathbb{Z}, \mathbb{Q},
\mathbb{R}, \mathbb{C}\\
\ell\\
\frac{dy}{dx} \qquad
\frac{\mathrm{d}y}{\mathrm{d}x}
\qquad \frac{\diff y}{\diff x}\\
Rank(A) \qquad \rank(A)\\
a_{min}, a_{\textrm{min}}
a_{\mbox{min}}, a_{\min}
단, 요약 과정에서 원문의 뜻이 달라졌을 수도 있다.
먼저 yhchoe님의 글:
대부분 dx의 d는 이탤릭으로 쓰는 경우가 많고, 델타 x의 \Delta는 세워쓴다고 한다.
복소수의 실수, 허수 부분을 나타내는 operator의 경우
유럽에서는 $\Re$(=$\mathfrak{R}$), $\Im$(=$\mathfrak{I}$를 쓰지만
미국에서는 그냥 Re, Im을 세워서 쓴다.
라플라스, 푸리에는 \mathscr을 쓴다고 한다.
(아까 적은 예제의 \mathcal과 \mathscr의 차이는 잘 모르겠다.
아무튼 이 분은 \mathscr을 언급하셨다.)
공집합 기호는 \emptyset으로 알고 있지만, amssymb 스타일에서 \varnothing을 쓰는 것이 맞다.
(이 부분은 왜 그런지 잘 모르겠다. 대부분 \emptyset을 많이 쓰는 것으로 알고 있다.)
자연수, 정수, 등등의 집합은 \mathbb{N}, \mathbb{Z}, \mathbb{Q}, \mathbb{R},\mathbb{C}로 쓰는 것이 좋다.
소문자 l은 보통 수식 속에서 $\ell$로 쓴다.
=====================================================================================
공집합 기호는 조금 애매하다.
그리스 문자 phi처럼 보이기도 하지만 확실한 것은 공집합 기호와 그리스 문자 phi는 다른 기호이다.
모양도 확실히 다르고 뜻도 다르니까.
그리스 문자 phi는 모양이 여러 가지가 있는데, 유니코드에는 4 개 이상이 있고, LaTeX에는 \Phi, \phi, \varphi가 있다.
http://en.wikipedia.org/wiki/Phi_%28letter%29
0이 빗금친 모양으로 생긴 여러가지 기호들:
http://en.wikipedia.org/wiki/%C3%98_%28disambiguation%29
모양이 비슷해도 의미가 다르면 다른 기호로 처리해서 유니코드에서도 따로 들어간다.
\phi가 아닌 것은 확실하나 \emptyset인지 \varnothing인지는 모르겠다.
=====================================================================================
아까 위에서 \DeclareMathOperator{\rank}{Rank}를 언급했다.
이것은 ams
하지만 다음 글에서 나오는 것처럼 하는 방법도 있다.
http://faq.ktug.or.kr/wiki/pds/UsefulDocuments/tex_ywk_xe.pdf
$\mathop{\mathrm{span}}\nolimits} \{v_1,v_2,\ldots,v_n\}$
$\operatorname{span} \{v_1,v_2,\ldots,v_n\}$
윽, 여기서 \nolimits는 뭐지?
\limits를 쓰면 아래 첨자를 쓸 때, 마치 lim아래 들어가듯이 아래로 들어가고, \nolimits는 옆으로 미는 것이고, \diplaylimits라는 것도 있고, intlimits, nosumlimits라는 옵션도 있다. 직접 써보기 전에는 뭐가 다른지 알기 힘들듯.
그 외에도 몇가지 내용이 있으니 링크된 그을 읽어보자.
Pascal T. Wolkotte와 Jochem Rutgers가 만든 timing 패키지를 사용했다.
같은 이름의 패키지가 있었던 걸로 기억한다.
http://www.texample.net/tikz/examples/timing-diagram/
코드들:
사실 복잡해지면 시뮬레이션 창에서 캡쳐해서 그림으로 붙여 넣는 것이 훨씬 쉽다. 설정을 잘 바꿔주면 색상 등은 변경이 가능할 것이다. 그 외에 timing diagram을 마우스로 쓱쓱 그릴 수 있는 프로그램도 있던 것 같다. 뭐였는지 기억은 안 난다.
카르노 맵은 kvmacros를 이용하는 방법이 있다. 다음처럼 간단한 명령으로 가능하다.
\karnaughmap{4}{$f:$}{{$a$}{$b$}{$c$}{$d$}}{0110011001100110}{}
http://www.ctan.org/tex-archive/macros/latex/contrib/karnaugh/
아니면 Dia로 그려서 mp로 저장하고 pdf로 바꾸는 방법도 사용해 본 것 같다.
State diagram 역시 Dia로 그릴 수 있고, dot2tex을 써도 된다. 직접 tikz 노가다해도 된다.
당시에는 dot2tex을 쓴 듯하다.
오실로스코프에서 저장한 데이터를 플롯하는데 사용하였다.
#!/bin/bash
FILES[0]="a.csv 2 limiter Limiting Circuit"
FILES[1]="b.csv 2 clamper Clamper Circuit"
FILES[2]="c.csv 1 doubler Voltage Doubler"
FILES[3]="d.csv 2 tripler Voltage Tripler"
for i in "${FILES[@]}"
do
set -- $i
echo set title \"$4 $5\" > $3.plot
echo set term png >> $3.plot
echo set output \"$3.png\" >> $3.plot
echo set xlabel \"Time\" >> $3.plot
echo set ylabel \"Voltage\" >> $3.plot
echo set datafile separator \",\" >> $3.plot
echo set grid >> $3.plot
echo set key below >> $3.plot
if [ "$2" = "1" ]
then
echo plot \"$1\" u 1:2 with l title \"V_in\", \"$1\" u 1:3 with l title \"V_out\" >> $3.plot
else
echo plot \"$1\" u 1:3 with l title \"V_in\", \"$1\" u 1:2 with l title \"V_out\" >> $3.plot
fi
echo show output >> $3.plot
#echo set term latex >> $3.plot
#echo set output \"$3.tex\" >> $3.plot
#echo replot >> $3.plot
#echo show output >> $3.plot
gnuplot $3.plot
done
exit 0
예제 그림은 하나만
ns2 시뮬레이션 결과를 그리려고 했던 것이다.
여러 데이터에 대해 그래프를 그려야 되는데 매번 그리기도 어려우므로 이런 식으로 했다.
사실 gnuplot 사용법도 되지만 bashrc 사용법도 된다.
bashrc에서 루프나 변수 사용은 매번 헷갈리므로
hw4.sh
그래프 다섯 개를 그렸다.
#! /bin/bash
rm -f hw4.log
for i in 50 1000; do # paket size
for j in 0 2000; do # RTS Threshold
# clean data files
rm -f node0.dat
rm -f node1.dat
rm -f total.dat
for k in {1..5}; do # N
# run ns
ns hw4.tcl $k $i $j
done
mv total.dat total_${i}_$j.dat
# Plot
echo > hw4.plot
echo "set term png" >> hw4.plot
echo "set grid" >> hw4.plot
echo "set key default" >> hw4.plot
echo "set xlabel \"\"" >> hw4.plot
echo "set ylabel \"Mbps\"" >> hw4.plot
echo "set xrange [0:6]" >> hw4.plot
echo "set xtics 1,1,5" >> hw4.plot
echo "set title \"hw4_${i}_$j\"" >> hw4.plot
echo "set output \"hw4_${i}_$j.png\"" >> hw4.plot
echo "plot \"node0.dat\" with linespoints title \"node0\", "\
"\"node1.dat\" with linespoints title \"node1\"" >> hw4.plot
echo "show output" >> hw4.plot
gnuplot hw4.plot
done
done
# Plot
echo > hw4.plot
echo "set term png" >> hw4.plot
echo "set grid" >> hw4.plot
echo "set key default" >> hw4.plot
echo "set xlabel \"\"" >> hw4.plot
echo "set ylabel \"Mbps\"" >> hw4.plot
echo "set xrange [0:6]" >> hw4.plot
echo "set xtics 1,1,5" >> hw4.plot
echo "set title \"hw4_total\"" >> hw4.plot
echo "set output \"hw4_total.png\"" >> hw4.plot
echo "plot \"total_50_0.dat\" with linespoints title \"50_0\", "\
"\"total_50_2000.dat\" with linespoints title \"50_2000\", "\
"\"total_1000_0.dat\" with linespoints title \"1000_0\", "\
"\"total_1000_2000.dat\" with linespoints title \"1000_2000\"" >> hw4.plot
echo "show output" >> hw4.plot
gnuplot hw4.plot
hw4.tcl은 주제와 과련이 없지만 그냥 적어둔다.
그림 그린 결과도 올린다.
hw3.sh도 비슷하다. unset border가 있는정도?
그래프 9 개를 그렸다.
hw2_2_3.sh는 다음과 같다.
무려 그래프 36 개를 그렸다. hw2를 보면 알겠지만 가장 먼저 작성한 코드.
36개를 수작업으로 그릴 수 없어서 이렇게 했던 것.