'분류 전체보기'에 해당되는 글 167건

  1. 2011.06.20 GCC 4.6 on OSX 8
  2. 2011.06.11 티스토리 (tistory) 에서 SyntaxHighlighter 이용해서 코드 (code) 포스팅하기 1
  3. 2011.06.11 Multivariate Gaussian Code using GSL 1
  4. 2011.05.26 Reference sheet for natbib usage
  5. 2011.05.26 Latex on OSX 에서 맑은 고딕 쓰기 1
  6. 2011.05.18 CEDET/ECB for Aquamacs 5
  7. 2011.05.17 Spiritual fruits
  8. 2011.05.14 귀농의 꿈
  9. 2011.05.14 Bayesian Books
  10. 2011.05.14 현미채식요법

GCC 4.6 on OSX

OSX 2011. 6. 20. 16:20

Building GCC [4.6] on MacOSX

The objective here is describe a didactic way to build GNU GCC on MacOSX. In order to compile GCC you need three libraries: GMP, MPFR and MPC. To organize I usually create folders for each purpose. In this case, three, respectively: source, build and install. [It's not a rule]. My original enviroment is MacOSX 10.6.4 and gcc version 4.2.1 (Apple Inc. build 5659). All files will be on GCC folder, the description below shows:


$ mkdir ~/Downloads/GCC/ # gmp, mpfr and mpc
$ mkdir ~/gcc46_64 # store libs objects and include

Step #1 – Download

$ wget ftp://ftp.gmplib.org/pub/gmp-5.0.1/gmp-5.0.1.tar.bz2
$ wget  http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0.tar.bz2
$ wget http://www.multiprecision.org/mpc/download/mpc-0.8.2.tar.gz

Step #2 – Unpack


Step #3 – Build: GMP

$ mkdir gmp-build
$ cd gmp-build
$ ../gmp-5.0.1/configure --prefix=$HOME/gcc46_64
$ make install

Note 1: I’m using with ABI=64
Note 2 : Maybe you’ll get some unresolved symbols to GMP and MPFR on linking time, never mind.

Step #4 – Build: MPFR

$ cd ..
$ mkdir mpfr-build  
$ cd mpfr-build
$ ../mpfr-3.0.0/configure --prefix=$HOME/gcc46_64 --with-gmp=$HOME/gcc46_64
$ make install

Step #5 – Build: MPC

$ cd ..

$ mkdir mpc-build
$ cd mpc-build
$ ../mpc-0.8.2/configure --prefix=$HOME/gcc46_64 --with-gmp=$HOME/gcc46_64 --with-mpfr=$HOME/gcc46_64
$ make install

Problems? If something goes wrong…

../../mpc-0.8.2/src/mpc.h:25:17: error: gmp.h: No such file or directory
../../mpc-0.8.2/src/mpc.h:26:18: error: mpfr.h: No such file or directory

I fixed by adding symbolic links:

$ cd ~/Projects/GCC/libs/mpc-0.8.2/src/
$ ln -s ../../install/include/mpf2mpfr.h .
$ ln -s ../../install/include/mpfr.h .
$ ln -s ../../install/include/gmp.h .

Step #6 – Download & Build GCC (~4.6)

I used GCC from git (fda0037801fb258a2191aba59e1e9f0df019e3b6) and I don’t know if it will work on newer versions. You’ll have to try. Sorry. [Howto: GitMirror]. Use git checkout to specify one commit.

$ cd ~/Downloads/GCC/gcc-4.6.0
$ mkdir build
$ cd build
$ ../configure --prefix=$HOME/gcc46_64 --with-gmp=$HOME/gcc46_64 --with-mpfr=$HOME/gcc46_64 --with-mpc=$HOME/gcc46_64 --disable-checking --enable-languages=c --program-prefix=my- --enable-languages=c,c++,fortran

$ make
$ make install




:

티스토리 (tistory) 에서 SyntaxHighlighter 이용해서 코드 (code) 포스팅하기

카테고리 없음 2011. 6. 11. 17:51

1. SyntaxHighlighter 받아오기

   여기에서 다운 받는다.   필자사용 버전은 3.0.83임.
압축풀고 나온 여러 폴더중에서 styles, scripts 폴더만 사용할것임.


2. 티스토리에 업로드.
티스토리에 로긴후에, 스킨->파일 업로드 로 가서
   styles, scripts 폴더에 있는 모든 파일을 올린다.   


201106111752.jpg



3. TISTORY 스킨 파일 편집.
   스킨-> HTML/CSS편집에 가서 skin.html 부분 중에 </body> 앞부분에 아래 내용을 추가한다
   






























4. TISTORY에서 글쓰기.
   글쓰기 모드를 html 모드로 바꾸고 다음과 같이 입력한다.


#include <stdio.h>
int main( int argc, const char* argv[] )
{  
    printf( "\nHello World\n\n" );
}
  그러면 다음과 같은 코드 포스팅을 볼 수 있을 것이다
#include <stdio.h>
int main( int argc, const char* argv[] )
{  
    printf( "\nHello World\n\n" );
}

<주의 사항>
SyntaxHighlighter 3.0.83의 버그가 있다.
   꺽쇠인 "<"나 ">"를 포스팅할 소스코드에 포함되어 있다면 포스팅이 깨진다.
   코드를 올릴때 "<"를 "&lt;"로, ">"를 "&gt;"로 변환해서 올려야 제대로 된다.


:

Multivariate Gaussian Code using GSL

카테고리 없음 2011. 6. 11. 16:29
Source code by Ralph Silva from here



/***************************************************************************************
 *  Multivariate Normal density function and random number generator
 *  Multivariate Student t density function and random number generator
 *  Wishart random number generator
 *  Using GSL -> www.gnu.org/software/gsl
 *
 *  Copyright (C) 2006  Ralph dos Santos Silva
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *  AUTHOR 
 *     Ralph dos Santos Silva,  [EMAIL PROTECTED]
 *     March, 2006       
 ***************************************************************************************/
#include <math.h>
#include <gsl/gsl_sf_gamma.h>
#include <gsl/gsl_rng.h>
#include <gsl/gsl_randist.h>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_blas.h>
#include <gsl/gsl_linalg.h>

/*****************************************************************************************************************/
/*****************************************************************************************************************/
int rmvnorm(const gsl_rng *r, const int n, const gsl_vector *mean, const gsl_matrix *var, gsl_vector *result){
  /* multivariate normal distribution random number generator */
  /*
   *	n	dimension of the random vetor
   *	mean	vector of means of size n
   *	var	variance matrix of dimension n x n
   *	result	output variable with a sigle random vector normal distribution generation
   */
  int k;
  gsl_matrix *work = gsl_matrix_alloc(n,n);

  gsl_matrix_memcpy(work,var);
  gsl_linalg_cholesky_decomp(work);

  for(k=0; k<n; k++)
    gsl_vector_set( result, k, gsl_ran_ugaussian(r) );

  gsl_blas_dtrmv(CblasLower, CblasNoTrans, CblasNonUnit, work, result);
  gsl_vector_add(result,mean);

  gsl_matrix_free(work);

  return 0;
}

/*****************************************************************************************************************/
/*****************************************************************************************************************/
double dmvnorm(const int n, const gsl_vector *x, const gsl_vector *mean, const gsl_matrix *var){
  /* multivariate normal density function    */
  /*
   *	n	dimension of the random vetor
   *	mean	vector of means of size n
   *	var	variance matrix of dimension n x n
   */
  int s;
  double ax,ay;
  gsl_vector *ym, *xm;
  gsl_matrix *work = gsl_matrix_alloc(n,n), 
    *winv = gsl_matrix_alloc(n,n);
  gsl_permutation *p = gsl_permutation_alloc(n);

  gsl_matrix_memcpy( work, var );
  gsl_linalg_LU_decomp( work, p, &s );
  gsl_linalg_LU_invert( work, p, winv );
  ax = gsl_linalg_LU_det( work, s );
  gsl_matrix_free( work );
  gsl_permutation_free( p );

  xm = gsl_vector_alloc(n);
  gsl_vector_memcpy( xm, x);
  gsl_vector_sub( xm, mean );
  ym = gsl_vector_alloc(n);
  gsl_blas_dsymv(CblasUpper,1.0,winv,xm,0.0,ym);
  gsl_matrix_free( winv );
  gsl_blas_ddot( xm, ym, &ay);
  gsl_vector_free(xm);
  gsl_vector_free(ym);
  ay = exp(-0.5*ay)/sqrt( pow((2*M_PI),n)*ax );

  return ay;
}

/*****************************************************************************************************************/
/*****************************************************************************************************************/
int rmvt(const gsl_rng *r, const int n, const gsl_vector *location, const gsl_matrix *scale, const int dof, gsl_vector *result){
  /* multivariate Student t distribution random number generator */
  /*
   *	n	 dimension of the random vetor
   *	location vector of locations of size n
   *	scale	 scale matrix of dimension n x n
   *	dof	 degrees of freedom
   *	result	 output variable with a single random vector normal distribution generation
   */
  int k;
  gsl_matrix *work = gsl_matrix_alloc(n,n);
  double ax = 0.5*dof; 

  ax = gsl_ran_gamma(r,ax,(1/ax));     /* gamma distribution */

  gsl_matrix_memcpy(work,scale);
  gsl_matrix_scale(work,(1/ax));       /* scaling the matrix */
  gsl_linalg_cholesky_decomp(work);

  for(k=0; k<n; k++)
    gsl_vector_set( result, k, gsl_ran_ugaussian(r) );

  gsl_blas_dtrmv(CblasLower, CblasNoTrans, CblasNonUnit, work, result);
  gsl_vector_add(result, location);

  gsl_matrix_free(work);

  return 0;
}

/*****************************************************************************************************************/
/*****************************************************************************************************************/
double dmvt(const int n, const gsl_vector *x, const gsl_vector *location, const gsl_matrix *scale, const int dof){
  /* multivariate Student t density function */
  /*
   *	n	 dimension of the random vetor
   *	location vector of locations of size n
   *	scale	 scale matrix of dimension n x n
   *	dof	 degrees of freedom
   */
  int s;
  double ax,ay,az=0.5*(dof + n);
  gsl_vector *ym, *xm;
  gsl_matrix *work = gsl_matrix_alloc(n,n), 
    *winv = gsl_matrix_alloc(n,n);
  gsl_permutation *p = gsl_permutation_alloc(n);

  gsl_matrix_memcpy( work, scale );
  gsl_linalg_LU_decomp( work, p, &s );
  gsl_linalg_LU_invert( work, p, winv );
  ax = gsl_linalg_LU_det( work, s );
  gsl_matrix_free( work );
  gsl_permutation_free( p );

  xm = gsl_vector_alloc(n);
  gsl_vector_memcpy( xm, x);
  gsl_vector_sub( xm, location );
  ym = gsl_vector_alloc(n);
  gsl_blas_dsymv(CblasUpper,1.0,winv,xm,0.0,ym);
  gsl_matrix_free( winv );
  gsl_blas_ddot( xm, ym, &ay);
  gsl_vector_free(xm);
  gsl_vector_free(ym);

  ay = pow((1+ay/dof),-az)*gsl_sf_gamma(az)/(gsl_sf_gamma(0.5*dof)*sqrt( pow((dof*M_PI),n)*ax ));

  return ay;
}
/*****************************************************************************************************************/
/*****************************************************************************************************************/
int rwishart(const gsl_rng *r, const int n, const int dof, const gsl_matrix *scale, gsl_matrix *result){
  /* Wishart distribution random number generator */
  /*
   *	n	 gives the dimension of the random matrix
   *	dof	 degrees of freedom
   *	scale	 scale matrix of dimension n x n
   *	result	 output variable with a single random matrix Wishart distribution generation
   */
  int k,l;
  gsl_matrix *work = gsl_matrix_calloc(n,n);

  for(k=0; k<n; k++){
    gsl_matrix_set( work, k, k, sqrt( gsl_ran_chisq( r, (dof-k) ) ) );
    for(l=0; l<k; l++){
      gsl_matrix_set( work, k, l, gsl_ran_ugaussian(r) );
    }
  }
  gsl_matrix_memcpy(result,scale);
  gsl_linalg_cholesky_decomp(result);
  gsl_blas_dtrmm(CblasLeft,CblasLower,CblasNoTrans,CblasNonUnit,1.0,result,work);
  gsl_blas_dsyrk(CblasUpper,CblasNoTrans,1.0,work,0.0,result);

  return 0;
}


/***************************************************************************************
 *  Multivariate Normal density function and random number generator
 *  Multivariate Student t density function and random number generator
 *  Wishart random number generator
 *  Using GSL -> www.gnu.org/software/gsl
 *
 *  Copyright (C) 2006  Ralph dos Santos Silva
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *  AUTHOR 
 *     Ralph dos Santos Silva,  [EMAIL PROTECTED]
 *     March, 2006       
 ***************************************************************************************/
int rmvnorm(const gsl_rng *r, const int n, const gsl_vector *mean, const gsl_matrix *var, gsl_vector *result);
double dmvnorm(const int n, const gsl_vector *x, const gsl_vector *mean, const gsl_matrix *var);
int rmvt(const gsl_rng *r, const int n, const gsl_vector *location, const gsl_matrix *scale, const int dof, gsl_vector *result);
double dmvt(const int n, const gsl_vector *x, const gsl_vector *locationn, const gsl_matrix *scale, const int dof);
int rwishart(const gsl_rng *r, const int n, const int dof, const gsl_matrix *scale, gsl_matrix *result);

/***************************************************************************************
 *  A testing program for multivariate distributions
 *  Using GSL -> www.gnu.org/software/gsl
 *  Copyright (C) 2006  Ralph dos Santos Silva
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *  AUTHOR 
 *     Ralph dos Santos Silva,  [EMAIL PROTECTED]
 *     March, 2006       
 ***************************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <time.h>
#include <math.h>
/* GSL - GNU Scientific Library  */
/* #define GSL_CHECK_RANGE_OFF   */
#include <gsl/gsl_math.h>
#include <gsl/gsl_rng.h>
#include <gsl/gsl_cdf.h>
/* ----------------------------- */
#include <gsl/gsl_vector.h>
#include <gsl/gsl_matrix.h>
/* ----------------------------- */
#include "rmv.h"

int main(){
  FILE *f;
  int k;
  unsigned long int initime;
  double result;
  gsl_vector *x = gsl_vector_calloc(3),
    *mean = gsl_vector_calloc(3);
  gsl_matrix *m = gsl_matrix_alloc(3,3),
    *rm = gsl_matrix_alloc(3,3);
  gsl_rng *r;

  time(&initime);
  r = gsl_rng_alloc(gsl_rng_mt19937);
  gsl_rng_set(r, initime);              
  printf("The SEED is %li.\n\n",initime);

  gsl_matrix_set(m,0,0, 1.0);
  gsl_matrix_set(m,0,1, 0.2);
  gsl_matrix_set(m,0,2,-0.9);
  gsl_matrix_set(m,1,0, 0.2);
  gsl_matrix_set(m,1,1, 1.0);
  gsl_matrix_set(m,1,2, 0.1);
  gsl_matrix_set(m,2,0,-0.9);
  gsl_matrix_set(m,2,1, 0.1);
  gsl_matrix_set(m,2,2, 1.0);

  gsl_vector_set(x,0,0.1);
  gsl_vector_set(x,1,0.1);
  gsl_vector_set(x,2,0.1);
  result = dmvnorm(3,x,mean,m);
  fprintf(stdout,"norm = %g\n", result);

  gsl_vector_set(x,0,0.1);
  gsl_vector_set(x,1,0.1);
  gsl_vector_set(x,2,0.1);
  result = dmvt(3,x,mean,m,5);
  fprintf(stdout,"t = %g\n", result);

  f = fopen("test-n.txt","w");
  for(k=0; k<10; k++){
    rmvnorm(r,3,mean,m,x);
    fprintf(f, "%g %g %g\n",gsl_vector_get(x,0),gsl_vector_get(x,1),gsl_vector_get(x,2));
  }
  fclose(f);

  f = fopen("test-t.txt","w");
  for(k=0; k<10; k++){
    rmvt(r,3,mean,m,5,x);
    fprintf(f, "%g %g %g\n",gsl_vector_get(x,0),gsl_vector_get(x,1),gsl_vector_get(x,2));
  }
  fclose(f);

  f = fopen("test-w.txt","w");
  for(k=0; k<1000; k++){
    rwishart(r,3,5,m,rm);
    fprintf(f, "%g %g %g\n",gsl_matrix_get(rm,0,0),gsl_matrix_get(rm,0,1),gsl_matrix_get(rm,0,2));
    fprintf(f, "%g %g %g\n",gsl_matrix_get(rm,1,0),gsl_matrix_get(rm,1,1),gsl_matrix_get(rm,1,2));
    fprintf(f, "%g %g %g\n",gsl_matrix_get(rm,2,0),gsl_matrix_get(rm,2,1),gsl_matrix_get(rm,2,2));
  }
  fclose(f);

  return 0;
}
Makefile
# Copyright (C) 2006  Ralph dos Santos Silva
#LIBDIR = /home/rsilva1/local/libsun
LIBDIR = /usr/lib
INCLUDEDIR = /usr/include

LIBGSL = -lgsl
LIBCBLAS = -lcblas
LIBATLAS = -latlas
LIBMATH = -lm

CFLAGS = -O2 -static -g -Wall -W -DHAVE_INLINE -I$(INCLUDEDIR)

CC = gcc

.c.o:
	$(CC) $(CFLAGS) -c $<

all: test.o rmv.o 
	$(CC) -o test test.o rmv.o -L$(LIBDIR) $(LIBGSL) $(LIBCBLAS) $(LIBATLAS) $(LIBMATH) 

clean:
	rm -f *.o test

:

Reference sheet for natbib usage

카테고리 없음 2011. 5. 26. 21:18
For a more detailed description of the natbib package, LATEX the source file natbib.dtx.

Overview

The natbib package is a reimplementation of the LATEX \cite command, to work with both author-year and numerical citations. It is compatible with the standard bibliographic style files, such as plain.bst, as well as with those for harvard, apalike, chicago, astron, authordate.

Loading

Load with \usepackage[options]{natbib}. See list of options at the end.

Replacement bibliography styles

I provide three new .bst files to replace the standard LATEX numerical ones:
plainnat.bst         abbrvnat.bst         unsrtnat.bst

Basic commands

The natbib package has two basic citation commands, \citet and \citep for textual and parenthetical citations, respectively. There also exist the starred versions \citet* and \citep* that print the full author list, and not just the abbreviated one. All of these may take one or two optional arguments to add some text before and after the citation.
\citet{jon90}     -->     Jones et al. (1990)
\citet[chap. 2]{jon90}     -->     Jones et al. (1990, chap. 2)
\citep{jon90}     -->     (Jones et al., 1990)
\citep[chap. 2]{jon90}     -->     (Jones et al., 1990, chap. 2)
\citep[see][]{jon90}     -->     (see Jones et al., 1990)
\citep[see][chap. 2]{jon90}     -->     (see Jones et al., 1990, chap. 2)
\citet*{jon90}     -->     Jones, Baker, and Williams (1990)
\citep*{jon90}     -->     (Jones, Baker, and Williams, 1990)

Multiple citations

Multiple citations may be made by including more than one citation key in the \cite command argument.
\citet{jon90,jam91}     -->     Jones et al. (1990); James et al. (1991)
\citep{jon90,jam91}     -->     (Jones et al., 1990; James et al. 1991)
\citep{jon90,jon91}     -->     (Jones et al., 1990, 1991)
\citep{jon90a,jon90b}     -->     (Jones et al., 1990a,b)

Numerical mode

These examples are for author-year citation mode. In numerical mode, the results are different.
\citet{jon90}     -->     Jones et al. [21]
\citet[chap. 2]{jon90}     -->     Jones et al. [21, chap. 2]
\citep{jon90}     -->     [21]
\citep[chap. 2]{jon90}     -->     [21, chap. 2]
\citep[see][]{jon90}     -->     [see 21]
\citep[see][chap. 2]{jon90}     -->     [see 21, chap. 2]
\citep{jon90a,jon90b}     -->     [21, 32]

Suppressed parentheses

As an alternative form of citation, \citealt is the same as \citet but without parentheses. Similarly, \citealp is \citep without parentheses. Multiple references, notes, and the starred variants also exist.
\citealt{jon90}     -->     Jones et al. 1990
\citealt*{jon90}     -->     Jones, Baker, and Williams 1990
\citealp{jon90}     -->     Jones et al., 1990
\citealp*{jon90}     -->     Jones, Baker, and Williams, 1990
\citealp{jon90,jam91}     -->     Jones et al., 1990; James et al., 1991
\citealp[pg. 32]{jon90}     -->     Jones et al., 1990, pg. 32
\citetext{priv. comm.}     -->     (priv. comm.)
The \citetext command allows arbitrary text to be placed in the current citation parentheses. This may be used in combination with \citealp.

Partial citations

In author-year schemes, it is sometimes desirable to be able to refer to the authors without the year, or vice versa. This is provided with the extra commands
\citeauthor{jon90}     -->     Jones et al.
\citeauthor*{jon90}     -->     Jones, Baker, and Williams
\citeyear{jon90}     -->     1990
\citeyearpar{jon90}     -->     (1990)

Forcing upper cased names

If the first author's name contains a von part, such as ``della Robbia'', then \citet{dRob98} produces ``della Robbia (1998)'', even at the beginning of a sentence. One can force the first letter to be in upper case with the command \Citet instead. Other upper case commands also exist.
when \citet{dRob98}     -->     della Robbia (1998)
then \Citet{dRob98}     -->     Della Robbia (1998)
\Citep{dRob98}     -->     (Della Robbia, 1998)
\Citealt{dRob98}     -->     Della Robbia 1998
\Citealp{dRob98}     -->     Della Robbia, 1998
\Citeauthor{dRob98}     -->     Della Robbia
These commands also exist in starred versions for full author names.

Citation aliasing

Sometimes one wants to refer to a reference with a special designation, rather than by the authors, i.e. as Paper I, Paper II. Such aliases can be defined and used, textual and/or parenthetical with:
\defcitealias{jon90}{Paper I}
\citetalias{jon90} -> Paper I
\citepalias{jon90} -> (Paper I)
These citation commands function much like \citet and \citep: they may take multiple keys in the argument, may contain notes, and are marked as hyperlinks.

Selecting citation style and punctuation

Use the command \bibpunct with one optional and 6 mandatory arguments:
  1. the opening bracket symbol, default = (
  2. the closing bracket symbol, default = )
  3. the punctuation between multiple citations, default = ;
  4. the letter `n' for numerical style, or `s' for numerical superscript style, any other letter for author-year, default = author-year;
  5. the punctuation that comes between the author names and the year
  6. the punctuation that comes between years or numbers when common author lists are suppressed (default = ,);

The optional argument is the character preceding a post-note, default is a comma plus space. In redefining this character, one must include a space if one is wanted.

Example 1, \bibpunct{[}{]}{,}{a}{}{;} changes the output of

\citepjon90,jon91,jam92
into [Jones et al. 1990; 1991, James et al. 1992].

Example 2, \bibpunct[; ]{(}{)}{,}{a}{}{;} changes the output of

\citep[and references therein]{jon90}
into (Jones et al. 1990; and references therein).

Other formatting options

  • Redefine \bibsection to the desired sectioning command for introducing the list of references. This is normally \section* or \chapter*.
  • Define \bibpreamble to be any text that is to be printed after the heading but before the actual list of references.
  • Define \bibfont to be a font declaration, e.g. to apply to the list of references.
  • Define \citenumfont to be a font declaration or command like \itshape or \textit.
  • Redefine \bibnumfmt as a command with an argument to format the numbers in the list of references. The default definition is [#1].
  • The indentation after the first line of each reference is given by \bibhang; change this with the \setlength command.
  • The vertical spacing between references is set by \bibsep; change this with the \setlength command.

Automatic indexing of citations

If one wishes to have the citations entered in the .idx indexing file, it is only necessary to issue \citeindextrue at any point in the document. All following \cite commands, of all variations, then insert the corresponding entry to that file. With \citeindexfalse, these entries will no longer be made.

Use with chapterbib package

The natbib package is compatible with the chapterbib package which makes it possible to have several bibliographies in one document.

The package makes use of the \include command, and each \included file has its own bibliography.

The order in which the chapterbib and natbib packages are loaded is unimportant.

The chapterbib package provides an option sectionbib that puts the bibliography in a \section* instead of \chapter*, something that makes sense if there is a bibliography in each chapter. This option will not work when natbib is also loaded; instead, add the option to natbib.

Every \included file must contain its own \bibliography command where the bibliography is to appear. The database files listed as arguments to this command can be different in each file, of course. However, what is not so obvious, is that each file must also contain a \bibliographystyle command, preferably with the same style argument.

Sorting and compressing citations

Do not use the \cite package with natbib; rather use one of the options sort or sort&compress.

These also work with author-year citations, making multiple citations appear in their order in the reference list.

Long author list on first citation

Use option longnamesfirst to have first citation automatically give the full list of authors.

Suppress this for certain citations with \shortcites{key-list}, given before the first citation.

Local configuration

Any local recoding or definitions can be put in natbib.cfg which is read in after the main package file.

Options that can be added to \usepackage

  • round: (default) for round parentheses;
  • square: for square brackets;
  • curly: for curly braces;
  • angle: for angle brackets;
  • colon: (default) to separate multiple citations with colons;
  • comma: to use commas as separaters;
  • authoryear: (default) for author-year citations;
  • numbers: for numerical citations;
  • super: for superscripted numerical citations, as in Nature;
  • sort: orders multiple citations into the sequence in which they appear in the list of references;
  • sort&compress: as sort but in addition multiple numerical citations are compressed if possible (as 3-6, 15);
  • longnamesfirst: makes the first citation of any reference the equivalent of the starred variant (full author list) and subsequent citations normal (abbreviated list);
  • sectionbib: redefines \thebibliography to issue \section* instead of \chapter*; valid only for classes with a \chapter command; to be used with the chapterbib package;
  • nonamebreak: keeps all the authors' names in a citation on one line; causes overfull hboxes but helps with some hyperref problems.

About this document ...

:

Latex on OSX 에서 맑은 고딕 쓰기

OSX 2011. 5. 26. 19:26

LaTex에서 한글을 쓸 수 있도록 하는 ko.tex은 기본적으로 은글꼴을 지원한다. 그런데 만약 은글꼴 이외의 한글 폰트를 사용하고 싶을 경우 아래와 같은 방법으로 임의의 한글 트루타입 폰트로부터 tfm(Tex font metric)을 추출하고 설정을 해주면 된다.

우선 kotex이 당연히 깔려있어야 하고 다음과 같이 font.conf 라는 파일을 만든다.


FOUNDRY: b
FONTmj: m=m=malgun.ttf b=malgunbd.ttf

FOUNDRY: b의 b는 새로 생기는 폰트명의 제일 앞에 붙는다.
둘째줄의 의미는 m=malgun.ttf 라는 폰트를 bmg라는 이름으로 만들겠다는 것인데 FONTmj의 mj는 명조체를 의미하는 것으로 f=bnewname을 지정해주지 않으면 자동으로 mj가 폰트 이름이 된다. mj가 포함된 이 첫 줄은 꼭 있어야하고 폰트 이름을 mj가 아닌 다른 것으로 정하고 싶다면 f=name하고 따로 지정해주면 된다. 폰트 파일이 기본모양 뿐 아니라 볼드체 파일도 있다면 첫 줄 제일 뒤에 b=malgunbd.ttf하고 추가해준다.

그래서 이 파일과 ttf파일들을 같은 폴더에 넣고 터미널에서 다음을 입력하면,
(같은 디렉토리에 UCS2.sfd도 필요한데 Unicode.sfd를 이름바꿔서 사용하면 잘 된다)
ttf2kotexfont -c font.conf

obmj****.tfm 라는 tfm이 붙은 파일이 완전 많이 생성되고 myttf.sty, ttf2pk.cfg, ****.fd 등등의 파일이 생긴다. myttf.sty은 tex 문서 내에서 새로 만든 이 폰트들을 사용을 지정하기 위한 파일이고 ttf2pk.cfg는 (아마도) tex문서 내에서 지정한 폰트 사이즈에 맞는 ****pk파일들을 만들어내기 위한 파일, ****.fd는 새로 생긴 폰트들을 정의해주는 파일이다.

이렇게 만든 폰트를 이용하기 위해 tex문서의 앞부분에 넣어줘야 하는 명령들은 다음과 같다.

\documentclass[10pt,a4paper]{book}
\usepackage[hangul]{kotex}
\usepackage{myttf}
\SetHangulFonts{bmj}{utgt}{uttz} % 한글 기본폰트 윤명조120
\begin{document}
.............

위에서 만든 *.tfm파일들과 myttf.sty 등 새로 만들어진 파일과 이 tex문서는 같은 디렉토리 안에 있어야 하고 \SetHangulFonts에서 한글 기본폰트로 맑은고딕을 설정하였다.
\SetHangulFonts가 필요로 하는 인자는 \SetHangulFonts{명조폰트}{고딕폰트}{타자폰트}인데 이 폰트에 대해서 고딕체과 타자체에 대응하는 폰트가 따로 없으므로 그것들은 그냥 은글꼴을 사용한다는 의미에서 {utgt}{uttz}를 써준것이다.

이렇게 문서를 만들고 컴파일을 하면 ******pk 가 붙은 파일들이 또 마구마구 만들어지면서 원하는 한글 폰트가 들어간 문서가 만들어진다.


http://afnastica.tistory.com/336
를 참조했음
:

CEDET/ECB for Aquamacs

OSX 2011. 5. 18. 17:18

http://docwhat.org/2010/08/cedet-ecb-for-aquamacs/

에서 퍼옴


CEDET

  1. Download the latest CEDET from sourceforge
  2. Untar the file in ~/Library/Application Support/Aquamacs Emacs:
    cd ~/Library/Application Support/Aquamacs Emacs
    tar xf ~/Downloads/cedet-1.0.tar.gz

  3. Run make:
    make EMACS=/Applications/Aquamacs.app/Contents/MacOS/Aquamacs


  4. Create a site-start.el file. This will be loaded automagically by Aquamacs. It should look like this. You should replace YOUR USERNAME with your OS X username.
    (/Applications/Aquamacs.app/Contents/Resources/lisp/aquamacs/site-start.el)

    (load-file "/Users/YOUR USERNAME/Library/Application Support/Aquamacs Emacs/cedet-1.0/common/cedet.el")
    (global-ede-mode 1) ; Enable the Project management system
    (semantic-load-enable-code-helpers) ; Enable prototype help and smart completion
    (global-srecode-minor-mode 1) ; Enable template insertion menu


  5. Now you need to pull all the .info files into a directory called info with a dir file. Aquamacs is smart enough to figure out this is plugin specific info files, and will use it.

    mkdir info
    cd info
    find .. -type f -name '*.info' | while read i; do j="$(basename $i)"; ln -s "$i" "$j"; install-info --info-dir="$(pwd)" "$j"; done


  6. Restart Aquamacs and you should have the full CEDET available, including docs.

ECB

ECB is the Emacs Code Browser. It basically turns Emacs into a full IDE like XCode.

  1. Download the latest ECB from sourceforge
  2. Untar the file in ~/Library/Application Support/Aquamacs Emacs:

    cd ~/Library/Application Support/Aquamacs Emacs
    tar xf ~/Downloads/ecb-2.40.tar.gz


  3. Create a site-start.el file to load up ECB on startup:

    (add-to-list 'load-path
    "/Users/docwhat/Library/Application Support/Aquamacs Emacs/ecb-2.40")

    ;; Choose one of the following...

    ;; If you want to load the complete ECB at (X)Emacs-loadtime
    ;; (Advantage: All ECB-options available after loading
    ;; ECB. Disadvantage: Increasing loadtime2):

    (require 'ecb)

    ;; If you want to load the ECB first after starting it by ecb-activate
    ;; (Advantage: Fast loading3. Disadvantage: ECB- and semantic-options
    ;; first available after starting ECB):

    ;(require 'ecb-autoloads)


  4. Symlink the info-help directory to info and create a dir file.

  5. ln -s info-help info
    cd info
    install-info --info-dir="$(pwd)" ecb.info

  6. Restart aquamacs and you should have ECB available, including docs.

.emacs ————————————————————————————————————————————————————

(set-language-environment “Korean”)

;; (set-terminal-coding-system 'utf-8)

;; (set-keyboard-coding-system 'utf-8)

;; (prefer-coding-system 'utf-8)

;; (set-default-coding-systems 'utf-8)

(set-terminal-coding-system 'euc-kr)

(set-keyboard-coding-system 'euc-kr)

(prefer-coding-system 'euc-kr)

(set-default-coding-systems 'euc-kr)

(set-default-font “apple-Bitstream_Vera_Sans_Mono-medium-normal-normal18-m-0-iso10646-1”)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cedet 설정파일 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(load-file “~/Library/Application Support/Aquamacs Emacs/cedet/common/cedet.el”)

(global-ede-mode 1) ; Enable the Project management system

(semantic-load-enable-code-helpers) ; Enable prototype help and smart completion

(global-srecode-minor-mode 1) ; Enable template insertion menu

(global-set-key [(control tab)] 'senator-completion-menu-popup)

;; (global-set-key “\M-n” 'semantic-analyze-possible-completions)

;; (global-set-key “\M-n” 'semantic-complete-analyze-inline)

;; 처음 부터 . -> :: 기능을 사용하시려면 아래 “nil” 을 “t” 바꾸세요.

(defvar semantic-complete-self-insert-p t)

(defun semantic-complete-self-insert-toggle-switch ()

  (interactive)

  (if semantic-complete-self-insert-p

   (progn (setq semantic-complete-self-insert-p nil)

(message “semantic-complete-self-insert off”) )

   (progn (setq semantic-complete-self-insert-p t)

(message “semantic-complete-self-insert on”) ) ) )

(defun semantic-complete-self-insert-for-dot-operator (arg)

  (interactive “p”)

  (if semantic-complete-self-insert-p

   (call-interactively 'semantic-complete-self-insert)

   (self-insert-command arg) ) )

(defun semantic-complete-self-insert-for-arrow-operator (arg)

  (interactive “p”)

  (if (and semantic-complete-self-insert-p

(string= “-” (char-to-string (char-before (point)) ) ) )

   (call-interactively 'semantic-complete-self-insert)

   (self-insert-command arg) ) )

(defun semantic-complete-self-insert-for-scope-operator (arg)

  (interactive “p”)

  (if (and semantic-complete-self-insert-p

(string= “:” (char-to-string (char-before (point)) ) ) )

   (call-interactively 'semantic-complete-self-insert)

   (self-insert-command arg) ) )

(defun c++-mode-additional-semantic-keys ()

  “Key bindings to add to `c++-mode'.”

  (define-key c++-mode-map [(control c)(control .)] 'semantic-complete-self-insert-toggle-switch)

  (define-key c++-mode-map “.” 'semantic-complete-self-insert-for-dot-operator)

  (define-key c++-mode-map “>” 'semantic-complete-self-insert-for-arrow-operator)

  (define-key c++-mode-map “:” 'semantic-complete-self-insert-for-scope-operator)

  )

(add-hook 'c++-mode-hook 'c++-mode-additional-semantic-keys)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ECB 설정파일 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(add-to-list 'load-path “~/Library/Application Support/Aquamacs Emacs/ecb-2.40”)

;; Choose one of the following…

;; If you want to load the complete ECB at (X)Emacs-loadtime

;; (Advantage: All ECB-options available after loading

;; ECB. Disadvantage: Increasing loadtime2):

(require 'ecb)

;; If you want to load the ECB first after starting it by ecb-activate

;; (Advantage: Fast loading3. Disadvantage: ECB- and semantic-options

;; first available after starting ECB):

;(require 'ecb-autoloads)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(require 'ido)

(ido-mode t)

(global-auto-revert-mode 1)

(require 'color-theme)

(color-theme-initialize)

(color-theme-arjen)

(add-to-list 'default-frame-alist '(alpha . (95 88)))

:

Spiritual fruits

Christianity 2011. 5. 17. 09:12


spititual fruits2.jpg

:

귀농의 꿈

카테고리 없음 2011. 5. 14. 20:48



기사 원문

"서울대 나와 좋은 직장 다니면 뭐합니까?!"

[특별기획 '힘내라 청춘'] ③ 서울대 졸업, 안정된 직장 버리고 자유찾아 귀농

http://www.nocutnews.co.kr/show.asp?idx=1801209


[경남CBS 손성경 아나운서] 도 전만으로도 칭찬받고, 실패하더라도 박수 받아야 하는 청춘임에도 불구하고 이 시대를 살아가는 청춘들을 바라보는 눈빛은 차갑기만 하다. 안정된 직장에 들어가기 위해 너도나도 스펙에 목매며, 바늘구멍 같은 경쟁률을 뚫기 위해 현실의 높은 벽과 싸우며 좌절하는 이 시대의 청춘들. 하지만 자신만의 길을 개척해 나가고 치열하게 고민하고 행동하는 청춘들이 있다. 경남CBS는 그런 청춘들을 만나 그들이 말하는 진정한 행복과 삶의 가치에 대해 들어본다. [편집자 주]





◈ 서울대 졸업, 청약저축 넣으며 안정된 생활


울산에서 평범하게 자란 조대성(35)씨가 처음 음악에 관심을 가졌던 것은 중학교 때다. 교회 학생부 활동을 하면서 라이벌 친구를 따라 여학생들에게 인기를 끌기 위해 기타와 피아노를 혼자 익혔다.


고등학교 1학년 여름방학, 그는 누구나 하는 일보다 특별한 일을 하고 싶어 취미삼아 했던 음악을 하겠다고 결심했다.


주변에서도 긍정적이었다. 클래식을 좋아하던 친구는 잘 할 수 있을꺼라며 용기를 북돋아 줬고, 평소 성가대 지휘자가 자유롭게 악보 보는 것이 부럽다던 아버지께서도 넉넉하지 않은 형편이었지만, 기꺼이 지원해주셨다.


남들에 비해 늦게 시작한 음악 공부였기 때문에 음대에 가기위해서는 작곡을 공부해야했다. 서울대를 목표로 수능 준비는 물론, 피아노 연습, 작곡공부, 화성법, 시창청음 훈련 등 쉴 틈 없이 고등학교 시절을 보냈다.


그리고 서울대 작곡과 이론전공 합격.


하지만, 그는 음악을 통해 자유롭게 표현하는 것을 기대했던 것과 달리 잘 맞는 않는 옷을 입은 듯, 학교 생활에 흥미를 느끼지 못했다. 전통음악과는 거리가 있었고, 음악과 관련된 이론은 음악에 대한 욕구를 채워줄 수 없었다.


그 때부터 방황 아닌 방황이 시작됐다. 사람과 어울리는 것을 좋아해 재즈동아리, 국악동아리, 밴드동아리, 선교동아리 등 10개가 넘는 동아리 활동을 하면서 에너지를 쏟았고, 방학 때에는 엠티와 교회수련회에 빠져 지냈다.


학교에 큰 의미를 두지 않고, 성적도 중요하게 생각하지 않았던 2002년 말, 졸업 한 학기를 앞두고 친구의 소개로 한 영상프로덕션에서 일했다. 클래식 연주자들의 공연을 촬영해주고 DVD를 제작해주는 사업을 하는 곳이었다.


“처음에는 악장을 구분하는 음악 관련 일을 하다가 영상도 제작해보지 않겠냐는 사장님의 권유로 영상 제작을 배웠어요. 재밌었어요. 편집도 하면서 영상에 들어가는 배경음악도 직접 작곡해 넣었죠”


2003년 8월 졸업 후에도 그 곳에서 6개월간 더 일했다. 그 후 얼마간의 백수생활, 패스트푸드점 아르바이트를 거쳐 2004년 7월 ‘아트센터 나비’에서 인턴을 시작했다.


아 트센터 나비는 SK소속 미술관으로 일반 미술관과 다르게 미디어를 다루는 곳이었다. 컴퓨터 프로그램을 이용해 사람과 상호 소통이 가능한 작품을 주로 전시했고, 그가 소속된 프로덕션팀에서는 이러한 전시가 가능하도록 기술적으로 지원, 감독하는 일과 전시회를 영상과 사진으로 촬영해 기록하는 일을 했다.


그는 6개월 인턴을 거쳐 2005년 1월 정사원이 됐고, 2009년에는 회사 조직 개편 때 팀장을 맡게 됐다.


◈ "끊고 끊고 또 끊고…끊는 연습을 하다보니… 어느새 농부"


2005 년, 아트센터 나비에서 정식으로 일을 하면서 남들처럼 꼬박꼬박 저축도 하고, 직장생활 재테크의 기본이라고 할 수 있는 보험과 청약저축 등에도 가입했다. 의미 있게 돈을 쓰고 싶어 월급의 일정부분은 남을 돕는데 쓰기도 했다. 서울 생활이 행복했고, 일도 제법 능숙해졌다.


그러던 어느 날, 갑자기 ‘나를 자유롭지 않게 하는 것은 무엇일까? 내 삶을 방해 요소들은 무엇일까?’ 라는 의문이 들었다. 책을 많이 보고, 생각을 하고, 사람들과 깊이 있는 대화를 하고 싶었지만, 직장에 다닌다는 이유로 시대의 흐름에 순응하면서 편하게 살아가려는 자신의 모습을 발견했다.


“약 6년 동안 일을 통해 얻은 지식과 기술은 늘었지만, 무엇이 옳고 그른가를 판단할 수 있는 내안의 힘, 철학이 부족하다는 것을 느꼈어요. 미래를 담보로 현재를 즐기지 못하는 삶을 사는 것 같았죠.”


그 때부터 부족함을 채우기 위해 책을 찾아 읽었고 방해하는 요소를 찾아, 하나씩 '버리는' 연습을 했다.


먼저 식습관부터 바꿨다.


“친구가 채식을 시작하면서 보여준 다큐멘터리가 충격적이었어요. 한창 광우병 파동으로 시끄럽고 먹거리에 대한 경계가 심했는데,‘이대로 안 되겠다’싶더라구요.” 이 때부터 육식을 피하고, 채식, 유제품, 해산물만 먹었다.


이산화탄소를 줄이기 위해 자동차를 사지 않았고, 6년 동안 꼬박꼬박 모으던 청약저축도 그만뒀다.


그 후에는 직업을 그만둬야겠다는 결심이 섰다.


“도시에서는 일을 하면 할수록 반대되는 결과가 나오는거에요. 미디어 관련 일을 하면서 늘 전기를 발생시키고, 이산화탄소를 배출하고 저의 신념과 맞지 않는 일 같지 않더라구요”


농사를 짓기로 마음을 먹었다. 작물을 키워 사람들에게 먹거리를 제공하고, 유기농으로 농사를 지으면 아무도 해를 끼치지 않을 수 있을 것 같았다.


주 변에서는 말렸다. 잘 다니던 회사를 그만두고 농사를 짓겠다니 이해할 수 없는 일이었다. 육식을 하지 않는다거나 자전거를 타는 노력들이 주변의 격려와 동참으로 발전하기 보다는 튀는 사람으로 받아들여지는 것을 보면서 더 외로움을 느꼈다. 도시에서 지속하기가 힘들다는 결론이었다.




2007년 5월 결혼한 그의 곁에는 아내와 갓 태어난 딸이 있었다. 다행히도 아내 역시 생각이 같았다.


당장 회사를 그만두는 것이 중요한 게 아니라, 어떤 삶을 살아야하는가에 대한 고민에 힘을 보탰다. 그렇게 세 식구가 제 2의 새로운 삶을 살고자 다짐했다.


2009년 여름휴가를 이용해 충남 홍성에 있는“풀무농업고등기술학교”에 찾아갔다. 8회 졸업생인 친구 남편의 도움을 받아 찾아간 홍성은 연고도 없는 곳이었지만, 다녀오고 난 후에는 농사에 대한 관심이 확신으로 변했다.


“농사에 필요한 기술만을 가르치는 것이 아니라, 농민으로 살아가는 철학을 함께 가르치고 있었어요. 인문학 수업을 통해 부족함을 채우고, 막연했던 농사도 체계적으로 배울 수 있겠다.”고 생각했다.


◈ "한달 생활비 30만원…농사 배우며 동네 합창단 지휘자도"


세식구가 홍성에 내려온 지 이제 1년 5개월. 지난해 3월 학교에 입학해 올해 2학년이다.


그 가 다니는 풀무농업고등기술학교 전공부 생태농업과(2001년 설립)는 2년제 학교로 대도시 에 집중된 과도한 경쟁, 학력 중심의 교육이 아니라, 농촌교육을 통해 일과 배움과 생활을 통한 전인교육, 지역 속에 뿌리를 내리는 공동체 교육을 지향하고 있다.


학생 전원 기숙사 생활을 통해 친밀감을 형성하고, 수업료는 기숙사비를 포함해 한 학기 약 150~160만원 정도다. 졸업 대신 창업이란 말을 사용하고, 올해 제 8회 창업식을 가져, 지금까지 총 55명의 수업생을 배출했다.


현재는 1학년 8명, 2학년 6명, 교직원 10여명이 함께 생활하고 있으며, 고등학교를 갓 졸업하고 온 학생부터 직장을 그만두고 농부의 꿈을 꾸고 귀농한 30~40대까지 다양하다.


수 업은 농촌 흐름과 농사 일정에 맞춰 진행되고, 농촌일이 많을 때에는 현장 실습을 중심으로 한다. 오전에는 글쓰기, 역사와 교양, 일본어, 논.밭농사, 원예, 축산, 유기농업 기초를 배우는 교실 수업, 오후에는 논농사를 중심으로 텃밭에서 다양한 작물을 재배한다.


그는 4월 초, 논.밭과제 논문주제를 발표했다. 1학년 때 농사 전반에 대해 배웠다면, 2학년 때는 자기가 연구하고 싶은 분야를 정해 농사를 짓고 결과물 발표하기 때문이다.


그 는 올 한해 논과제로 500평 논에 ‘추청’이라는 품종을 심어서 재배할 계획을 세웠다. 밭과제는 고추(대화초, 토종종자)를 심어 세밀화로 그려볼 생각이다. 그리고 요즘 농촌에서도 거의 찾아볼 수 없는 일소(일하는 소) 만들기를 논문주제로 택했다. 최근에는 일소의 코 뚫는 작업을 했다.


지금은 특정 수입이 없다. 학교를 다니기 때문에 시간을 따로 낼 수 없을 뿐만 아니라, 소비하지 않으면 농촌에서는 돈 쓸 일이 없다는 게 그의 말이다.


“한 달에 30만원 정도 써요. 쌀값과 기저귀, 기름 값... 농촌에 사니까 먹거리 걱정은 안해도 되고, 돈 쓸 일이 없어요. 그리고 농촌에는 손이 가는 일이 많거든요. 비닐하우스를 짓는다거나 감자 캐는 일을 도와주면 일당 4~5만원 받는데, 그걸로 생활하고 있어요.” 올해는 저소득층 자녀에게 주는 양육비를 신청했고, 학원 강사 경력이 있는 아내가 일주일에 한 번 초등학교 방과 후 수업도 맡고 있다.


“사실 직장을 그만두지 못하는 것도 생계 때문이거든요. 고정적으로 들어가는 돈, 꼬박꼬박 모아야하는 돈 때문인데, 저는 들어갈 돈이 없으니, 귀농도 쉬었고, 저축걱정을 안하니, 돈을 벌지 않아도 돼요.”


아이의 교육에 대해서도 한마디 했다.


“제 가 준비된 것은 아니지만, 아이를 학교를 보내고 싶지 않아요. 초등학교 들어가는 순간 교육의 완성은 대학인데, 아이가 어린 시절부터 마을에서 구성원으로 살 수 있는 의식을 심어주면 저절로 배우며 성장할 수 있다고 생각해요. 아이 역시 농사를 통해 가르치고 싶어요.”




올 해 1월에는 작곡과 재능을 살려 마을에 ‘홍동뻐꾸기 합창단’도 만들었다. 아장아장 걸음마를 뗀 아이부터 호기심 많은 초등학생, 농사 짓다 온 아주머니와 흰머리 가득한 할머니까지 땅거미가 지는 매주 월요일 저녁 8시면 홍성여성인농업센터에 모인다. 세대를 아우르는 20명 남짓되는 마을가족합창단이다.


“고향의 봄도 부르고, 오빠생각도 부르고, 가곡도 부르고 장르가 없어요. 농사일에 바쁘게 지내다 보면, 노래를 불러볼 기회도 많지 않은데, 노래하는 이 시간이 즐거웠으면 좋겠어요.”


이야기를 하지 않고, 노래만 해도 일체감을 느끼고 즐거움을 주기 때문에 굳이 정해진 룰에 맞춰 할 필요가 없다.


앞으로 마을 행사가 있으면 “홍동 뻐꾸기 합창단”이 무조건 참가할 예정이다.


그는 과거에 비해 지금 너무 행복하다. 흙을 파면 팔수록 좋고, 심었을 때 자라나는 생명을 보면 경이로움도 느껴진다.


“이 제 막 시골에서 농사 배워 시작하는 단계인데, 앞으로 농사는 최소한의 먹을 것만 지어서 먹고, 남은 것은 이웃과 나누고 살고 싶어요. 그리고 마을의 자잘한 일도 도우면서 제가 가진 재능을 나누고, 화폐 없이 품앗이로도 생활이 가능한 ‘신뢰가득한 마을’을 형성하는데 도움이 되고 싶어요.”


자연과 더불어 모두가 가난하게 사는 삶, 지나친 것을 욕망하지 않고 사는 마을, 그런 마을이 우리 마을이 되도록 농사짓는 것이 그의 꿈이다.

:

Bayesian Books

Machine Learning 2011. 5. 14. 18:20

서명 / 저자 The Bayesian choice : from decision-theoretic foundations to computational implementation / Christian P. Robert. 저자명 Robert, Christian P., 1961-

판사항 2nd ed. 발행사항 New York : Springer, c2001. 총서명 Springer texts in statistics
등록번호 소장위치 / 청구기호 도서상태 반납예정일
6009339 대전 중앙관4층 일반도서실 / QA279.5 .R6313 2001

서명 / 저자 Bayesian data analysis / Andrew Gelman ... [et al.]. 저자명 Gelman, Andrew. 발행사항 London ; New York : Chapman & Hall,1995. 총서명 Chapman & Hall texts in statistical science series
Texts in statistical science.
등록번호 소장위치 / 청구기호 도서상태 반납예정일
5033709   대전 중앙관4층 일반도서실 / QA279.5 .B39 1995

서명 / 저자 빵가게 재습격 : 무라카미 하루키 소설 / 무라카미 하루키 지음 ; 권남희 옮김. 저자명 무라카미 하루키, 1949- ; 권남희 발행사항 파주 : 문학동네, 2010. 총서명 문학동네 세계문학
등록번호 소장위치 / 청구기호 도서상태 반납예정일
5078504 대전 중앙관2층 일반도서실 / PL856.U745 빵7422




:

현미채식요법

카테고리 없음 2011. 5. 14. 16:05

원본뉴스

'지방 빼고 건강 더하고' 현미채식 요법

[이로운 몸짱, 의사들의 채식 노하우]<4-2>천일염 섭취가 현미 소화 촉진

건강에도 좋고 다이어트에도 좋다는 현미채식, 과연 현미와 채식만으로 필요한 영양을 충분히 섭취할 수 있을까? 성장기 아이들한테도 과연 좋을까? 제대로 소화되지 않아 몸이 더 허해지지 않을까?

채식을 실천하는 의사·치의사·한의사의 모임 '베지닥터' 회원들은 '아니다'라고 주장한다. 동물성 식품을 끊더라도 식물성 식품으로 우리 몸에 필요한 영양분을 충분히 섭취할 수 있다는 것이다. 몇 가지 노하우만 알면 된다.

우선 밥을 100% 현미로 먹는다. 그리고 밥상에서 고기·계란·우유·생선 등 동물성 식품을 내리고, 채소·과일·버섯류·콩류·견과류·해조류를 올린다.

칼슘, 단백질 같은 영양이 동물성 식품에만 있을 것이라는 생각은 편견이다. 예컨대 콩은 단백질, 톳은 칼슘의 보고(寶庫)다.

이의철 대전 선병원 산업의학센터 과장은 "어른뿐 아니라 아이들에게도 동물성 식품은 전혀 필요하지 않다"고 설명했다. 이 과장은 "어린이는 동물성 식품을 많이 섭취할수록 문제가 생긴다"며 "동물성 식품 섭취 비중이 높은 서양의 어린이들은 태어나면서부터 혈관에 지방이 침착해 동맥경화가 진행된 경우가 많다"고 지적했다.

현미채식이 맞지 않다면 소금 섭취가 필요하다. 야채를 많이 먹고 나서 변을 볼 때 야채의 모습이 그냥 나오는 것을 경험한 적이 있는가? 신우섭 오뚝이의원 원장은 "이 때 필요로 하는 음식이 바로 소금"이라고 말한다.

신 원장은 "식물성 식품에 들어있는 식이섬유를 소화를 시킬 수 있는 소화효소가 인간에게는 거의 없다"며 "소금이 들어있는 음식은 인간의 소화기관에서 소화력을 높이는 작용을 한다"고 설명했다. 그러므로 현미채식을 할 땐 적당히 소금기를 먹어야 잘 소화시킬 수 있다는 것이다.

단, 소금은 반드시 천일염으로 먹어야 한다. 신 원장은 "화학물인 염화나트륨(NaCl)에 조미료를 첨가한 맛소금은 건강에 여러 가지 부작용을 일으키지만, 미네랄 등 자연의 영양이 그대로 남아 있는 천일염은 그러한 부작용을 일으키지 않는다"고 말했다. 설탕 중독증인 사람들도 천일염을 들고 다니면서 먹으면 단 음식을 멀리할 수 있다.   

: