�����쐬�ɖ𗧂�Emacs Muse�FLeverage OSS

�B�l�ƌĂ΂��v���O���}�[���D��Ŏg��Emacs�B�P�Ȃ�e�L�X�g�G�f�B�^�̘g�ɂ͂Ƃǂ܂炸�APIM��^�X�N�Ǘ��c�[���A���[���N���C�A���g�ȂǂƂ��Ă��g�����Ƃ��ł���Emacs�����A�����ł́A���͂̎��M�Ɣ��s�ɖ𗧂�Muse���[�h���Љ�悤�B

» 2007�N04��12�� 09��00�� ���J
[Scott-Nesbitt�COpen Tech Press]
SourceForge.JP Magazine

�@Emacs�̓e�L�X�g�G�f�B�^�����A���̘g�����ɂ͂Ƃǂ܂�Ȃ��B�Ⴆ�΁APIM��^�X�N�Ǘ��c�[���A���[���N���C�A���g�ȂǂƂ��Ă��g�����Ƃ��ł���B�킽���ɂƂ��ẮAEmacs�͕��͂̎��M�Ɣ��s�̂��߂̃c�[���ł���B���̍ہAMuse���[�h�����ɖ𗧂��Ă���B

�@Muse���[�h�Ƃ́A�~�J�G���E�I���\��������|���Ă�����̂ŁA�������쐬���邽�߂̏K�����₷���}�[�N�A�b�v����ƁA�e��̃t�H�[�}�b�g�ŏo�͂𐶐����邽�߂̈�A�̃X�^�C���Ƃ��g�ݍ��킳��Ă���B�Ή��t�H�[�}�b�g�͈ȉ��̂Ƃ��肾�B

  • LaTeX�i�W����book�N���X�܂���article�N���X���g�p�j
  • Texinfo
  • PDF�iLaTeX�x�[�X�j
  • HTML�����XHTML
  • DocBook XML
  • Blosxom�i�y�ʂȃu���O�c�[���j

�@���Ԃ�Muse�����ۂɎg���Ă���p�r�ɂ́A�h�L�������e�[�V�����ƃ`���[�g���A���AWeb�y�[�W�A���V�s�A���A�u���O�A�i���b�W�x�[�X�Ȃǂ�����B�킽���͋��N����Muse���g���n�߁A����܂łɁALaTeX�AHTML/XHTML�ADocBook�APDF�̊e��t�@�C���̏o�͂ɗ��p���Ă����B�኱�̏C�������������ʁA���ɖ����̂������ʕ��������Ă���B

Muse�̓���ƃC���X�g�[��

�@Muse�́AMuse�v���W�F�N�g��Web�T�C�g���璼�ڃ_�E�����[�h�ł���B����ł܂��͍ŐV�̊J���ł̂ǂ��炩��I���”\���B�_�E�����[�h���ς񂾂�AHDD�ɃA�[�J�C�u��W�J���A.emacs�t�@�C���Ɉȉ��̋L�q��lj�����΂悢�B

�iadd-to-list 'load-path "/home/scott/elisp/muse_latest/lisp"�j

�irequire 'muse-mode�j

�irequire 'muse-html�j

�irequire 'muse-latex�j

�irequire 'muse-texinfo�j

�irequire 'muse-docbook�j

�irequire 'muse-book�j


�@�܂��AMuse�̃C���X�g�[����ɁA�u�o�C�g�R���p�C���v���s���Ă��悢�B�o�C�g�R���p�C���Ƃ́ALisp�iMuse�Ȃǂ�Emacs�g���@�\�̍쐬�Ŏg�p����v���O���~���O����j�̃t�@�C�����AEmacs�������Ŏ��s�ł���R�[�h�ɕϊ����鏈���̂��Ƃ��B�킽���̃m�[�gPC�͂��Ȃ荂���Ȃ̂ŁA�o�C�g�R���p�C���ł�Muse�Ɩ��R���p�C���ł�Muse�ƂŁA�ڂɌ�����Ⴂ�͂Ȃ��������A�}�V���ɂ���Ă͗L�v�Ȍ��ʂ������邩������Ȃ��B

�@load-path�̎w���Muse�̃C���X�g�[����ɕύX������ŁAEmacs���N�����A���͂̎��M�Ɏ�肩���낤�B

Muse�̃}�[�N�A�b�v

�@Muse�̃}�[�N�A�b�v����͒P���ŏK�����₷���BHTML��XML�Ƃ͈���āA�R�̂悤�ȃ^�O���o����K�v�͂قƂ�ǂȂ��B����ɁA�L�[�{�[�h������͂ł���L�����g���ăe�L�X�g�̏������w�肷��B�Ⴆ�΁A�e�L�X�g�̑O�ɃA�X�^���X�N�i*�j���‚���ƁA���o���ɂȂ�B�X�y�[�X�̌�Ƀn�C�t���i-�j���������w�肷��ƁA�ԍ��Ȃ��܂��͔ԍ��t���̉ӏ��������쐬�ł���B��‚��̃A�X�^���X�N�Ńe�L�X�g���͂ނƁA���̕�����������Α̂ɂȂ�B

Musẽ\[XEmacsŕҏWĂlq Muse�̃\�[�X������Emacs�ŕҏW���Ă���l�q

�@Muse�̃}�[�N�A�b�v��wiki�����Ǝv�����l�����邩������Ȃ��B���̌����ẮA�Ȃ��Ȃ������Ƃ����˂��Ă���BMuse��Emacs wiki���[�h���x�[�X�Ƃ��Ă���A�����̃}�[�N�A�b�v�𗬗p���Ă���̂��B�����A�������ɂ����g�����{����Ă���A���܂��܂ȃ^�O���lj�����Ă���B

�@�^�O�̒��ɂ�HTML��XML���̂��̂�����B�R�������ň͂܂ꂽ�^�O���B�Ⴆ�΁A�^�O�ł́A�����̖`���ɖڎ������������B�^�O�ł́A�e�L�X�g�̃u���b�N�ɑ΂��ČŒ蕝�̃t�H���g���ݒ肳��A�R�[�h�T���v���Ɏg�p�ł���B

�@Muse�ł́Awiki���̃}�[�N�A�b�v�f�B���N�e�B�u�ɂ��A�n�C�p�[�����N�A�摜�A�\�ɂ��Ή����Ă���B�T�|�[�g����Ă���S�}�[�N�A�b�v�̏ڂ��������́AMuse�̃}�j���A���ɋL�ڂ���Ă���B

�t�@�C���̔��s

�@�����̎��M�ƃ}�[�N�A�b�v���ς񂾂�A���͔��s���B������ۑ����āuEsc-x muse-publish-this-file�v�Ɠ��͂��AEnter�L�[�������B�i�܂��́AHDD��̂����ꂩ�̏ꏊ�ɂ���ʂ̃t�@�C���𔭍s���邱�Ƃ��ł���B���̏ꍇ��muse-publish-file�R�}���h���g�p����j�B

�@���ɁA�쐬����o�͂̎�ނ��w�肷��悤�v�������B�w��ł��锭�s�X�^�C�����s���ȏꍇ�́ATab�L�[�������Έꗗ���\�������B�ړI�̃X�^�C�����i�Ⴆ�΁updf�v�j����͂���ƁA���ɁA�t�@�C�����o�͂���f�B���N�g���̎w������߂���B�\�[�X�t�@�C���̕ۑ��ꏊ�Ɠ����f�B���N�g�����g�p����ꍇ��Enter�L�[�������A�ʂ̃f�B���N�g�����g�p����ꍇ�͖ړI�̃p�X����͂���B

�@�ȏオ��������ƁA���������s�����B���s�ɗv���鎞�Ԃ́A�\�[�X�t�@�C���̃T�C�Y�ƁA�I�������o�̓t�H�[�}�b�g�ɉ����ĕς��B�킽���̏ꍇ�A30�y�[�W��PDF�t�@�C�����킸�����b�Ŕ��s�ł����BHTML��XHTML�t�@�C���Ȃ�A���Ԃ͂���ɒZ���B

�o�͂̃J�X�^�}�C�Y

�@Muse�Ɋւ��āA�l�I�ɕs���Ɏv���Ă���_��1�‚��ALaTeX�t�@�C����PDF�t�@�C���̐����ɂ����āALaTeX�̕W����article�N���X��book�N���X���g�p���Ă���Ƃ������Ƃ��B��������A�����ڂɂ��܂薣�͂������Ȃ��̂��B�����A����͊ȒP�ɕύX�ł���BLaTeX�̂��܂��܂ȕ����N���X�ɐ؂�ւ��邱�Ƃ��ł��邩�炾�B

�@�ύX��������ɂ́Amuse-latex.el�t�@�C����muse-book.el�t�@�C����ҏW����B�u\\documentclass {article}�v�Ɓu\\documentclass{book}�v�Ƃ����G���g�������‚��A�D�݂̕����N���X�ɕς���΂悢�B�l�I�ɂ́Aarticle�N���X�̑���ɂ́Ahitec�N���X�Arefart�N���X�Apaper�N���X�����C�ɓ��肾�Bbook�N���X�̑���ɂ́Amemoir�N���X��scrbook�N�X�����C�ɓ��肾�B

�@�Ȃ��AMuse�t�@�C�����o�C�g�R���p�C���ς݂̏ꍇ�́Amuse-latex.el��muse-book.el���ēx�o�C�g�R���p�C�����Ȃ��ƕύX���L���ɂȂ�Ȃ��Ƃ����_�ɂ͒��ӂ��K�v���B

�@Muse���o�͂���HTML��XHTML�́AWeb�W���ɋ����قǏ������Ă���BXHTML�o�͂ł́A�J�X�P�[�f�B���O�E�X�^�C���E�V�[�g���t�@�C���ɖ��ߍ��܂�Ă���B���̃X�^�C���̓V���v���ŋ@�\�I�����A���������߂Ă���X�^�C���Ƃ͈قȂ�ꍇ�����邾�낤�B�����ύX����ɂ́A�����̃w�b�_��muse-htmlstyle-sheet�I�v�V�������L�q���A�X�^�C���V�[�g����lj�����΂悢�B�ڂ����́AMuse�̃}�j���A�����Q�Ƃ��Ăق����B

�܂Ƃ�

�@���͂̎��M�Ɍg��邱�Ƃ�����l�ɂ́AEmacs Muse�͂����Â����B���M��Ƃ݂̂Ȃ炸�A�����̔��s�܂ł��Ȃ����Ƃ��ł���B�g�p����}�[�N�A�b�v�͏K�����₷�����A�\�[�X�������e��t�H�[�}�b�g�ɕϊ����邽�߂̃I�v�V�����������p�ӂ���Ă���B

�@Muse�́u�v���t�F�b�V���i���v�ȕ����̍쐬�ɂ͎g���Ȃ��A�Ǝv���Ă���l�́A���Ѝl�������Ăق����B�킽���́A���|�[�g��Z���}�j���A���̍쐬�ȂǁA���܂��܂Ȍڋq������Muse�����x���g���Ă����B���͂��̕�����Muse�ō쐬�����̂ł���B

Scott Nesbitt�F�J�i�_�̃g�����g�ݏZ�̃��C�^�[�BEmacs Muse�������A����܂ł����ƒT�����߂Ă��������쐬�c�[�����Ɗ����Ă���B


Copyright © 2010 OSDN Corporation, All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);

���ڂ̃e�[�}

���Ȃ��ɂ������߂̋L��PR