# HG changeset patch # User HIROSE Yuuji # Date 1336988345 -32400 # Node ID 29ab3f4fcd9eaf6c66e787825433c2701050e271 # Parent 5d8f03ba4285e429363d37bb4ead0d8707d606fd# Parent 6188dcbf8d2f5965eabaa5f68337f05b6cb30c5d The dev branch pulled up to the default branch diff -r 5d8f03ba4285 -r 29ab3f4fcd9e .hgignore --- a/.hgignore Thu Jan 12 12:27:20 2012 +0900 +++ b/.hgignore Mon May 14 18:39:05 2012 +0900 @@ -5,6 +5,15 @@ .cvsignore [._]win* __emacs -docs/* *.swp trashbox +*.aux +*.cp +*.dvi +*.fn +*.ky +*.log +*.pg +*.toc +*.tp +*.vr diff -r 5d8f03ba4285 -r 29ab3f4fcd9e .hgtags --- a/.hgtags Thu Jan 12 12:27:20 2012 +0900 +++ b/.hgtags Mon May 14 18:39:05 2012 +0900 @@ -2,4 +2,5 @@ ce2deaceb818dad84bb6a06079cceddeca2f3ef7 yatex-1.74 801593454c59be43ddc14f725c647ab379b44c32 start-branch-for-1.75 6be1692f81cd35d0ea6022840c9f7e28af6c8e66 start-for-1.75 +cb1906082153a03966183a861889f5d96c73d399 start-for-1.76 33c8875f52f9cc99f1f67cbad4e9145171d2d262 yatex-1.75 diff -r 5d8f03ba4285 -r 29ab3f4fcd9e docs/yahtmle --- a/docs/yahtmle Thu Jan 12 12:27:20 2012 +0900 +++ b/docs/yahtmle Mon May 14 18:39:05 2012 +0900 @@ -1,531 +1,535 @@ -Info file: yahtmle, -*-Text-*- -produced by `texinfo-format-buffer' -from file `yahtmle.tex' -using `texinfmt.el' version 2.38 of 3 July 1998. - - - - - - -File: yahtmle, Node: Top, Next: Intro, Prev: (dir), Up: (dir) - -* Menu: - -* Intro:: Introduction -* Installation:: Installing yahtml -* Command Invocation:: Using External Commands -* Completion:: Input with Completion -* Jump:: Moving the Cursor -* Changing and Deleting:: Changing and Deleting -* CSS Support:: Style Sheet Support -* Customizations:: List of Customize Variables -* Copying:: Copyright -* Concept Index:: Index - - - -File: yahtmle, Node: Intro, Next: Installation, Prev: Top, Up: Top - -Introduction -************ - -yahtml is a package to support creating HTML documents on Emacsens. Easy -input of elements (tags) by completion, syntax checking with programs like -weblint, and invoking the appropriate browser or image viewer depending on -the cursor position is its main features. - -(This Info is still incomplete) - - - -File: yahtmle, Node: Installation, Next: Command Invocation, Prev: Intro, Up: Top - -Installing yahtml -***************** -* Menu: - -* Setting up yahtml:: -* Setting environments for weblint browsers and image viewers:: -* Setting environment variables for WWW pages:: - - - -File: yahtmle, Node: Setting up yahtml, Next: Setting environments for weblint browsers and image viewers, Prev: Installation, Up: Installation - -Setting up yahtml -================= - - -Add the following to `~/.emacs' - - (setq auto-mode-alist - (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist)) - (autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t) - -Next, add to load-path the directory with the yahtml files (`yahtml.el', -`yatexlib.el', `yatexprc.el'). For example, if you put them in -`~/src/emacs/yahtml', - - (setq load-path (cons (expand-file-name "~/src/emacs/yahtml") load-path)) - -is what you add. - -By this, yahtml will be automatically loaded when editing files with .html -extensions. "yahtml" will be displayed on the mode line if no errors -occurred. - - - -File: yahtmle, Node: Setting environments for weblint browsers and image viewers, Next: Setting environment variables for WWW pages, Prev: Setting up yahtml, Up: Installation - -Setting environments for weblint, browsers, and image viewers -============================================================= - -Check the variables for invoking external commands and modify as needed. -Defaults are in parenthesis. - -`yahtml-www-browser' - ... browser command name (netscape) -`yahtml-image-viewer' - ... image viewer command name (xv) -`yahtml-lint-program' - ... syntax check programs command name (jweblint) -`yahtml-kanji-code' - ... kanji code for HTML files - - - -File: yahtmle, Node: Setting environment variables for WWW pages, Prev: Setting environments for weblint browsers and image viewers, Up: Installation - -Setting environment variables for WWW pages -=========================================== - -Variables regarding path names for files that will be your home page. -`yahtml-path-url-alist' - ... list of matching path name on file system and URLs -`yahtml-directory-index' - ... index file displayed when none is given in URL. Usually - `index.html' on NCSA type httpd and `Welcome.html' on CERN types. - -Examples for `yahtml-path-url-alist'. If `/home/yuuji/http/' is -`http://localhost/~yuuji' at home and `/usr/home/yuuji/www/' is -`http://www.keio.ac.jp/~yuuji/' at work, then - - (setq yahtml-path-url-alist - '(("/home/yuuji/http" . "http://localhost/~yuuji") - ("/usr/home/yuuji/www" . "http://www.keio.ac.jp/~yuuji"))) - -Any number of additions can be made to this list. - - - -File: yahtmle, Node: Command Invocation, Next: Completion, Prev: Installation, Up: Top - -Invoking external commands -************************** - -For easy use of commands that are handy when editing HTML files. -`[prefix] t j' - ... Invoke HTML syntax checker (jweblint) -`[prefix] t p' - ... Display current page in browser -`[prefix] t r' - ... Reload current page if browser is already running - - - -File: yahtmle, Node: Completion, Next: Jump, Prev: Command Invocation, Up: Top - -Completion Input -**************** - -Completion input of HTML elements is done through the same key strokes as -YaTeX's begin-type completion, section-type completion, large-type -completion, maketitle-type completion, and accent completion. -Corresponding elements in this order is; elements that span multiple -lines, empty elements such as img, tags that start and end in a single -line, elements with no attributes or contents, and special or symbol -entities. - -`[prefix] b (YaTeX begin-type completion)' - ... - - - Completion for elements that the start tag and the end tag span - multiple lines. Mostly block-level elements. - -`[prefix] s (YateX section-type completion)' - ... - photo - - Completion for elements that do not have end tags and require only - attributes. Possible completions are, , . - -`[prefix] l (YaTeX large-type completion)' - ... - - $B!A(B - - Similar to begin-type completion but used for elements that start and - end on a single line. - - -`[prefix] m (YaTeX maketitle-type completion)' - ... Completion for elements without attributes or contents. Possible - completion is
- -`[prefix] a (YaTeX accent completion)' - ... Used to enter special or symbol entities. By default completion - for < (<), > (>), & (&), " ("), ' ('), blank - ( ) is possible. - - - -File: yahtmle, Node: Jump, Next: Changing and Deleting, Prev: Completion, Up: Top - -Cursor Movement -*************** -By using - -`[prefix] g' - ... move to corresponding object - -the cursor will go to the corresponding object according to the context. -Recognized contexts are - - * `' <--> `' - * `' -> invoke viewer - * `' -> move cursor to linked target - * `' -> open Java source - - - -File: yahtmle, Node: Changing and Deleting, Next: CSS Support, Prev: Jump, Up: Top - -Changing and Deleting -********************* - -* Menu: - -* Changing tags in pairs:: -* Changing entities:: -* URLencoding of strings within region:: - - - -File: yahtmle, Node: Changing tags in pairs, Next: Changing entities, Prev: Changing and Deleting, Up: Changing and Deleting - -Changing tags in pairs -====================== -By using - -`[prefix] c' - ... change tags in matching pairs - -the content can be changed according to the context of the HTML document -where the cursor is located. - - * `'$B!A(B`' - ... change `TAG' element name - * attributes such as `photo' - ... change attributes - - - -File: yahtmle, Node: Changing entities, Next: URLencoding of strings within region, Prev: Changing tags in pairs, Up: Changing and Deleting - -Changing entities -================= -Special characters such as < or > must be written as < and >. Easy -conversion of these characters can be done when importing text from non -HTML files. - - -`[prefix] ;' - ... convert char to special entity in marked region -`[prefix] :' - ... convert special entity to original char in marked region - (reverse of [prefix] ;) - - - - -File: yahtmle, Node: URLencoding of strings within region, Next: td-enclosure/tr-enclosure, Prev: Changing entities, Up: Changing and Deleting - -URLencoding of strings within region -==================================== - -`[prefix] #' - ... encode chars that needs to be URLencoded within region - - - -File: yahtmle, Node: td-enclosure/tr-enclosure, Prev: URLencoding of strings within region, Up: Changing and Deleting - -td-enclosure/tr-enclosure -========================= -If you wan to convert series of field into ... repetitions for -table element, td-enclosure or tr-enclosure is convenient. - - `[prefix] '} - - ... Enclose each field in a region into ...'s. - `[prefix] ]' - - ... Enclose each line in a region into ...'s, with every -line converted to ... repetition. They presume white space as -field separator by default. To change this, enter other delimiting -character for a query. You can convert CSV, for example, into table by -specifying comma(,) as a delimiter. - -If you want to enclose fields with th, call with universal-argument -(`C-u'). Enter `th' to enclose fields with .... The special -answer `thd' means that enclose the only first column with th, and the -rest with td. - - - -File: yahtmle, Node: CSS Support, Next: Customizations, Prev: Changing and Deleting, Up: Top - -CSS(Style Sheets) Support -************************* - -* Menu: - -* CSS-class completion:: -* Reread CSS definition:: - - - -File: yahtmle, Node: CSS-class completion, Next: Reread CSS definition, Prev: CSS Support, Up: CSS Support - -CSS class-name completion -========================= -You can input a class name in your CSS definition with completion. If you -have CSS defined as below; - - h1.foo, h2.foo { background-color: 0xffffff; } - h1.bar, h2.bar { font-size: 120%; } - -when you input h1(or h2) tag with completing-read by [prefix] b or -[prefix] l, yahtml prompts you to input class name with completion from -the words which are effective to h1 or h2. And if you defined global -class like this; - - .caution { font-size: 120%; background-color: 0xc00000;} - -when you input any tags via completing-read, yahtml prompts you to input -class name. If this is bothering, typing `C-j' instead of `RET' (or -`C-m') cancels the next prompt to class name completion. - - - -File: yahtmle, Node: Reread CSS definition, Prev: CSS-class completion, Up: CSS Support - -Re-reading CSS definition -========================= -If you add some class to your CSS file and you want yahtml to load new -definitions, type `M-x yahtml-mode RET' to make yahtml do. - - - -File: yahtmle, Node: Customizations, Next: Copying, Prev: CSS Support, Up: Top - -Customizations -************** - -Variables that modify yahtml's behavior. - -* Menu: - -* All customizable variables:: List of customizable variables -* Hook variables:: hook variables - - - -File: yahtmle, Node: All customizable variables, Next: Hook variables, Prev: Customizations, Up: Customizations - -List of customizable variables. Defaults in parenthesis -======================================================== - - -- Variable: yahtml-prefix - Prefix key for yahtml-mode. (`\C-c') - - -- Variable: yahtml-image-viewer - Command to view image files refered by img. (xv) - - -- Variable: yahtml-www-browser - Browser to view external pages with `[prefix]g'. (netscape) - - -- Variable: yahtml-kanji-code - Default kanji code. 1=sjis, 2=jis, 3=euc, 4=utf-8 (2) If AddType - "text/html; charset=xxx" .html is written in .htaccess, this will - override yahtml-kanji-code. - - -- Variable: yahtml-fill-column - Columns to auto-fill (72) - - -- Variable: yahtml-fill-prefix - fill-prefix specific to yahtml-mode. (`nil') - - -- Variable: yahtml-path-url-alist - Matching list of URL and full path name on OS's file system. - - -- Variable: yahtml-directory-index - Default index filed opened when accessing a server without a - filename, usually index.html. (`"index.html"') - - -- Variable: yahtml-lint-program - HTML syntax check program. (`"jweblint"') - - -- Variable: yahtml-hate-too-deep-indentation - setq to t when indentations for nested enumerate elements are too - deep. (`nil') - - -- Variable: yahtml-always-/p - setq to t if you always want `

' after `

'. `nil' - - -- Variable: yahtml-p-prefered-env-regexp - Elements that `

' will be automatically inserted. - (`"^\\(body\\|dl\\|blockquote\\)"') - - -- Variable: yahtml-template-file - File to automatically insert when editing a new HTML file. - `"~/http/template.html"' - - -- Variable: yahtml-prefer-upcases - Use uppercase for tags. `nil' - - -- Variable: yahtml-prefer-upcase-attributes - Use uppercase for attributes. `nil' - - -- Variable: yahtml-server-type - setq to 'apache if using a Apache server, and will refer ./.htaccess. - `'apache' - - -- Variable: yahtml-apache-access-file - When `yahtml-server-type' is `'apache', define name of access - restriction file. `".htaccess"' - - -- Variable: yahtml-shell-command-option - Options needed to invoke shell commands. - - -- Variable: yahtml-translate-hyphens-when-comment-region - Whether to change hyphens to `-' when commenting out region. - (`t') - - -- Variable: yahtml-entity-reference-chars-alist - alist of characters that needs to be written by Entity Reference. - Enter as `'(?char . "EntityReference")'. By default, `<', `>', `&', - `'', is set. Add as needed. Do not include `&' at beginning and `;' - at end of cdr portion of `"EntityReference"'. - - -- Variable: yahtml-faithful-to-htmllint - When using htmllint to check syntax, it will complain about excess - spaces. setq to `t' to avoid this. - - -- Variable: yahtml-use-css - Use style-sheet support or not (`t') - - -- Variable: yahtml-image-inspection-bytes - Number of bytes to inspect the image for geometry information - (`10000') - - -- Variable: yahtml:img-default-alt-format - format of img entity's ALT attributes. %x: width, %y: height, %s: - size in bytes, %c: first comment string, %f: filename - (`"%xx%y(%sbytes)"') - - -- Variable: yahtml-escape-chars - When, completing href-s, Escape reserved characters to URL-encoding - or not. Nil for never, t for everytime, and 'ask for inquiring at - each reserved chars. (`'ask') - - -- Variable: yahtml-use-font-lock - Use font-lock to fontify buffer or not (`(featurep 'font-lock)') - - -- Variable: yahtml-use-hilit19 - Use hilit19 to highlight buffer or not (`(featurep 'hilit19)') - - -- Variable: yahtml-indentation-boundary - Boundary regexp for indentation calculation. (`"^\\s *"') - - - -File: yahtmle, Node: Hook variables, Prev: All customizable variables, Up: Customizations - -hook variables -============== - - - - -File: yahtmle, Node: Copying, Next: Concept Index, Prev: Customizations, Up: Top - -Copying -******* - -This program is distributed as freesoftware. The author will take no -responsibility to any damages due to the usage of this software -whatsoever. There are no restrictions to its redistribution, just use -common sense. Mail me your thoughts on this program and I will be more -than willing to help. - -Complaints, requests, bug reports and comments are welcome. Make contacts -to yuuji@yatex.org$B!!(B(as of December 2000) - -If you like this program and use it on a regular basis, please join the -mailing list "fj Wild Bird Society". Procedures can be found in the "etc" -section of `docs/htmlqa.eng' in this package. - - - HIROSE, Yuuji - - - - -File: yahtmle, Node: Concept Index, Prev: Copying, Up: Top - -Index -***** - -* Menu: - -* Customize: Customizations. 4. -* Demacs: Intro. 4. -* Key Assign: Customizations. 4. -* LaTeX: Intro. 4. -* Mule: Intro. 4. -* yahtml: Intro. 4. - - - - - -Tag table: -Node: Top148 -Node: Intro725 -Node: Installation1123 -Node: Setting up yahtml1404 -Node: Setting environments for weblint browsers and image viewers2195 -Node: Setting environment variables for WWW pages2891 -Node: Command Invocation3862 -Node: Completion4290 -Node: Jump5807 -Node: Changing and Deleting6287 -Node: Changing tags in pairs6538 -Node: Changing entities7033 -Node: URLencoding of strings within region7569 -Node: td-enclosure/tr-enclosure7870 -Node: CSS Support8836 -Node: CSS-class completion9062 -Node: Reread CSS definition9915 -Node: Customizations10190 -Node: All customizable variables10466 -Node: Hook variables14234 -Node: Copying14360 -Node: Concept Index15151 - -End tag table +Info file: yahtmle, -*-Text-*- +produced by `texinfo-format-buffer' +from file `yahtmle.tex' +using `texinfmt.el' version 2.38 of 3 July 1998. + +START-INFO-DIR-ENTRY +* yahtml-e: (yahtmle). Yet Another html-mode for Emacs (English). +END-INFO-DIR-ENTRY + + + + + + +File: yahtmle, Node: Top, Next: Intro, Prev: (dir), Up: (dir) + +* Menu: + +* Intro:: Introduction +* Installation:: Installing yahtml +* Command Invocation:: Using External Commands +* Completion:: Input with Completion +* Jump:: Moving the Cursor +* Changing and Deleting:: Changing and Deleting +* CSS Support:: Style Sheet Support +* Customizations:: List of Customize Variables +* Copying:: Copyright +* Concept Index:: Index + + + +File: yahtmle, Node: Intro, Next: Installation, Prev: Top, Up: Top + +Introduction +************ + +yahtml is a package to support creating HTML documents on Emacsens. Easy +input of elements (tags) by completion, syntax checking with programs like +weblint, and invoking the appropriate browser or image viewer depending on +the cursor position is its main features. + +(This Info is still incomplete) + + + +File: yahtmle, Node: Installation, Next: Command Invocation, Prev: Intro, Up: Top + +Installing yahtml +***************** +* Menu: + +* Setting up yahtml:: +* Setting environments for weblint browsers and image viewers:: +* Setting environment variables for WWW pages:: + + + +File: yahtmle, Node: Setting up yahtml, Next: Setting environments for weblint browsers and image viewers, Prev: Installation, Up: Installation + +Setting up yahtml +================= + + +Add the following to `~/.emacs' + + (setq auto-mode-alist + (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist)) + (autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t) + +Next, add to load-path the directory with the yahtml files (`yahtml.el', +`yatexlib.el', `yatexprc.el'). For example, if you put them in +`~/src/emacs/yahtml', + + (setq load-path (cons (expand-file-name "~/src/emacs/yahtml") load-path)) + +is what you add. + +By this, yahtml will be automatically loaded when editing files with .html +extensions. "yahtml" will be displayed on the mode line if no errors +occurred. + + + +File: yahtmle, Node: Setting environments for weblint browsers and image viewers, Next: Setting environment variables for WWW pages, Prev: Setting up yahtml, Up: Installation + +Setting environments for weblint, browsers, and image viewers +============================================================= + +Check the variables for invoking external commands and modify as needed. +Defaults are in parenthesis. + +`yahtml-www-browser' + ... browser command name (netscape) +`yahtml-image-viewer' + ... image viewer command name (xv) +`yahtml-lint-program' + ... syntax check programs command name (jweblint) +`yahtml-kanji-code' + ... kanji code for HTML files + + + +File: yahtmle, Node: Setting environment variables for WWW pages, Prev: Setting environments for weblint browsers and image viewers, Up: Installation + +Setting environment variables for WWW pages +=========================================== + +Variables regarding path names for files that will be your home page. +`yahtml-path-url-alist' + ... list of matching path name on file system and URLs +`yahtml-directory-index' + ... index file displayed when none is given in URL. Usually + `index.html' on NCSA type httpd and `Welcome.html' on CERN types. + +Examples for `yahtml-path-url-alist'. If `/home/yuuji/http/' is +`http://localhost/~yuuji' at home and `/usr/home/yuuji/www/' is +`http://www.keio.ac.jp/~yuuji/' at work, then + + (setq yahtml-path-url-alist + '(("/home/yuuji/http" . "http://localhost/~yuuji") + ("/usr/home/yuuji/www" . "http://www.keio.ac.jp/~yuuji"))) + +Any number of additions can be made to this list. + + + +File: yahtmle, Node: Command Invocation, Next: Completion, Prev: Installation, Up: Top + +Invoking external commands +************************** + +For easy use of commands that are handy when editing HTML files. +`[prefix] t j' + ... Invoke HTML syntax checker (jweblint) +`[prefix] t p' + ... Display current page in browser +`[prefix] t r' + ... Reload current page if browser is already running + + + +File: yahtmle, Node: Completion, Next: Jump, Prev: Command Invocation, Up: Top + +Completion Input +**************** + +Completion input of HTML elements is done through the same key strokes as +YaTeX's begin-type completion, section-type completion, large-type +completion, maketitle-type completion, and accent completion. +Corresponding elements in this order is; elements that span multiple +lines, empty elements such as img, tags that start and end in a single +line, elements with no attributes or contents, and special or symbol +entities. + +`[prefix] b (YaTeX begin-type completion)' + ... +

    +
+ + Completion for elements that the start tag and the end tag span + multiple lines. Mostly block-level elements. + +`[prefix] s (YateX section-type completion)' + ... + photo + + Completion for elements that do not have end tags and require only + attributes. Possible completions are, , . + +`[prefix] l (YaTeX large-type completion)' + ... + + + + Similar to begin-type completion but used for elements that start and + end on a single line. + + +`[prefix] m (YaTeX maketitle-type completion)' + ... Completion for elements without attributes or contents. Possible + completion is
+ +`[prefix] a (YaTeX accent completion)' + ... Used to enter special or symbol entities. By default completion + for < (<), > (>), & (&), " ("), ' ('), blank + ( ) is possible. + + + +File: yahtmle, Node: Jump, Next: Changing and Deleting, Prev: Completion, Up: Top + +Cursor Movement +*************** +By using + +`[prefix] g' + ... move to corresponding object + +the cursor will go to the corresponding object according to the context. +Recognized contexts are + + * `' <--> `' + * `' -> invoke viewer + * `' -> move cursor to linked target + * `' -> open Java source + + + +File: yahtmle, Node: Changing and Deleting, Next: CSS Support, Prev: Jump, Up: Top + +Changing and Deleting +********************* + +* Menu: + +* Changing tags in pairs:: +* Changing entities:: +* URLencoding of strings within region:: +* td-enclosure/tr-enclosure:: + + + +File: yahtmle, Node: Changing tags in pairs, Next: Changing entities, Prev: Changing and Deleting, Up: Changing and Deleting + +Changing tags in pairs +====================== +By using + +`[prefix] c' + ... change tags in matching pairs + +the content can be changed according to the context of the HTML document +where the cursor is located. + + * `'〜`' + ... change `TAG' element name + * attributes such as `photo' + ... change attributes + + + +File: yahtmle, Node: Changing entities, Next: URLencoding of strings within region, Prev: Changing tags in pairs, Up: Changing and Deleting + +Changing entities +================= +Special characters such as < or > must be written as < and >. Easy +conversion of these characters can be done when importing text from non +HTML files. + + +`[prefix] ;' + ... convert char to special entity in marked region +`[prefix] :' + ... convert special entity to original char in marked region + (reverse of [prefix] ;) + + + + +File: yahtmle, Node: URLencoding of strings within region, Next: td-enclosure/tr-enclosure, Prev: Changing entities, Up: Changing and Deleting + +URLencoding of strings within region +==================================== + +`[prefix] #' + ... encode chars that needs to be URLencoded within region + + + +File: yahtmle, Node: td-enclosure/tr-enclosure, Prev: URLencoding of strings within region, Up: Changing and Deleting + +td-enclosure/tr-enclosure +========================= +If you wan to convert series of field into ... repetitions for +table element, td-enclosure or tr-enclosure is convenient. + + `[prefix] }' + + ... Enclose each field in a region into ...'s. + `[prefix] ]' + + ... Enclose each line in a region into ...'s, with every +line converted to ... repetition. They presume white space as +field separator by default. To change this, enter other delimiting +character for a query. You can convert CSV, for example, into table by +specifying comma(,) as a delimiter. + +If you want to enclose fields with th, call with universal-argument +(`C-u'). Enter `th' to enclose fields with .... The special +answer `thd' means that enclose the only first column with th, and the +rest with td. + + + +File: yahtmle, Node: CSS Support, Next: Customizations, Prev: Changing and Deleting, Up: Top + +CSS(Style Sheets) Support +************************* + +* Menu: + +* CSS-class completion:: +* Reread CSS definition:: + + + +File: yahtmle, Node: CSS-class completion, Next: Reread CSS definition, Prev: CSS Support, Up: CSS Support + +CSS class-name completion +========================= +You can input a class name in your CSS definition with completion. If you +have CSS defined as below; + + h1.foo, h2.foo { background-color: 0xffffff; } + h1.bar, h2.bar { font-size: 120%; } + +when you input h1(or h2) tag with completing-read by [prefix] b or +[prefix] l, yahtml prompts you to input class name with completion from +the words which are effective to h1 or h2. And if you defined global +class like this; + + .caution { font-size: 120%; background-color: 0xc00000;} + +when you input any tags via completing-read, yahtml prompts you to input +class name. If this is bothering, typing `C-j' instead of `RET' (or +`C-m') cancels the next prompt to class name completion. + + + +File: yahtmle, Node: Reread CSS definition, Prev: CSS-class completion, Up: CSS Support + +Re-reading CSS definition +========================= +If you add some class to your CSS file and you want yahtml to load new +definitions, type `M-x yahtml-mode RET' to make yahtml do. + + + +File: yahtmle, Node: Customizations, Next: Copying, Prev: CSS Support, Up: Top + +Customizations +************** + +Variables that modify yahtml's behavior. + +* Menu: + +* All customizable variables:: List of customizable variables +* Hook variables:: hook variables + + + +File: yahtmle, Node: All customizable variables, Next: Hook variables, Prev: Customizations, Up: Customizations + +List of customizable variables. Defaults in parenthesis +======================================================== + + -- Variable: yahtml-prefix + Prefix key for yahtml-mode. (`\C-c') + + -- Variable: yahtml-image-viewer + Command to view image files refered by img. (xv) + + -- Variable: yahtml-www-browser + Browser to view external pages with `[prefix]g'. (netscape) + + -- Variable: yahtml-kanji-code + Default kanji code. 1=sjis, 2=jis, 3=euc, 4=utf-8 (2) If AddType + "text/html; charset=xxx" .html is written in .htaccess, this will + override yahtml-kanji-code. + + -- Variable: yahtml-fill-column + Columns to auto-fill (72) + + -- Variable: yahtml-fill-prefix + fill-prefix specific to yahtml-mode. (`nil') + + -- Variable: yahtml-path-url-alist + Matching list of URL and full path name on OS's file system. + + -- Variable: yahtml-directory-index + Default index filed opened when accessing a server without a + filename, usually index.html. (`"index.html"') + + -- Variable: yahtml-lint-program + HTML syntax check program. (`"jweblint"') + + -- Variable: yahtml-hate-too-deep-indentation + setq to t when indentations for nested enumerate elements are too + deep. (`nil') + + -- Variable: yahtml-always-/p + setq to t if you always want `

' after `

'. `nil' + + -- Variable: yahtml-p-prefered-env-regexp + Elements that `

' will be automatically inserted. + (`"^\\(body\\|dl\\|blockquote\\)"') + + -- Variable: yahtml-template-file + File to automatically insert when editing a new HTML file. + `"~/http/template.html"' + + -- Variable: yahtml-prefer-upcases + Use uppercase for tags. `nil' + + -- Variable: yahtml-prefer-upcase-attributes + Use uppercase for attributes. `nil' + + -- Variable: yahtml-server-type + setq to 'apache if using a Apache server, and will refer ./.htaccess. + `'apache' + + -- Variable: yahtml-apache-access-file + When `yahtml-server-type' is `'apache', define name of access + restriction file. `".htaccess"' + + -- Variable: yahtml-shell-command-option + Options needed to invoke shell commands. + + -- Variable: yahtml-translate-hyphens-when-comment-region + Whether to change hyphens to `-' when commenting out region. + (`t') + + -- Variable: yahtml-entity-reference-chars-alist + alist of characters that needs to be written by Entity Reference. + Enter as `'(?char . "EntityReference")'. By default, `<', `>', `&', + `'', is set. Add as needed. Do not include `&' at beginning and `;' + at end of cdr portion of `"EntityReference"'. + + -- Variable: yahtml-faithful-to-htmllint + When using htmllint to check syntax, it will complain about excess + spaces. setq to `t' to avoid this. + + -- Variable: yahtml-use-css + Use style-sheet support or not (`t') + + -- Variable: yahtml-image-inspection-bytes + Number of bytes to inspect the image for geometry information + (`10000') + + -- Variable: yahtml:img-default-alt-format + format of img entity's ALT attributes. %x: width, %y: height, %s: + size in bytes, %c: first comment string, %f: filename + (`"%xx%y(%sbytes)"') + + -- Variable: yahtml-escape-chars + When, completing href-s, Escape reserved characters to URL-encoding + or not. Nil for never, t for everytime, and 'ask for inquiring at + each reserved chars. (`'ask') + + -- Variable: yahtml-use-font-lock + Use font-lock to fontify buffer or not (`(featurep 'font-lock)') + + -- Variable: yahtml-use-hilit19 + Use hilit19 to highlight buffer or not (`(featurep 'hilit19)') + + -- Variable: yahtml-indentation-boundary + Boundary regexp for indentation calculation. (`"^\\s *"') + + + +File: yahtmle, Node: Hook variables, Prev: All customizable variables, Up: Customizations + +hook variables +============== + + + + +File: yahtmle, Node: Copying, Next: Concept Index, Prev: Customizations, Up: Top + +Copying +******* + +This program is distributed as freesoftware. The author will take no +responsibility to any damages due to the usage of this software +whatsoever. There are no restrictions to its redistribution, just use +common sense. Mail me your thoughts on this program and I will be more +than willing to help. + +Complaints, requests, bug reports and comments are welcome. Make contacts +to yuuji@yatex.org (as of December 2000) + +If you like this program and use it on a regular basis, please join the +mailing list "fj Wild Bird Society". Procedures can be found in the "etc" +section of `docs/htmlqa.eng' in this package. + + + HIROSE, Yuuji + + + + +File: yahtmle, Node: Concept Index, Prev: Copying, Up: Top + +Index +***** + +* Menu: + +* Customize: Customizations. 4. +* Demacs: Intro. 4. +* Key Assign: Customizations. 4. +* LaTeX: Intro. 4. +* Mule: Intro. 4. +* yahtml: Intro. 4. + + + + +Tag table: +Node: Top259 +Node: Intro836 +Node: Installation1234 +Node: Setting up yahtml1515 +Node: Setting environments for weblint browsers and image viewers2306 +Node: Setting environment variables for WWW pages3002 +Node: Command Invocation3973 +Node: Completion4401 +Node: Jump5917 +Node: Changing and Deleting6397 +Node: Changing tags in pairs6681 +Node: Changing entities7176 +Node: URLencoding of strings within region7712 +Node: td-enclosure/tr-enclosure8013 +Node: CSS Support8979 +Node: CSS-class completion9205 +Node: Reread CSS definition10058 +Node: Customizations10333 +Node: All customizable variables10609 +Node: Hook variables14377 +Node: Copying14503 +Node: Concept Index15294 + +End tag table diff -r 5d8f03ba4285 -r 29ab3f4fcd9e docs/yahtmle.tex --- a/docs/yahtmle.tex Thu Jan 12 12:27:20 2012 +0900 +++ b/docs/yahtmle.tex Mon May 14 18:39:05 2012 +0900 @@ -2,10 +2,13 @@ \input texinfo @setfilename yahtmle @settitle Yet Another html-mode for Emacs +@direntry +* yahtml-e: (yahtmle). Yet Another html-mode for Emacs (English). +@end direntry @iftex @c @syncodeindex fn cp -@c Last modified Thu Dec 9 16:12:43 2010 on firestorm +@c Last modified Fri May 11 15:42:22 2012 on firestorm @syncodeindex vr cp @end iftex @@ -15,7 +18,7 @@ @subtitle Yet Another html-mode for emacs @title // yahtml // %@subtitle // yahtml // -@author @copyright{} 1994-1997 by HIROSE, Yuuji [yuuji@@yatex.org] +@author @copyright{} 1994-2012 by HIROSE, Yuuji [yuuji@@yatex.org] @end titlepage @node Top, Intro, (dir), (dir) @@ -79,12 +82,12 @@ (setq load-path (cons (expand-file-name "~/src/emacs/yahtml") load-path)) @end lisp -@noindent +@noindent is what you add. By this, yahtml will be automatically loaded when editing files with .html extensions. "yahtml" will be displayed on the mode line if no errors -occurred. +occurred. @node Setting environments for weblint browsers and image viewers, Setting environment variables for WWW pages, Setting up yahtml, Installation @comment node-name, next, previous, up @@ -115,7 +118,7 @@ @item yahtml-directory-index @dots{} index file displayed when none is given in URL. Usually @file{index.html} on NCSA type httpd and @file{Welcome.html} on - CERN types. + CERN types. @end table Examples for @code{yahtml-path-url-alist}. If @file{/home/yuuji/http/} @@ -179,7 +182,7 @@ attributes. Possible completions are, , . @item [prefix] l (YaTeX large-type completion) -@dots{} +@dots{} @example $B!A(B @@ -203,14 +206,14 @@ @node Jump, Changing and Deleting, Completion, Top @comment node-name, next, previous, up @chapter Cursor Movement -By using +By using @table @kbd @item [prefix] g @dots{} move to corresponding object @end table -@noindent +@noindent the cursor will go to the corresponding object according to the context. Recognized contexts are @@ -230,6 +233,7 @@ * Changing tags in pairs:: * Changing entities:: * URLencoding of strings within region:: +* td-enclosure/tr-enclosure:: @end menu @node Changing tags in pairs, Changing entities, Changing and Deleting, Changing and Deleting @@ -242,7 +246,7 @@ @dots{} change tags in matching pairs @end table -@noindent +@noindent the content can be changed according to the context of the HTML document where the cursor is located. @@ -286,7 +290,7 @@ table element, td-enclosure or tr-enclosure is convenient. @table @kbd - @item [prefix] } + @item [prefix] @} @dots{} Enclose each field in a region into ...'s. @item [prefix] ] @dots{} Enclose each line in a region into ...'s, with @@ -324,7 +328,7 @@ when you input h1(or h2) tag with completing-read by [prefix] b or [prefix] l, yahtml prompts you to input class name with completion from -the words which are effective to h1 or h2. And if you defined +the words which are effective to h1 or h2. And if you defined global class like this; @display diff -r 5d8f03ba4285 -r 29ab3f4fcd9e docs/yahtmlj --- a/docs/yahtmlj Thu Jan 12 12:27:20 2012 +0900 +++ b/docs/yahtmlj Mon May 14 18:39:05 2012 +0900 @@ -1,542 +1,545 @@ -Info file: yahtmlj, -*-Text-*- -produced by `texinfo-format-buffer' -from file `yahtmlj.tex' -using `texinfmt.el' version 2.38 of 3 July 1998. - - - - - - -File: yahtmlj, Node: Top, Next: Intro, Prev: (dir), Up: (dir) - -* Menu: - -* Intro:: $(B$O$8$a$K -(B* Installation:: $(B%$%s%9%H!<%k -(B* Command Invocation:: $(B30It%3%^%s%I5/F0 -(B* Completion:: $(BJd40F~NO -(B* Jump:: $(B%+!<%=%k%8%c%s%W -(B* Changing and Deleting:: $(BJQ99$H:o=| -(B* CSS Support:: $(B%9%?%$%k%7!<%HJd40 -(B* Customizations:: $(B%+%9%?%^%$%:JQ?t0lMw -(B* Copying:: $(B$H$j$"$D$+$$ -(B* Concept Index:: $(B:w0z - - - - -(BFile: yahtmlj, Node: Intro, Next: Installation, Prev: Top, Up: Top - -$(B$O$8$a$K -(B******** - -yahtml$(B$O (BGNU Emacs $(B>e$G (BHTML$(BJ8=q$r:n@.$9$k;~$K!"HK;($J(BHTML$(B%?%0$NF~NO$rJd40 -5!G=$K$h$C$F%9%`!<%:$K9T$($k$h$&$K$9$k$@$1$G$J$/!"(Bweblint$(B$J$I$N9=J8%A%'%C -%/%W%m%0%i%`!"%+!<%=%k0LCV$N(BURL$(B$d%U%!%$%kL>$K0MB8$7$?%V%i%&%6(B/$(B%$%a!<%8%t%e!< -%"$N5/F0$J$I$r (BEmacs $(BJT=82hLLCf$+$i9T$($k$h$&$K$9$k%Q%C%1!<%8$G$9!# - -(B($(B$3$N(BInfo$(B$OL$40@.$G$9(B(__)$(B!D(B) - - - -File: yahtmlj, Node: Installation, Next: Command Invocation, Prev: Intro, Up: Top - -$(B%$%s%9%H!<%k -(B************ -* Menu: - -* yahtml$(B5/F0$N$?$a$N@_Dj(B:: -* lint$(B%W%m%0%i%`(B/$(B%V%i%&%6(B/$(B%$%a!<%8%t%e!<%"4D6-Ey$N@_Dj(B:: -* WWW$(B%Z!<%84D6-MQJQ?t$N@_Dj(B:: - - - -File: yahtmlj, Node: yahtml$(B5/F0$N$?$a$N@_Dj(B, Next: lint$(B%W%m%0%i%`(B/$(B%V%i%&%6(B/$(B%$%a!<%8%t%e!<%"4D6-Ey$N@_Dj(B, Prev: Installation, Up: Installation - -yahtml$(B5/F0$N$?$a$N@_Dj -(B====================== - - -`~/.emacs'$(B$K2<$N(B2$(B9`L\$r2C$($^$9!# - - (B(setq auto-mode-alist - (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist)) - (autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t) - -$(Be$N@_Dj$K$h$j!"3HD%;R$, (B.html $(B$G$"$k%U%!%$%k$rJT=8$9$k$H<+F0E*$K -(Byahtml $(B$,%m!<%I$5$l$^$9!#(Byahtml$(B$,@5>o$K5/F0$G$-$?$H$-$O%b!<%I%i%$%s$NI=<( -$,!V(Byahtml$(B!W$KJQ$o$j$^$9!# - - - -(BFile: yahtmlj, Node: lint$(B%W%m%0%i%`(B/$(B%V%i%&%6(B/$(B%$%a!<%8%t%e!<%"4D6-Ey$N@_Dj(B, Next: WWW$(B%Z!<%84D6-MQJQ?t$N@_Dj(B, Prev: yahtml$(B5/F0$N$?$a$N@_Dj(B, Up: Installation - -lint$(B%W%m%0%i%`(B/$(B%V%i%&%6(B/$(B%$%a!<%8%t%e!<%"4D6-Ey$N@_Dj -(B==================================================== - -$(BMxMQ$9$k30It%W%m%0%i%`$J$I$K4X$9$k0J2<$NJQ?t$r3NG'$7!"I,MW$J$i@5$7$$CM$KJQ -99$7$^$9(B($(B3g8LFb$O%G%U%)%k%HCM(B)$(B!# -(B`yahtml-www-browser' - ... $(B5/F0$9$k%V%i%&%6$N%3%^%s%IL>(B(netscape) -`yahtml-image-viewer' - ... $(B5/F0$9$k2hA|%S%e!<%"$N%3%^%s%IL>(B(xv) -`yahtml-lint-program' - ... $(B9=J8%A%'%C%/%W%m%0%i%`$N%3%^%s%IL>(B(jweblint) -`yahtml-kanji-code' - ... html$(B%U%!%$%k$N4A;z%3!<%I - - - -(BFile: yahtmlj, Node: WWW$(B%Z!<%84D6-MQJQ?t$N@_Dj(B, Prev: lint$(B%W%m%0%i%`(B/$(B%V%i%&%6(B/$(B%$%a!<%8%t%e!<%"4D6-Ey$N@_Dj(B, Up: Installation - -WWW$(B%Z!<%84D6-MQJQ?t$N@_Dj -(B========================= - -$(B%[!<%`%Z!<%8$H$J$k%U%!%$%k$,B8:_$9$k(BPATH$(BL>$K4X$9$kJQ?t$r@_Dj$7$^$9!# -(B`yahtml-path-url-alist' - ... $(B%U%!%$%k%7%9%F%`>e$N(BPATH$(BL>$H!"(BURL$(B$NBP1~I= -(B`yahtml-directory-index' - ... URL$(B;XDj$G%U%!%$%kL>$r>JN,$7$?$H$-$KI=<($5$l$k%$%s%G%C%/%9 - %U%!%$%kL>(B(NCSA$(B7O(Bhttpd$(B$J$i (B`index.html', CERN$(B7O$J$i(B`Welcome.html'$(B$,0l - HLE*(B) - -$(BJQ?t (B`yahtml-path-url-alist' $(B$N@_DjNc$r<($7$^$9!#Nc$($P!"<+Bp$G$O!" -(B`/home/yuuji/http/' $(B$, (B`http://localhost/~yuuji' $(B$G;2>H$G$-!"?&>l$G$O -(B`/usr/home/yuuji/www/' $(B$,(B`http://www.keio.ac.jp/~yuuji/' $(B$G;2>H$G$-$k$h$& -$K$J$C$F$$$k>l9g$O0J2<$N$h$&$K@_Dj$7$^$9!# - - (B(setq yahtml-path-url-alist - '(("/home/yuuj/http" . "http://localhost/~yuuji") - ("/usr/home/yuuj/www" . "http://www.keio.ac.jp/~yuuji"))) - -$(B$3$NBP1~AH$O$$$/$i$G$b@_Dj$9$k$3$H$,$G$-$^$9!# - - - -(BFile: yahtmlj, Node: Command Invocation, Next: Completion, Prev: Installation, Up: Top - -$(B30It%3%^%s%I5/F0 -(B**************** - -HTML$(B%U%!%$%kJT=8$K$+$+$o$k$$$/$D$+$N%3%^%s%I$rB(:B$K8F$V$3$H$,$G$-$^$9!# -(B`[prefix] t j' - ... HTML$(B9=J8%A%'%C%+(B(jweblint)$(B5/F0 -(B`[prefix] t p' - ... $(B8=:_$N%Z!<%8$rBP>]$H$7$?%V%i%&%65/F0 -(B`[prefix] t r' - ... $(B8=:_$N%Z!<%8$,%V%i%&%6$KI=<($5$l$F$$$k$H$-$N(Breload$(B;XDj - - - -(BFile: yahtmlj, Node: Completion, Next: Jump, Prev: Command Invocation, Up: Top - -$(BJd40F~NO -(B******** - -$(B!VLnD;!W$GMxMQ$G$-$k!"!V(Bbegin$(B7?Jd40!W!"!V(Bsection$(B7?Jd40!W!"!V(Blarge$(B7?Jd40!W!" -!V(Bmaketitle$(B7?Jd40!W!"!V%"%/%;%s%HJd40!W$HA4$/F1$8%-!$l$N7?$NJd40$O=g$K!"!VJ#?t9T$KEO$k%?%0F~NO!W!" -!V6uMWAG%?%0(B(img$(B$J$I(B)$(B$NJd40!W!"!V0l9TFb$G$N3+;O(B/$(B=*N;%?%0$NF~NO!W!"!V6uMWAG -6uB0@-%?%0$NF~NO!W!"!VJ8;z;2>HF~NO!W$KBP1~$7$F$$$^$9!#6qBNE*$K$O - -(B`[prefix] b ($(BLnD;$N(Bbegin$(BJd40$KBP1~(B)' - ... -

    -
- - $(B$N$h$&$K3+;O%?%0$H=*N;%?%0$rFs9T$KEO$C$F=q$-$?$$>l9g$NJd40$r;X$7$^$9!# - $*$b$K%V%m%C%/7?%?%0$,Jd408uJd$K4^$^$l$^$9!# - -(B`[prefix] s ($(BLnD;$N(Bsection$(B7?Jd40$KBP1~(B)' - ... - photo - - $(B$N$h$&$K=*N;%?%0$r;}$?$:!"$+$DB0@-CM$N$_$G5!G=$r;XDj$9$k%?%0$rJd40$7 - $^$9!#Jd408uJd$H$7$F$O!"(Bimg, input $(B$,B8:_$7$^$9!# - -(B`[prefix] l ($(BLnD;$N(Blarge$(B7?Jd40$KBP1~(B)' - ... begin$(B7?Jd40$H$[$\F1$8$G$9$,!" - - (B $(B!A (B - - $(B$N$h$&$K0l9TFb$K3+;O(B/$(B=*N;%?%0$rF~$l$?$$$H$-$KMxMQ$7$^$9!# - -(B`[prefix] m ($(BLnD;$N(Bmaketitle$(B7?Jd40$KBP1~(B)' - ... $(BMWAG$bB0@-CM$b;}$?$J$$%?%0$rJd40F~NO$7$^$9!#(B
- $(B$J$I$,Jd408uJd$KAjEv$7$^$9!# - -(B`[prefix] a ($(BLnD;$N%"%/%;%s%HJd40$KBP1~(B)' - ... $(B%(%s%F%#%F%#;2>H$K$h$kJ8;zI=5-$rF~NO$9$k$H$-$KMQ$$$^$9!# - %G%U%)%k%H$G$O (B< (<), > (>), & (&), " ("), ' ('), - $(B%V%i%s%/ (B( ) $(B$NJd40F~NO$,9T$($^$9!# - - - -(BFile: yahtmlj, Node: Jump, Next: Changing and Deleting, Prev: Completion, Up: Top - -$(B%+!<%=%k%8%c%s%W -(B**************** -$(BJ8=qCf$N$$$m$$$m$J>l=j$G - -(B`[prefix] g' - ... $(BBP1~$9$k%*%V%8%'%/%H$K%8%c%s%W - -$r2!$9$3$H$K$h$j!"%+!<%=%k0LCV$N(BHTML$(B9=J8$KBP1~$9$k>l=j$K%8%c%s%W$7$^$9!#BP -1~4X78$,B8:_$9$k$H2r' $(B"+"* (B`' - * `' $(B"* BP1~$9$k(Bviewer$(B5/F0 - (B* `' $(B"* %j%s%/@h$X$N%]%$%s%H0\F0 - (B* `' $(B"* (BJava$(B%=!<%9%W%m%0%i%`$X$N0\F0 - - - -(BFile: yahtmlj, Node: Changing and Deleting, Next: CSS Support, Prev: Jump, Up: Top - -$(BJQ99(B/$(B:o=| -(B********* - -* Menu: - -* $(BBP%?%0$NJQ99(B:: -* $(BJ8;z;2>H$X$NJQ99(B:: -* $(B%j%8%g%sFbJ8;z$N(BURLencode:: -* td$(B3g$j(B/tr$(B3g$j(B:: - - - -File: yahtmlj, Node: $(BBP%?%0$NJQ99(B, Next: $(BJ8;z;2>H$X$NJQ99(B, Prev: Changing and Deleting, Up: Changing and Deleting - -$(BBP%?%0$NJQ99 -(B============ -$(BJ8=qCf$N$$$m$$$m$J>l=j$G - -(B`[prefix] c' - ... $(BBP1~$9$k%?%0Ey$rJQ99 - -$r2!$9$3$H$K$h$j!"%+!<%=%k0LCV$N(BHTML$(B9=J8$K1~$8$?5-=RFbMF$NJQ99$r9T$$$^$9!# -%+!<%=%k0LCV$HJQ99$9$kFbMF$NBP1~$O0J2<$NDL$j$G$9!# - - (B* `'$(B!A(B`' - ... `TAG' $(B$NJQ99 - (B* `photo' $(B$J$I$NB0@-CM - (B... $(BB0@-CM$NJQ99 - - - -(BFile: yahtmlj, Node: $(BJ8;z;2>H$X$NJQ99(B, Prev: $(BBP%?%0$NJQ99(B, Up: Changing and Deleting - -$(BJ8;z;2>H$X$NJQ99 -(B================ -$(BJ8;z$H$7$F$N (B< $(B$d (B> $(B$rI=8=$9$k$H$-$O!"J8;z;2>H$rMQ$$$F(B< $(B$d (B> $(B$HI=5- -$9$kI,MW$,$"$j$^$9$,!"(BHTML$(B0J30$N%U%!%$%k$+$i$3$l$i$NJ8;z$r4^$`%F%-%9%H$rD% -$j9~$s$@>l9g$J$I$K!"$3$l$i$NJ8;z$r0l3g$7$FJ8;z;2>H7A<0$KJQ49$G$-$^$9!# - -(B`[prefix] ;' - ... $(B;XDj$7$?NN0h$NJ8;z;2>H$KCV$-49$($k$Y$-J8;z$NCV49 -(B`[prefix] :' - ... $(B;XDj$7$?NN0h$NJ8;z;2>H$r;2>HJ8;z$=$N$b$N$KCV49(B([prefix] ; - $(B$N5UJQ49(B) - - - - -File: yahtmlj, Node: $(B%j%8%g%sFbJ8;z$N(BURLencode, Next: td$(B3g$j(B/tr$(B3g$j(B, Prev: $(BJ8;z;2>H$X$NJQ99(B, Up: Changing and Deleting - -$(B%j%8%g%sFbJ8;z$N(BURLencode -========================= - [prefix] # - - ... $(B;XDj$7$?NN0hFb$K (BURLencode $(B$9$Y$-J8;z$,$"$l$P$=$l$i$r%(%s - %3!<%II=5-$KCV49!# - - - -(BFile: yahtmlj, Node: td$(B3g$j(B/tr$(B3g$j(B, Prev: $(B%j%8%g%sFbJ8;z$N(BURLencode, Up: Changing and Deleting - -td$(B3g$j(B/tr$(B3g$j -(B============= -$(B6uGr6h@Z$j$G=q$$$?I=7A<0$N9T%l%3!<%I$r (B $(B3g$j$NJB$S!$$"$k$$$O$=$l$i$r$5 -$i$K (B $(B$G3g$C$?9TJB$S$KJQ49$G$-$^$9!# - (B`[prefix] '} - - ... $(B8=:_$N%j%8%g%s$K$"$k%G!<%?$r6uGr6h@Z$j$4$H$K - (B... $(B$G3g$k - (B`[prefix] ]' - - ... $(B8=:_$N%j%8%g%s$K$"$k9T$r>e5-(Btd$(B3g$j$r$[$I$3$7$F$+$i$5$i$K9T$4$H -$K (B... $(B$G3g$k%G%U%)%k%H$G$O6uGr6h@Z$j$G$9$,!$$3$l$rJQ$($k$H$-$O -(BDelimiter: $(B$NLd$$9g$o$;$K6h@Z$jJ8;z$r;XDj$7$^$9!#$?$H$($P%+%s%^(B(,) $(B$r;XDj -$9$k$H(BCSV$(B$+$iI=$r:n$k$3$H$,$G$-$^$9!# - -(Btd$(B0J30$NMWAG!$6qBNE*$K$O (Bth $(B$G3g$j$?$$>l9g$O (Buniversal-argument (`C-u') $(B$r -$D$1$F>e5-(B2$(B$D$N%3%^%s%I$r8F$S$^$9!#$I$NMWAG$G3g$k$+$N... $(B$G3g$j$^$9!#$b$7!$Bh(B1$(B%U%#!< -%k%I$N$_ (Bth $(B$G!$;D$j$rA4It (Btd $(B3g$j$K$7$?$$$H$-$O (Bthd $(B$HF~NO$7$F2<$5$$!# - - - -(BFile: yahtmlj, Node: CSS Support, Next: Customizations, Prev: Changing and Deleting, Up: Top - -CSS($(B%9%?%$%k%7!<%H(B)$(B%5%]!<%H -(B*************************** - -* Menu: - -* CSS-class completion:: -* Reread CSS file:: - - - -File: yahtmlj, Node: CSS-class completion, Next: Reread CSS file, Prev: CSS Support, Up: CSS Support - -CSS$(B%/%i%9L>Jd40 -(B=============== -HTML$(B20$O(BCSS(Cascading Style Sheets)$(B$N%/%i%9L>$rJd40F~NO$9$k$3$H$,$G$-$^$9!# -%9%?%$%kDj5A$H$7$F - - (Bh1.foo, h2.foo { background-color: 0xffffff; } - h1.bar, h2.bar { font-size: 120%; } - -$(B$N$h$&$J$b$N$,$"$C$?>l9g$K!"(Bh1$(B$^$?$O(Bh2$(B%?%0$r (B[prefix] b $(B$d (B[prefix] l $(B$GJd -40F~NO$7$?>l9g$K!"$=$l$i$KM-8z$J (Bclass $(BL>$G$"$k (Bfoo, bar $(B$r8uJd$H$7$FJd40 -F~NO$9$k$3$H$,2DG=$G$9!#$^$? - - (B.caution { font-size: 120%; background-color: 0xc00000;} - -$(B$N$h$&$JA4$F$N%(%l%a%s%H$KF/$/(Bclass$(B$,Dj5A$5$l$F$$$?>l9g$O!"A4$F$N%?%0$NJd -40F~NO;~$K(Bclass$(B;2>HF~NO$r5a$a$i$l$^$9!#$3$l$,HQ$o$7$$>l9g$O%(%l%a%s%HL>F~ -NO3NDj$N$H$-$K%j%?!<%s%-!<(B($(B$^$?$O(BC-m)$(B$G$O$J$/!"(BC-j$(B$r2!$;$P(Bclass$(BJd40F~NO$r -%-%c%s%;%k$G$-$^$9!#$?$H$($P - - (B`[prefix] l' $(B9TFb%?%0Jd40$r5/F0 - (B($(B$^$?$O(B`[prefix] l SPC') - tt $(B$r$$$l$?$$$N$G(Btt$(B$HF~NO - (B`C-m' - -$(B$H$7$?>l9g$OB3$$$F (Bclass= $(B$HJd40%W%m%s%W%H$,=P$^$9$,!" - - (B`[prefix] l' $(B9TFb%?%0Jd40$r5/F0 - (B($(B$^$?$O(B`[prefix] l SPC') - tt $(B$r$$$l$?$$$N$G(Btt$(B$HF~NO - (B`C-j' - -$(B$H:G8e$r (B`C-j' $(B$GF~NO$7$?>l9g$O (Bclass $(BJd40%W%m%s%W%H$O=P$^$;$s!# - - - -(BFile: yahtmlj, Node: Reread CSS file, Prev: CSS-class completion, Up: CSS Support - -CSS$(BDj5A%U%!%$%k$NFI$_D>$7 -(B========================= -html$(B%U%!%$%k$rJT=8Cf$K(BCSS$(BDj5A%U%!%$%k$r=$@5$7!"DI2C$7$?(Bclass$(B$rJd408uJd$H$7 -$FD>$A$KFI$_9~$^$;$?$$>l9g$O!"(B`M-x yahtml-mode' $(B$H$7$F:F5/F0$r9T$C$F$/$@$5 -$$!# - - - -(BFile: yahtmlj, Node: Customizations, Next: Copying, Prev: CSS Support, Up: Top - -$(B%+%9%?%^%$%: -(B************ - -yahtml$(B$NF0:n$r@)8f$9$kJQ?t$K$D$$$F@bL@$7$^$9!# - -(B* Menu: - -* All customizable variables:: $(B%+%9%?%^%$%:JQ?t0lMw -(B* Hook variables:: hook$(BJQ?t - - - -(BFile: yahtmlj, Node: All customizable variables, Next: Hook variables, Prev: Customizations, Up: Customizations - -$(B%+%9%?%^%$%:JQ?t0lMw -(B==================== - - -- Variable: yahtml-prefix - yahtml-mode $(BCf$N%W%j%U%#%/%9%-!< (B(`\C-c') - - -- Variable: yahtml-image-viewer - img$(B$G;2>H$7$F$$$k2hA|%U%!%$%k$rI=<($9$k$H$-$K5/F0$9$k%3%^%s%I (B(xv) - - -- Variable: yahtml-www-browser - `[prefix]g' $(B$G30It%Z!<%8$rI=<($9$k$H$-$K5/F0$9$k%V%i%&%6 (B(netscape) - - -- Variable: yahtml-kanji-code - $(B%G%U%)%k%H$N4A;z%3!<%I!#(B1=sjis, 2=jis, 3=euc, 4=utf-8 (2) - .htaccess $(B%U%!%$%k$K - (BAddType "text/html; charset=xxx" .html $(B$N5-=R$,$"$C$?>l9g$O$=$l - $K=>$& - - (B-- Variable: yahtml-fill-column - auto-fill$(B$9$k$H$-$N%+%i%`?t (B(72) - - -- Variable: yahtml-fill-prefix - yahtml-mode $(B8GM-$N(Bfill-prefix (`nil') - - -- Variable: yahtml-path-url-alist - OS$(B$N%U%!%$%k%7%9%F%`>e$G$N%U%k%Q%9L>$H!"$=$N30It8x3+;~$N(BURL$(B$NBP1~I=!# - - (B-- Variable: yahtml-directory-index - $(B%5!<%P%"%/%;%9;~%U%!%$%kL>$r>JN,$7$?$H$-$K%G%U%)%k%H$G3+$+$l$k%$%s%G%C - %/%9%U%!%$%k$NL>A0!#B?$/$N>l9g (Bindex.html$(B!#(B(`"index.html"') - - -- Variable: yahtml-lint-program - HTML$(B9=J8%A%'%C%/%W%m%0%i%`!#(B(`"jweblint"') - - -- Variable: yahtml-hate-too-deep-indentation - $(B%M%9%H$7$?Ns5s7O4D6-$G$N%$%s%G%s%H$,?<$9$.$k$H$-$K(Bt$(B$K$9$k!#(B(`nil') - - -- Variable: yahtml-always-/p - `

' $(B$r$$$l$?$iI,$: (B`

' $(B$7$?$$?M8~$1!#(B`nil' - - -- Variable: yahtml-p-prefered-env-regexp - $(B<+F0E*$K (B`

' $(B$rF~$l$FM_$7$$4D6-!# - (B(`"^\\(body\\|dl\\|blockquote\\)"') - - -- Variable: yahtml-template-file - $(B?75,(BHTML$(B%U%!%$%k:n@.;~$K<+F0E*$KA^F~$7$FM_$7$$%U%!%$%kL>!# - (B`"~/http/template.html"' - - -- Variable: yahtml-prefer-upcases - $(B%?%0$KBgJ8;z$r;H$$$?$$!#(B`nil' - - -- Variable: yahtml-prefer-upcase-attributes - $(BB0@-;XDj;R$KBgJ8;z$r;H$$$?$$!#(B`nil' - - -- Variable: yahtml-server-type - Apache$(B7O$N%5!<%P$rMxMQ$7$F$$$k>l9g$O (B'apache $(B$r%;%C%H$9$k!# - (B./.htaccess $(B$r;2>H$9$k$+$I$&$+$r7hDj$9$k!#(B`'apache' - - -- Variable: yahtml-apache-access-file - `yahtml-server-type' $(B$, (B`'apache' $(B$N$H$-$K%"%/%;%9@)8B%U%!%$%kL>$r;X - Dj!#(B`".htaccess"' - - -- Variable: yahtml-shell-command-option - $(B%7%'%k$GJL%3%^%s%I$r5/F0$9$k$H$-$N%*%W%7%g%s!# - - (B-- Variable: yahtml-translate-hyphens-when-comment-region - $(BNN0h%3%a%s%H%"%&%H$r$9$k$H$-$K4{$KB8:_$9$k%O%$%U%s$r (B`-' $(B$KJQ99$9 - $k$+$I$&$+!#(B(`t') - - -- Variable: yahtml-entity-reference-chars-alist - $(B%(%s%F%#%F%#;2>H(B(Entity Reference)$(B$G5-=R$9$Y$-J8;z72$r(B`'(?$(BJ8;z (B. "$(B%( - %s%F%#%F%#I=5-(B")' $(B$H$$$&7A<0$rNs5s$7$?(Balist$(B$GJB$Y$k!#%G%U%)%k%H$G - (B`<', `>', `&', `'', `"' $(B$KBP$9$k(Balist$(B$,@_Dj$5$l$F$$$k$N$G!"DI2C$7$?$$ - J,$@$1$r5-=R$9$l$PNI$$!#(Bcdr$(BIt (B`"$(B%(%s%F%#%F%#I=5-(B"' $(B$O!"@hF,$N (B`&' $(B$H - KvHx$N(B`;' $(B$O4^$a$:$K=q$/!# - - (B-- Variable: yahtml-faithful-to-htmllint - $(B9=J8%A%'%C%+$H$7$F (Bhtmllint $(B$rMxMQ$9$k>l9g$A$g$C$H$7$?M>7W$J6uGr$J$I - $KBP$7$F$b7Y9p$r<($9$N$G!"$3$l$r2sHr$9$k$H$-$K$O$3$NJQ?t$r(B`t'$(B$K$9$k!# - - (B-- Variable: yahtml-use-css - CSS$(B$NJd405!G=$r;H$&$+$I$&$+ (B(`t') - - -- Variable: yahtml-image-inspection-bytes - $(B2hA|%U%!%$%k$N%5%$%:$rD4$Y$k$H$-$KFI$_9~$`%P%$%H?t (B(`10000') - - -- Variable: yahtml:img-default-alt-format - $(B$N(BALT$(BB0@-$N%G%U%)%k%HJ8;zNs$N=q<0!#(B%x$(B$O2hA|$NI}!"(B%y$(B$O2hA| - $N9b$5!"(B%s$(B$O%U%!%$%k%5%$%:$KCV49$5$l$k (B(`"%xx%y(%sbytes)"') - - -- Variable: yahtml-escape-chars - href$(BJd40$J$I$N$H$-$KM=LsJ8;z$r(BURL$(B%(%s%3!<%I$9$k$+(B; 'ask$(B$N$H$-$O3NG'$7 - $F$+$iCV49$9$k (B(`'ask') - - -- Variable: yahtml-use-font-lock - $(B%=!<%9$N?'$E$1%Q%C%1!<%8$H$7$F (Bfont-lock $(B$rMxMQ$9$k$+(B(`(featurep - 'font-lock)') - - -- Variable: yahtml-use-hilit19 - $(B%=!<%9$N?'$E$1%Q%C%1!<%8$H$7$F (Bhilit19 $(B$rMxMQ$9$k$+(B(`(featurep - 'hilit19)') - - -- Variable: yahtml-indentation-boundary - $(B%$%s%G%s%H7W;;$rBG$A@Z$C$F$h$$6-3&$H$J$k@55,I=8=(B(`"^\\s *"') - - - -File: yahtmlj, Node: Hook variables, Prev: All customizable variables, Up: Customizations - -hook$(BJQ?t -(B======== - - - - -File: yahtmlj, Node: Copying, Next: Concept Index, Prev: Customizations, Up: Top - -$(B:\Ey$K4X$7$F$O@)8B$$$? -$7$^$;$s!#>o<1E*$K07$C$F$/$@$5$$!#$^$?!";HMQ$7$F$$$k;]$r%a%$%k$G$*CN$i$;$$ -$?$@$/$H!":np!"4uK>!"%P%0Js9p!"46A[Ey$O4?7^$$$?$7$^$9!#O"Mm$O (Byuuji@yatex.org $(B$^ -$G(B(2000$(BG/(B12$(B7n8=:_(B)$(B!#7QB3E*$K;HMQ$7$F$/$@$5$kJ}$O%a%$%j%s%0%j%9%H!V(Bfj$(BLnD;$N -2q!W$K@'Hs2CF~$7$F$/$@$5$$!#2CF~J}K!$K$D$$$F$OK\%Q%C%1!<%8$N (B`docs/htmlqa' -$(B%U%!%$%k$N!V$=$NB>!W$N>O$r8fMw$/$@$5$$!# - -;EMM$O!"M=9p$J$/3NH$X$NJQ99(B5300 -Node: $(B%j%8%g%sFbJ8;z$N(BURLencode5658 -Node: td$(B3g$j(B/tr$(B3g$j(B5890 -Node: CSS Support6519 -Node: CSS-class completion6738 -Node: Reread CSS file7734 -Node: Customizations7956 -Node: All customizable variables8180 -Node: Hook variables11178 -Node: Copying11290 -Node: Concept Index11793 - -End tag table +Info file: yahtmlj, -*-Text-*- +produced by `texinfo-format-buffer' +from file `yahtmlj.tex' +using `texinfmt.el' version 2.38 of 3 July 1998. + +START-INFO-DIR-ENTRY +* yahtml: (yahtmlj). Yet Another html-mode for Emacs (Japanese). +END-INFO-DIR-ENTRY + + + + + + +File: yahtmlj, Node: Top, Next: Intro, Prev: (dir), Up: (dir) + +* Menu: + +* Intro:: はじめに +* Installation:: インストール +* Command Invocation:: 外部コマンド起動 +* Completion:: 補完入力 +* Jump:: カーソルジャンプ +* Changing and Deleting:: 変更と削除 +* CSS Support:: スタイルシート補完 +* Customizations:: カスタマイズ変数一覧 +* Copying:: とりあつかい +* Concept Index:: 索引 + + + + +File: yahtmlj, Node: Intro, Next: Installation, Prev: Top, Up: Top + +はじめに +******** + +yahtmlは GNU Emacs 上で HTML文書を作成する時に、繁雑なHTMLタグの入力を補完 +機能によってスムーズに行えるようにするだけでなく、weblintなどの構文チェッ +クプログラム、カーソル位置のURLやファイル名に依存したブラウザ/イメージヴュー +アの起動などを Emacs 編集画面中から行えるようにするパッケージです。 + +(このInfoは未完成です(__)…) + + + +File: yahtmlj, Node: Installation, Next: Command Invocation, Prev: Intro, Up: Top + +インストール +************ +* Menu: + +* yahtml起動のための設定:: +* lintプログラム/ブラウザ/イメージヴューア環境等の設定:: +* WWWページ環境用変数の設定:: + + + +File: yahtmlj, Node: yahtml起動のための設定, Next: lintプログラム/ブラウザ/イメージヴューア環境等の設定, Prev: Installation, Up: Installation + +yahtml起動のための設定 +====================== + + +`~/.emacs'に下の2項目を加えます。 + + (setq auto-mode-alist + (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist)) + (autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t) + +次にyahtmlに必要なファイル(`yahtml.el', `yatexlib.el', `yatexprc.el') を置 +くディレクトリを load-path に加えます。たとえば、 `~/src/emacs/yahtml'に置 +くのであれば、 + + (setq load-path (cons (expand-file-name "~/src/emacs/yahtml") load-path)) + +などとします。 + + 以上の設定により、拡張子が .html であるファイルを編集すると自動的に +yahtml がロードされます。yahtmlが正常に起動できたときはモードラインの表示 +が「yahtml」に変わります。 + + + +File: yahtmlj, Node: lintプログラム/ブラウザ/イメージヴューア環境等の設定, Next: WWWページ環境用変数の設定, Prev: yahtml起動のための設定, Up: Installation + +lintプログラム/ブラウザ/イメージヴューア環境等の設定 +==================================================== + +利用する外部プログラムなどに関する以下の変数を確認し、必要なら正しい値に変 +更します(括弧内はデフォルト値)。 +`yahtml-www-browser' + ... 起動するブラウザのコマンド名(netscape) +`yahtml-image-viewer' + ... 起動する画像ビューアのコマンド名(xv) +`yahtml-lint-program' + ... 構文チェックプログラムのコマンド名(jweblint) +`yahtml-kanji-code' + ... htmlファイルの漢字コード + + + +File: yahtmlj, Node: WWWページ環境用変数の設定, Prev: lintプログラム/ブラウザ/イメージヴューア環境等の設定, Up: Installation + +WWWページ環境用変数の設定 +========================= + +ホームページとなるファイルが存在するPATH名に関する変数を設定します。 +`yahtml-path-url-alist' + ... ファイルシステム上のPATH名と、URLの対応表 +`yahtml-directory-index' + ... URL指定でファイル名を省略したときに表示されるインデックス + ファイル名(NCSA系httpdなら `index.html', CERN系なら`Welcome.html'が一 + 般的) + +変数 `yahtml-path-url-alist' の設定例を示します。例えば、自宅では、 +`/home/yuuji/http/' が `http://localhost/~yuuji' で参照でき、職場では +`/usr/home/yuuji/www/' が`http://www.keio.ac.jp/~yuuji/' で参照できるよう +になっている場合は以下のように設定します。 + + (setq yahtml-path-url-alist + '(("/home/yuuj/http" . "http://localhost/~yuuji") + ("/usr/home/yuuj/www" . "http://www.keio.ac.jp/~yuuji"))) + +この対応組はいくらでも設定することができます。 + + + +File: yahtmlj, Node: Command Invocation, Next: Completion, Prev: Installation, Up: Top + +外部コマンド起動 +**************** + +HTMLファイル編集にかかわるいくつかのコマンドを即座に呼ぶことができます。 +`[prefix] t j' + ... HTML構文チェッカ(jweblint)起動 +`[prefix] t p' + ... 現在のページを対象としたブラウザ起動 +`[prefix] t r' + ... 現在のページがブラウザに表示されているときのreload指定 + + + +File: yahtmlj, Node: Completion, Next: Jump, Prev: Command Invocation, Up: Top + +補完入力 +******** + +「野鳥」で利用できる、「begin型補完」、「section型補完」、「large型補完」、 +「maketitle型補完」、「アクセント補完」と全く同じキー操作で対応するHTMLタ +グの補完入力ができます。それぞれの型の補完は順に、「複数行に渡るタグ入力」、 +「空要素タグ(imgなど)の補完」、「一行内での開始/終了タグの入力」、「空要素 +空属性タグの入力」、「文字参照入力」に対応しています。具体的には + +`[prefix] b (野鳥のbegin補完に対応)' + ... +

    +
+ + のように開始タグと終了タグを二行に渡って書きたい場合の補完を指します。 + おもにブロック型タグが補完候補に含まれます。 + +`[prefix] s (野鳥のsection型補完に対応)' + ... + photo + + のように終了タグを持たず、かつ属性値のみで機能を指定するタグを補完し + ます。補完候補としては、img, input が存在します。 + +`[prefix] l (野鳥のlarge型補完に対応)' + ... begin型補完とほぼ同じですが、 + + + + のように一行内に開始/終了タグを入れたいときに利用します。 + +`[prefix] m (野鳥のmaketitle型補完に対応)' + ... 要素も属性値も持たないタグを補完入力します。
+ などが補完候補に相当します。 + +`[prefix] a (野鳥のアクセント補完に対応)' + ... エンティティ参照による文字表記を入力するときに用います。 + デフォルトでは < (<), > (>), & (&), " ("), ' ('), + ブランク ( ) の補完入力が行えます。 + + + +File: yahtmlj, Node: Jump, Next: Changing and Deleting, Prev: Completion, Up: Top + +カーソルジャンプ +**************** +文書中のいろいろな場所で + +`[prefix] g' + ... 対応するオブジェクトにジャンプ + +を押すことにより、カーソル位置のHTML構文に対応する場所にジャンプします。対 +応関係が存在すると解釈されるコマンドには以下のものがあります。 + + * `' ←→ `' + * `' → 対応するviewer起動 + * `' → リンク先へのポイント移動 + * `' → Javaソースプログラムへの移動 + + + +File: yahtmlj, Node: Changing and Deleting, Next: CSS Support, Prev: Jump, Up: Top + +変更/削除 +********* + +* Menu: + +* 対タグの変更:: +* 文字参照への変更:: +* リジョン内文字のURLencode:: +* td括り/tr括り:: + + + +File: yahtmlj, Node: 対タグの変更, Next: 文字参照への変更, Prev: Changing and Deleting, Up: Changing and Deleting + +対タグの変更 +============ +文書中のいろいろな場所で + +`[prefix] c' + ... 対応するタグ等を変更 + +を押すことにより、カーソル位置のHTML構文に応じた記述内容の変更を行います。 +カーソル位置と変更する内容の対応は以下の通りです。 + + * `'〜`' + ... `TAG' の変更 + * `photo' などの属性値 + ... 属性値の変更 + + + +File: yahtmlj, Node: 文字参照への変更, Next: リジョン内文字のURLencode, Prev: 対タグの変更, Up: Changing and Deleting + +文字参照への変更 +================ +文字としての < や > を表現するときは、文字参照を用いて< や > と表記 +する必要がありますが、HTML以外のファイルからこれらの文字を含むテキストを張 +り込んだ場合などに、これらの文字を一括して文字参照形式に変換できます。 + +`[prefix] ;' + ... 指定した領域の文字参照に置き換えるべき文字の置換 +`[prefix] :' + ... 指定した領域の文字参照を参照文字そのものに置換([prefix] ; + の逆変換) + + + + +File: yahtmlj, Node: リジョン内文字のURLencode, Next: td括り/tr括り, Prev: 文字参照への変更, Up: Changing and Deleting + +リジョン内文字のURLencode +========================= + `[prefix] #' + + ... 指定した領域内に URLencode すべき文字があればそれらをエン + コード表記に置換。 + + + +File: yahtmlj, Node: td括り/tr括り, Prev: リジョン内文字のURLencode, Up: Changing and Deleting + +td括り/tr括り +============= +空白区切りで書いた表形式の行レコードを 括りの並び,あるいはそれらをさ +らに で括った行並びに変換できます。 + `[prefix] }' + + ... 現在のリジョンにあるデータを空白区切りごとに + ... で括る + `[prefix] ]' + + ... 現在のリジョンにある行を上記td括りをほどこしてからさらに行ごと +に ... で括るデフォルトでは空白区切りですが,これを変えるときは +Delimiter: の問い合わせに区切り文字を指定します。たとえばカンマ(,) を指定 +するとCSVから表を作ることができます。 + +td以外の要素,具体的には th で括りたい場合は universal-argument (`C-u') を +つけて上記2つのコマンドを呼びます。どの要素で括るかの質問が増えるのでそれ +に th と入れれば,各フィールドを ... で括ります。もし,第1フィー +ルドのみ th で,残りを全部 td 括りにしたいときは thd と入力して下さい。 + + + +File: yahtmlj, Node: CSS Support, Next: Customizations, Prev: Changing and Deleting, Up: Top + +CSS(スタイルシート)サポート +*************************** + +* Menu: + +* CSS-class completion:: +* Reread CSS file:: + + + +File: yahtmlj, Node: CSS-class completion, Next: Reread CSS file, Prev: CSS Support, Up: CSS Support + +CSSクラス名補完 +=============== +HTML屋はCSS(Cascading Style Sheets)のクラス名を補完入力することができます。 +スタイル定義として + + h1.foo, h2.foo { background-color: 0xffffff; } + h1.bar, h2.bar { font-size: 120%; } + +のようなものがあった場合に、h1またはh2タグを [prefix] b や [prefix] l で補 +完入力した場合に、それらに有効な class 名である foo, bar を候補として補完 +入力することが可能です。また + + .caution { font-size: 120%; background-color: 0xc00000;} + +のような全てのエレメントに働くclassが定義されていた場合は、全てのタグの補 +完入力時にclass参照入力を求められます。これが煩わしい場合はエレメント名入 +力確定のときにリターンキー(またはC-m)ではなく、C-jを押せばclass補完入力を +キャンセルできます。たとえば + + [prefix] l 行内タグ補完を起動 + (または[prefix] l SPC) + tt をいれたいのでttと入力 + C-m + +とした場合は続いて class= と補完プロンプトが出ますが、 + + [prefix] l 行内タグ補完を起動 + (または[prefix] l SPC) + tt をいれたいのでttと入力 + C-j + +と最後を `C-j' で入力した場合は class 補完プロンプトは出ません。 + + + +File: yahtmlj, Node: Reread CSS file, Prev: CSS-class completion, Up: CSS Support + +CSS定義ファイルの読み直し +========================= +htmlファイルを編集中にCSS定義ファイルを修正し、追加したclassを補完候補とし +て直ちに読み込ませたい場合は、`M-x yahtml-mode' として再起動を行ってくださ +い。 + + + +File: yahtmlj, Node: Customizations, Next: Copying, Prev: CSS Support, Up: Top + +カスタマイズ +************ + +yahtmlの動作を制御する変数について説明します。 + +* Menu: + +* All customizable variables:: カスタマイズ変数一覧 +* Hook variables:: hook変数 + + + +File: yahtmlj, Node: All customizable variables, Next: Hook variables, Prev: Customizations, Up: Customizations + +カスタマイズ変数一覧 +==================== + + -- Variable: yahtml-prefix + yahtml-mode 中のプリフィクスキー (`\C-c') + + -- Variable: yahtml-image-viewer + imgで参照している画像ファイルを表示するときに起動するコマンド (xv) + + -- Variable: yahtml-www-browser + `[prefix]g' で外部ページを表示するときに起動するブラウザ (netscape) + + -- Variable: yahtml-kanji-code + デフォルトの漢字コード。1=sjis, 2=jis, 3=euc, 4=utf-8 (2) + .htaccess ファイルに + AddType "text/html; charset=xxx" .html の記述があった場合はそれ + に従う + + -- Variable: yahtml-fill-column + auto-fillするときのカラム数 (72) + + -- Variable: yahtml-fill-prefix + yahtml-mode 固有のfill-prefix (`nil') + + -- Variable: yahtml-path-url-alist + OSのファイルシステム上でのフルパス名と、その外部公開時のURLの対応表。 + + -- Variable: yahtml-directory-index + サーバアクセス時ファイル名を省略したときにデフォルトで開かれるインデッ + クスファイルの名前。多くの場合 index.html。(`"index.html"') + + -- Variable: yahtml-lint-program + HTML構文チェックプログラム。(`"jweblint"') + + -- Variable: yahtml-hate-too-deep-indentation + ネストした列挙系環境でのインデントが深すぎるときにtにする。(`nil') + + -- Variable: yahtml-always-/p + `

' をいれたら必ず `

' したい人向け。`nil' + + -- Variable: yahtml-p-prefered-env-regexp + 自動的に `

' を入れて欲しい環境。 + (`"^\\(body\\|dl\\|blockquote\\)"') + + -- Variable: yahtml-template-file + 新規HTMLファイル作成時に自動的に挿入して欲しいファイル名。 + `"~/http/template.html"' + + -- Variable: yahtml-prefer-upcases + タグに大文字を使いたい。`nil' + + -- Variable: yahtml-prefer-upcase-attributes + 属性指定子に大文字を使いたい。`nil' + + -- Variable: yahtml-server-type + Apache系のサーバを利用している場合は 'apache をセットする。 + ./.htaccess を参照するかどうかを決定する。`'apache' + + -- Variable: yahtml-apache-access-file + `yahtml-server-type' が `'apache' のときにアクセス制限ファイル名を指 + 定。`".htaccess"' + + -- Variable: yahtml-shell-command-option + シェルで別コマンドを起動するときのオプション。 + + -- Variable: yahtml-translate-hyphens-when-comment-region + 領域コメントアウトをするときに既に存在するハイフンを `-' に変更す + るかどうか。(`t') + + -- Variable: yahtml-entity-reference-chars-alist + エンティティ参照(Entity Reference)で記述すべき文字群を`'(?文字 . "エ + ンティティ表記")' という形式を列挙したalistで並べる。デフォルトで + `<', `>', `&', `'', `"' に対するalistが設定されているので、追加したい + 分だけを記述すれば良い。cdr部 `"エンティティ表記"' は、先頭の `&' と + 末尾の`;' は含めずに書く。 + + -- Variable: yahtml-faithful-to-htmllint + 構文チェッカとして htmllint を利用する場合ちょっとした余計な空白など + に対しても警告を示すので、これを回避するときにはこの変数を`t'にする。 + + -- Variable: yahtml-use-css + CSSの補完機能を使うかどうか (`t') + + -- Variable: yahtml-image-inspection-bytes + 画像ファイルのサイズを調べるときに読み込むバイト数 (`10000') + + -- Variable: yahtml:img-default-alt-format + のALT属性のデフォルト文字列の書式。%xは画像の幅、%yは画像 + の高さ、%sはファイルサイズに置換される (`"%xx%y(%sbytes)"') + + -- Variable: yahtml-escape-chars + href補完などのときに予約文字をURLエンコードするか; 'askのときは確認し + てから置換する (`'ask') + + -- Variable: yahtml-use-font-lock + ソースの色づけパッケージとして font-lock を利用するか(`(featurep + 'font-lock)') + + -- Variable: yahtml-use-hilit19 + ソースの色づけパッケージとして hilit19 を利用するか(`(featurep + 'hilit19)') + + -- Variable: yahtml-indentation-boundary + インデント計算を打ち切ってよい境界となる正規表現(`"^\\s *"') + + + +File: yahtmlj, Node: Hook variables, Prev: All customizable variables, Up: Customizations + +hook変数 +======== + + + + +File: yahtmlj, Node: Copying, Next: Concept Index, Prev: Customizations, Up: Top + +取り扱い +******** + + 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな +る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた +しません。常識的に扱ってください。また、使用している旨をメイルでお知らせい +ただくと、作者は喜んでサポートに励むことでしょう。 + + 苦情、希望、バグ報告、感想等は歓迎いたします。連絡は yuuji@yatex.org ま +で(2000年12月現在)。継続的に使用してくださる方はメイリングリスト「fj野鳥の +会」に是非加入してください。加入方法については本パッケージの `docs/htmlqa' +ファイルの「その他」の章を御覧ください。 + +仕様は、予告なく確実に(気分次第で)変更されます:-p。 + + 広瀬雄二 + + + + +File: yahtmlj, Node: Concept Index, Prev: Copying, Up: Top + +索引 +**** + +* Menu: + +* カスタマイズ[かすたまいす]: Customizations. 4. +* キーアサイン[きいあさいん]: Customizations. 4. +* Demacs: Intro. 4. +* HTML屋[HTMLや]: Intro. 4. +* LaTeX: Intro. 4. +* Mule: Intro. 4. + + + + +Tag table: +Node: Top260 +Node: Intro729 +Node: Installation1008 +Node: yahtml起動のための設定1196 +Node: lintプログラム/ブラウザ/イメージヴューア環境等の設定1850 +Node: WWWページ環境用変数の設定2350 +Node: Command Invocation3121 +Node: Completion3448 +Node: Jump4432 +Node: Changing and Deleting4831 +Node: 対タグの変更5005 +Node: 文字参照への変更5355 +Node: リジョン内文字のURLencode5738 +Node: td括り/tr括り5972 +Node: CSS Support6601 +Node: CSS-class completion6799 +Node: Reread CSS file7783 +Node: Customizations8005 +Node: All customizable variables8229 +Node: Hook variables11227 +Node: Copying11339 +Node: Concept Index11842 + +End tag table diff -r 5d8f03ba4285 -r 29ab3f4fcd9e docs/yahtmlj.tex --- a/docs/yahtmlj.tex Thu Jan 12 12:27:20 2012 +0900 +++ b/docs/yahtmlj.tex Mon May 14 18:39:05 2012 +0900 @@ -1,561 +1,564 @@ -\def\lang{jp} % -*- texinfo -*- for Texinfo V.3.1 -\input texinfo -@setfilename yahtmlj -@settitle Yet Another html-mode for Emacs - -@iftex -@c @syncodeindex fn cp -@c Last modified Thu Dec 9 15:56:35 2010 on firestorm -@syncodeindex vr cp -@end iftex - -@titlepage -@sp 10 -@center -@subtitle Yet Another html-mode for emacs -@title 『HTML屋』 -@subtitle // yahtml // -@author @copyright{} 1994-1997 by HIROSE, Yuuji [yuuji@@yatex.org] -@end titlepage - -@node Top, Intro, (dir), (dir) -@comment node-name, next, previous, up - -@menu -* Intro:: はじめに -* Installation:: インストール -* Command Invocation:: 外部コマンド起動 -* Completion:: 補完入力 -* Jump:: カーソルジャンプ -* Changing and Deleting:: 変更と削除 -* CSS Support:: スタイルシート補完 -* Customizations:: カスタマイズ変数一覧 -* Copying:: とりあつかい -* Concept Index:: 索引 - -@end menu - -@node Intro, Installation, Top, Top -@comment node-name, next, previous, up -@chapter はじめに -@cindex Demacs -@cindex Mule -@cindex LaTeX -@cindex HTML屋[HTMLや] - -yahtmlは GNU Emacs 上で HTML文書を作成する時に、繁雑なHTMLタグの入力を補 -完機能によってスムーズに行えるようにするだけでなく、weblintなどの構文チェッ -クプログラム、カーソル位置のURLやファイル名に依存したブラウザ/イメージヴュー -アの起動などを Emacs 編集画面中から -行えるようにするパッケージです。 - -(このInfoは未完成です(__)…) - -@node Installation, Command Invocation, Intro, Top -@comment node-name, next, previous, up -@chapter インストール -@menu -* yahtml起動のための設定:: -* lintプログラム/ブラウザ/イメージヴューア環境等の設定:: -* WWWページ環境用変数の設定:: -@end menu - -@node yahtml起動のための設定, lintプログラム/ブラウザ/イメージヴューア環境等の設定, Installation, Installation -@section yahtml起動のための設定 - - -@file{~/.emacs}に下の2項目を加えます。 - -@lisp -(setq auto-mode-alist - (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist)) -(autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t) -@end lisp - -次にyahtmlに必要なファイル(@file{yahtml.el}, @file{yatexlib.el}, -@file{yatexprc.el}) を置くディレクトリを load-path に加えます。たとえば、 -@file{~/src/emacs/yahtml}に置くのであれば、 - -@lisp -(setq load-path (cons (expand-file-name "~/src/emacs/yahtml") load-path)) -@end lisp - -@noindent -などとします。 - - 以上の設定により、拡張子が .html であるファイルを編集すると自動的に -yahtml がロードされます。yahtmlが正常に起動できたときはモードラインの表示が -「yahtml」に変わります。 - -@node lintプログラム/ブラウザ/イメージヴューア環境等の設定, WWWページ環境用変数の設定, yahtml起動のための設定, Installation -@section lintプログラム/ブラウザ/イメージヴューア環境等の設定 - -利用する外部プログラムなどに関する以下の変数を確認し、必要なら正しい値に変 -更します(括弧内はデフォルト値)。 -@table @code -@item yahtml-www-browser - @dots{} 起動するブラウザのコマンド名(netscape) -@item yahtml-image-viewer - @dots{} 起動する画像ビューアのコマンド名(xv) -@item yahtml-lint-program - @dots{} 構文チェックプログラムのコマンド名(jweblint) -@item yahtml-kanji-code - @dots{} htmlファイルの漢字コード -@end table - -@node WWWページ環境用変数の設定, , lintプログラム/ブラウザ/イメージヴューア環境等の設定, Installation -@section WWWページ環境用変数の設定 - -ホームページとなるファイルが存在するPATH名に関する変数を設定します。 -@table @code -@item yahtml-path-url-alist - @dots{} ファイルシステム上のPATH名と、URLの対応表 -@item yahtml-directory-index - @dots{} URL指定でファイル名を省略したときに表示されるインデックス - ファイル名(NCSA系httpdなら @file{index.html}, CERN系なら - @file{Welcome.html}が一般的) -@end table - -変数 @code{yahtml-path-url-alist} の設定例を示します。例えば、自宅では、 -@file{/home/yuuji/http/} が @code{http://localhost/~yuuji} で参照でき、職 -場では @file{/usr/home/yuuji/www/} が@code{http://www.keio.ac.jp/~yuuji/} -で参照できるようになっている場合は以下のように設定します。 - -@lisp -(setq yahtml-path-url-alist - '(("/home/yuuj/http" . "http://localhost/~yuuji") - ("/usr/home/yuuj/www" . "http://www.keio.ac.jp/~yuuji"))) -@end lisp - -この対応組はいくらでも設定することができます。 - -@node Command Invocation, Completion, Installation, Top -@comment node-name, next, previous, up -@chapter 外部コマンド起動 - -HTMLファイル編集にかかわるいくつかのコマンドを即座に呼ぶことができます。 -@table @kbd -@item [prefix] t j - @dots{} HTML構文チェッカ(jweblint)起動 -@item [prefix] t p - @dots{} 現在のページを対象としたブラウザ起動 -@item [prefix] t r - @dots{} 現在のページがブラウザに表示されているときのreload指定 -@end table - -@node Completion, Jump, Command Invocation, Top -@comment node-name, next, previous, up -@chapter 補完入力 - -「野鳥」で利用できる、「begin型補完」、「section型補完」、 -「large型補完」、「maketitle型補完」、「アクセント補完」 -と全く同じキー操作で対応する -HTMLタグの補完入力ができます。それぞれの型の補完は順に、 -「複数行に渡るタグ入力」、「空要素タグ(imgなど)の補完」、 -「一行内での開始/終了タグの入力」、「空要素空属性タグの入力」、 -「文字参照入力」 -に -対応しています。具体的には - -@table @kbd -@item [prefix] b (野鳥のbegin補完に対応) -@dots{} -@example -

    -
-@end example - -@noindent -のように開始タグと終了タグを二行に渡って書きたい場合の補完を指します。 -おもにブロック型タグが補完候補に含まれます。 - -@item [prefix] s (野鳥のsection型補完に対応) -@dots{} -@example -photo -@end example - -@noindent -のように終了タグを持たず、かつ属性値のみで機能を指定するタグを補完します。 -補完候補としては、img, input が存在します。 - -@item [prefix] l (野鳥のlarge型補完に対応) -@dots{} begin型補完とほぼ同じですが、 - -@example - -@end example - -@noindent -のように一行内に開始/終了タグを入れたいときに利用します。 - -@item [prefix] m (野鳥のmaketitle型補完に対応) -@dots{} 要素も属性値も持たないタグを補完入力します。
-などが補完候補に相当します。 - -@item [prefix] a (野鳥のアクセント補完に対応) -@dots{} エンティティ参照による文字表記を入力するときに用います。 -デフォルトでは < (<), > (>), & (&), " ("), ' ('), -ブランク ( ) の補完入力が行えます。 -@end table - -@node Jump, Changing and Deleting, Completion, Top -@comment node-name, next, previous, up -@chapter カーソルジャンプ -文書中のいろいろな場所で - -@table @kbd -@item [prefix] g - @dots{} 対応するオブジェクトにジャンプ -@end table - -@noindent -を押すことにより、カーソル位置のHTML構文に対応する場所にジャンプ -します。対応関係が存在すると解釈されるコマンドには以下のものがあります。 - -@itemize @bullet -@item @code{} ←→ @code{} -@item @code{} → 対応するviewer起動 -@item @code{} → リンク先へのポイント移動 -@item @code{} → Javaソースプログラムへの移動 -@c @item @code{\include(\input)} → 対応するファイル -@end itemize - -@node Changing and Deleting, CSS Support, Jump, Top -@comment node-name, next, previous, up -@chapter 変更/削除 - -@menu -* 対タグの変更:: -* 文字参照への変更:: -* リジョン内文字のURLencode:: -* td括り/tr括り:: -@end menu - -@node 対タグの変更, 文字参照への変更, Changing and Deleting, Changing and Deleting -@comment node-name, next, previous, up -@section 対タグの変更 -文書中のいろいろな場所で - -@table @kbd -@item [prefix] c - @dots{} 対応するタグ等を変更 -@end table - -@noindent -を押すことにより、カーソル位置のHTML構文に応じた -記述内容の変更を行います。カーソル位置と変更する内容の -対応は以下の通りです。 - -@itemize @bullet -@item @code{}〜@code{} -@dots{} @code{TAG} の変更 -@item @code{photo} などの属性値 -@dots{} 属性値の変更 -@end itemize - -@node 文字参照への変更, , 対タグの変更, Changing and Deleting -@comment node-name, next, previous, up -@section 文字参照への変更 -文字としての < や > を表現するときは、文字参照を用いて -< や > と表記する必要がありますが、 -HTML以外のファイルからこれらの文字を含むテキストを張り込んだ場合 -などに、これらの文字を一括して文字参照形式に変換できます。 - -@table @kbd -@item [prefix] ; - @dots{} 指定した領域の文字参照に置き換えるべき文字の置換 -@item [prefix] : - @dots{} 指定した領域の文字参照を参照文字そのものに置換 - ([prefix] ; の逆変換) -@end table - - -@node リジョン内文字のURLencode, td括り/tr括り, 文字参照への変更, Changing and Deleting -@comment node-name, next, previous, up -@section リジョン内文字のURLencode -@table - @item [prefix] # - @dots{} 指定した領域内に URLencode すべき文字があればそれらを - エンコード表記に置換。 -@end table - -@node td括り/tr括り, , リジョン内文字のURLencode, Changing and Deleting -@comment node-name, next, previous, up -@section td括り/tr括り -空白区切りで書いた表形式の行レコードを 括りの並び, -あるいはそれらをさらに で括った行並びに変換できます。 -@table @kbd - @item [prefix] } - @dots{} 現在のリジョンにあるデータを空白区切りごとに - ... で括る - @item [prefix] ] - @dots{} 現在のリジョンにある行を - 上記td括りをほどこしてからさらに行ごとに ... で括る -@end table -デフォルトでは空白区切りですが,これを変えるときは -Delimiter: の問い合わせに区切り文字を指定します。たとえばカンマ(,) -を指定するとCSVから表を作ることができます。 - -td以外の要素,具体的には th で括りたい場合は universal-argument -(@kbd{C-u}) をつけて上記2つのコマンドを呼びます。どの要素で括るかの -質問が増えるのでそれに th と入れれば,各フィールドを ... -で括ります。もし,第1フィールドのみ th で,残りを全部 td 括りにしたいとき -は thd と入力して下さい。 - -@node CSS Support, Customizations, Changing and Deleting, Top -@comment node-name, next, previous, up -@chapter CSS(スタイルシート)サポート - -@menu -* CSS-class completion:: -* Reread CSS file:: -@end menu - -@node CSS-class completion, Reread CSS file, CSS Support, CSS Support -@comment node-name, next, previous, up -@section CSSクラス名補完 -HTML屋はCSS(Cascading Style Sheets)のクラス名を補完入力することができます。 -スタイル定義として - -@display - h1.foo, h2.foo @{ background-color: 0xffffff; @} - h1.bar, h2.bar @{ font-size: 120%; @} -@end display - -のようなものがあった場合に、h1またはh2タグを [prefix] b や [prefix] l で補 -完入力した場合に、それらに有効な class 名である foo, bar を候補として補完 -入力することが可能です。また - -@display - .caution @{ font-size: 120%; background-color: 0xc00000;@} -@end display - -のような全てのエレメントに働くclassが定義されていた場合は、全てのタグの補 -完入力時にclass参照入力を求められます。これが煩わしい場合はエレメント名入 -力確定のときにリターンキー(またはC-m)ではなく、C-jを押せばclass補完入力を -キャンセルできます。たとえば - -@display - @kbd{[prefix] l} 行内タグ補完を起動 - (または@kbd{[prefix] l SPC}) - tt をいれたいのでttと入力 - @kbd{C-m} -@end display - -とした場合は続いて class= と補完プロンプトが出ますが、 - -@display - @kbd{[prefix] l} 行内タグ補完を起動 - (または@kbd{[prefix] l SPC}) - tt をいれたいのでttと入力 - @kbd{C-j} -@end display - -と最後を @kbd{C-j} で入力した場合は class 補完プロンプトは出ません。 - -@node Reread CSS file, , CSS-class completion, CSS Support -@comment node-name, next, previous, up -@section CSS定義ファイルの読み直し -htmlファイルを編集中にCSS定義ファイルを修正し、追加した -classを補完候補として直ちに読み込ませたい場合は、 -@kbd{M-x yahtml-mode} として再起動を行ってください。 - -@node Customizations, Copying, CSS Support, Top -@comment node-name, next, previous, up -@chapter カスタマイズ -@cindex カスタマイズ[かすたまいす] -@cindex キーアサイン[きいあさいん] - -yahtmlの動作を制御する変数について説明します。 - -@menu -* All customizable variables:: カスタマイズ変数一覧 -* Hook variables:: hook変数 -@end menu - -@node All customizable variables, Hook variables, Customizations, Customizations -@comment node-name, next, previous, up -@section カスタマイズ変数一覧 - -@defvar yahtml-prefix -yahtml-mode 中のプリフィクスキー (@kbd{\C-c}) -@end defvar - -@defvar yahtml-image-viewer -imgで参照している画像ファイルを表示するときに起動するコマンド (xv) -@end defvar - -@defvar yahtml-www-browser -@kbd{[prefix]g} で外部ページを表示するときに起動するブラウザ (netscape) -@end defvar - -@defvar yahtml-kanji-code -デフォルトの漢字コード。1=sjis, 2=jis, 3=euc, 4=utf-8 (2) -.htaccess ファイルに -@quotation - AddType "text/html; charset=xxx" .html -@end quotation -の記述があった場合はそれに従う -@end defvar - -@defvar yahtml-fill-column -auto-fillするときのカラム数 (72) -@end defvar - -@defvar yahtml-fill-prefix -yahtml-mode 固有のfill-prefix (@code{nil}) -@end defvar - -@defvar yahtml-path-url-alist -OSのファイルシステム上でのフルパス名と、その外部公開時のURLの対応表。 -@end defvar - -@defvar yahtml-directory-index -サーバアクセス時ファイル名を省略したときにデフォルトで開かれる -インデックスファイルの名前。多くの場合 index.html。(@code{"index.html"}) -@end defvar - -@defvar yahtml-lint-program -HTML構文チェックプログラム。(@code{"jweblint"}) -@end defvar - -@defvar yahtml-hate-too-deep-indentation -ネストした列挙系環境でのインデントが深すぎるときにtにする。(@code{nil}) -@end defvar - -@defvar yahtml-always-/p -@code{

} をいれたら必ず @code{

} したい人向け。@code{nil} -@end defvar - -@defvar yahtml-p-prefered-env-regexp -自動的に @code{

} を入れて欲しい環境。 -(@code{"^\\(body\\|dl\\|blockquote\\)"}) -@end defvar - -@defvar yahtml-template-file -新規HTMLファイル作成時に自動的に挿入して欲しいファイル名。 -@file{"~/http/template.html"} -@end defvar - -@defvar yahtml-prefer-upcases -タグに大文字を使いたい。@code{nil} -@end defvar - -@defvar yahtml-prefer-upcase-attributes -属性指定子に大文字を使いたい。@code{nil} -@end defvar - -@defvar yahtml-server-type -Apache系のサーバを利用している場合は 'apache をセットする。 -./.htaccess を参照するかどうかを決定する。@code{'apache} -@end defvar - -@defvar yahtml-apache-access-file -@code{yahtml-server-type} が @code{'apache} のときに -アクセス制限ファイル名を指定。@file{".htaccess"} -@end defvar - -@defvar yahtml-shell-command-option -シェルで別コマンドを起動するときのオプション。 -@end defvar - -@defvar yahtml-translate-hyphens-when-comment-region -領域コメントアウトをするときに既に存在するハイフンを @code{-} に -変更するかどうか。(@code{t}) -@end defvar - -@defvar yahtml-entity-reference-chars-alist -エンティティ参照(Entity Reference)で記述すべき文字群を - @code{'(?文字 . "エンティティ表記")} という形式を列挙した -alistで並べる。デフォルトで @code{<}, @code{>}, @code{&}, @code{'}, -@code{"} に対するalistが設定されているので、追加したい分だけを記述すれば良 -い。cdr部 @code{"エンティティ表記"} は、先頭の @code{&} と 末尾の@code{;} -は含めずに書く。 -@end defvar - -@defvar yahtml-faithful-to-htmllint -構文チェッカとして htmllint を利用する場合ちょっとした余計な空白などに -対しても警告を示すので、これを回避するときにはこの変数を@code{t}に -する。 -@end defvar - -@defvar yahtml-use-css -CSSの補完機能を使うかどうか (@code{t}) -@end defvar - -@defvar yahtml-image-inspection-bytes -画像ファイルのサイズを調べるときに読み込むバイト数 (@code{10000}) -@end defvar - -@defvar yahtml:img-default-alt-format -のALT属性のデフォルト文字列の書式。%xは画像の幅、 -%yは画像の高さ、%sはファイルサイズに置換される (@code{"%xx%y(%sbytes)"}) -@end defvar - -@defvar yahtml-escape-chars -href補完などのときに予約文字をURLエンコードするか; -'askのときは確認してから置換する (@code{'ask}) -@end defvar - -@defvar yahtml-use-font-lock -ソースの色づけパッケージとして font-lock を利用するか -(@code{(featurep 'font-lock)}) -@end defvar - -@defvar yahtml-use-hilit19 -ソースの色づけパッケージとして hilit19 を利用するか -(@code{(featurep 'hilit19)}) -@end defvar - -@defvar yahtml-indentation-boundary -インデント計算を打ち切ってよい境界となる正規表現 -(@code{"^\\s *"}) -@end defvar - -@node Hook variables, , All customizable variables, Customizations -@comment node-name, next, previous, up -@section hook変数 - - -@node Copying, Concept Index, Customizations, Top -@comment node-name, next, previous, up -@chapter 取り扱い - - 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな -る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた -しません。常識的に扱ってください。また、使用している旨をメイルでお知らせい -ただくと、作者は喜んでサポートに励むことでしょう。 - - 苦情、希望、バグ報告、感想等は歓迎いたします。 -連絡は yuuji@@yatex.org まで(2000年12月現在)。 -継続的に使用してくださる方はメイリングリスト「fj野鳥の会」に -是非加入してください。加入方法については本パッケージの @file{docs/htmlqa} -ファイルの「その他」の章を御覧ください。 - -仕様は、予告なく確実に(気分次第で)変更されます:-p。 - -@flushright -広瀬雄二 -@end flushright - - -@node Concept Index, , Copying, Top -@comment node-name, next, previous, up -@unnumbered 索引 -@printindex cp - - -@contents - -@bye - -@c Local Variables: -@c fill-column: 74 -@c fill-prefix: nil -@c buffer-file-coding-system: sjis-dos -@c End: - -Tag table: - -End tag table +\def\lang{jp} % -*- texinfo -*- for Texinfo V.3.1 +\input texinfo +@setfilename yahtmlj +@settitle Yet Another html-mode for Emacs +@direntry +* yahtml: (yahtmlj). Yet Another html-mode for Emacs (Japanese). +@end direntry + +@iftex +@c @syncodeindex fn cp +@c Last modified Fri May 11 15:42:05 2012 on firestorm +@syncodeindex vr cp +@end iftex + +@titlepage +@sp 10 +@center +@subtitle Yet Another html-mode for emacs +@title 『HTML屋』 +@subtitle // yahtml // +@author @copyright{} 1994-2012 by HIROSE, Yuuji [yuuji@@yatex.org] +@end titlepage + +@node Top, Intro, (dir), (dir) +@comment node-name, next, previous, up + +@menu +* Intro:: はじめに +* Installation:: インストール +* Command Invocation:: 外部コマンド起動 +* Completion:: 補完入力 +* Jump:: カーソルジャンプ +* Changing and Deleting:: 変更と削除 +* CSS Support:: スタイルシート補完 +* Customizations:: カスタマイズ変数一覧 +* Copying:: とりあつかい +* Concept Index:: 索引 + +@end menu + +@node Intro, Installation, Top, Top +@comment node-name, next, previous, up +@chapter はじめに +@cindex Demacs +@cindex Mule +@cindex LaTeX +@cindex HTML屋[HTMLや] + +yahtmlは GNU Emacs 上で HTML文書を作成する時に、繁雑なHTMLタグの入力を補 +完機能によってスムーズに行えるようにするだけでなく、weblintなどの構文チェッ +クプログラム、カーソル位置のURLやファイル名に依存したブラウザ/イメージヴュー +アの起動などを Emacs 編集画面中から +行えるようにするパッケージです。 + +(このInfoは未完成です(__)…) + +@node Installation, Command Invocation, Intro, Top +@comment node-name, next, previous, up +@chapter インストール +@menu +* yahtml起動のための設定:: +* lintプログラム/ブラウザ/イメージヴューア環境等の設定:: +* WWWページ環境用変数の設定:: +@end menu + +@node yahtml起動のための設定, lintプログラム/ブラウザ/イメージヴューア環境等の設定, Installation, Installation +@section yahtml起動のための設定 + + +@file{~/.emacs}に下の2項目を加えます。 + +@lisp +(setq auto-mode-alist + (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist)) +(autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t) +@end lisp + +次にyahtmlに必要なファイル(@file{yahtml.el}, @file{yatexlib.el}, +@file{yatexprc.el}) を置くディレクトリを load-path に加えます。たとえば、 +@file{~/src/emacs/yahtml}に置くのであれば、 + +@lisp +(setq load-path (cons (expand-file-name "~/src/emacs/yahtml") load-path)) +@end lisp + +@noindent +などとします。 + + 以上の設定により、拡張子が .html であるファイルを編集すると自動的に +yahtml がロードされます。yahtmlが正常に起動できたときはモードラインの表示が +「yahtml」に変わります。 + +@node lintプログラム/ブラウザ/イメージヴューア環境等の設定, WWWページ環境用変数の設定, yahtml起動のための設定, Installation +@section lintプログラム/ブラウザ/イメージヴューア環境等の設定 + +利用する外部プログラムなどに関する以下の変数を確認し、必要なら正しい値に変 +更します(括弧内はデフォルト値)。 +@table @code +@item yahtml-www-browser + @dots{} 起動するブラウザのコマンド名(netscape) +@item yahtml-image-viewer + @dots{} 起動する画像ビューアのコマンド名(xv) +@item yahtml-lint-program + @dots{} 構文チェックプログラムのコマンド名(jweblint) +@item yahtml-kanji-code + @dots{} htmlファイルの漢字コード +@end table + +@node WWWページ環境用変数の設定, , lintプログラム/ブラウザ/イメージヴューア環境等の設定, Installation +@section WWWページ環境用変数の設定 + +ホームページとなるファイルが存在するPATH名に関する変数を設定します。 +@table @code +@item yahtml-path-url-alist + @dots{} ファイルシステム上のPATH名と、URLの対応表 +@item yahtml-directory-index + @dots{} URL指定でファイル名を省略したときに表示されるインデックス + ファイル名(NCSA系httpdなら @file{index.html}, CERN系なら + @file{Welcome.html}が一般的) +@end table + +変数 @code{yahtml-path-url-alist} の設定例を示します。例えば、自宅では、 +@file{/home/yuuji/http/} が @code{http://localhost/~yuuji} で参照でき、職 +場では @file{/usr/home/yuuji/www/} が@code{http://www.keio.ac.jp/~yuuji/} +で参照できるようになっている場合は以下のように設定します。 + +@lisp +(setq yahtml-path-url-alist + '(("/home/yuuj/http" . "http://localhost/~yuuji") + ("/usr/home/yuuj/www" . "http://www.keio.ac.jp/~yuuji"))) +@end lisp + +この対応組はいくらでも設定することができます。 + +@node Command Invocation, Completion, Installation, Top +@comment node-name, next, previous, up +@chapter 外部コマンド起動 + +HTMLファイル編集にかかわるいくつかのコマンドを即座に呼ぶことができます。 +@table @kbd +@item [prefix] t j + @dots{} HTML構文チェッカ(jweblint)起動 +@item [prefix] t p + @dots{} 現在のページを対象としたブラウザ起動 +@item [prefix] t r + @dots{} 現在のページがブラウザに表示されているときのreload指定 +@end table + +@node Completion, Jump, Command Invocation, Top +@comment node-name, next, previous, up +@chapter 補完入力 + +「野鳥」で利用できる、「begin型補完」、「section型補完」、 +「large型補完」、「maketitle型補完」、「アクセント補完」 +と全く同じキー操作で対応する +HTMLタグの補完入力ができます。それぞれの型の補完は順に、 +「複数行に渡るタグ入力」、「空要素タグ(imgなど)の補完」、 +「一行内での開始/終了タグの入力」、「空要素空属性タグの入力」、 +「文字参照入力」 +に +対応しています。具体的には + +@table @kbd +@item [prefix] b (野鳥のbegin補完に対応) +@dots{} +@example +

    +
+@end example + +@noindent +のように開始タグと終了タグを二行に渡って書きたい場合の補完を指します。 +おもにブロック型タグが補完候補に含まれます。 + +@item [prefix] s (野鳥のsection型補完に対応) +@dots{} +@example +photo +@end example + +@noindent +のように終了タグを持たず、かつ属性値のみで機能を指定するタグを補完します。 +補完候補としては、img, input が存在します。 + +@item [prefix] l (野鳥のlarge型補完に対応) +@dots{} begin型補完とほぼ同じですが、 + +@example + +@end example + +@noindent +のように一行内に開始/終了タグを入れたいときに利用します。 + +@item [prefix] m (野鳥のmaketitle型補完に対応) +@dots{} 要素も属性値も持たないタグを補完入力します。
+などが補完候補に相当します。 + +@item [prefix] a (野鳥のアクセント補完に対応) +@dots{} エンティティ参照による文字表記を入力するときに用います。 +デフォルトでは < (<), > (>), & (&), " ("), ' ('), +ブランク ( ) の補完入力が行えます。 +@end table + +@node Jump, Changing and Deleting, Completion, Top +@comment node-name, next, previous, up +@chapter カーソルジャンプ +文書中のいろいろな場所で + +@table @kbd +@item [prefix] g + @dots{} 対応するオブジェクトにジャンプ +@end table + +@noindent +を押すことにより、カーソル位置のHTML構文に対応する場所にジャンプ +します。対応関係が存在すると解釈されるコマンドには以下のものがあります。 + +@itemize @bullet +@item @code{} ←→ @code{} +@item @code{} → 対応するviewer起動 +@item @code{} → リンク先へのポイント移動 +@item @code{} → Javaソースプログラムへの移動 +@c @item @code{\include(\input)} → 対応するファイル +@end itemize + +@node Changing and Deleting, CSS Support, Jump, Top +@comment node-name, next, previous, up +@chapter 変更/削除 + +@menu +* 対タグの変更:: +* 文字参照への変更:: +* リジョン内文字のURLencode:: +* td括り/tr括り:: +@end menu + +@node 対タグの変更, 文字参照への変更, Changing and Deleting, Changing and Deleting +@comment node-name, next, previous, up +@section 対タグの変更 +文書中のいろいろな場所で + +@table @kbd +@item [prefix] c + @dots{} 対応するタグ等を変更 +@end table + +@noindent +を押すことにより、カーソル位置のHTML構文に応じた +記述内容の変更を行います。カーソル位置と変更する内容の +対応は以下の通りです。 + +@itemize @bullet +@item @code{}〜@code{} +@dots{} @code{TAG} の変更 +@item @code{photo} などの属性値 +@dots{} 属性値の変更 +@end itemize + +@node 文字参照への変更, リジョン内文字のURLencode, 対タグの変更, Changing and Deleting +@comment node-name, next, previous, up +@section 文字参照への変更 +文字としての < や > を表現するときは、文字参照を用いて +< や > と表記する必要がありますが、 +HTML以外のファイルからこれらの文字を含むテキストを張り込んだ場合 +などに、これらの文字を一括して文字参照形式に変換できます。 + +@table @kbd +@item [prefix] ; + @dots{} 指定した領域の文字参照に置き換えるべき文字の置換 +@item [prefix] : + @dots{} 指定した領域の文字参照を参照文字そのものに置換 + ([prefix] ; の逆変換) +@end table + + +@node リジョン内文字のURLencode, td括り/tr括り, 文字参照への変更, Changing and Deleting +@comment node-name, next, previous, up +@section リジョン内文字のURLencode +@table @kbd + @item [prefix] # + @dots{} 指定した領域内に URLencode すべき文字があればそれらを + エンコード表記に置換。 +@end table + +@node td括り/tr括り, , リジョン内文字のURLencode, Changing and Deleting +@comment node-name, next, previous, up +@section td括り/tr括り +空白区切りで書いた表形式の行レコードを 括りの並び, +あるいはそれらをさらに で括った行並びに変換できます。 +@table @kbd + @item [prefix] @} + @dots{} 現在のリジョンにあるデータを空白区切りごとに + ... で括る + @item [prefix] ] + @dots{} 現在のリジョンにある行を + 上記td括りをほどこしてからさらに行ごとに ... で括る +@end table +デフォルトでは空白区切りですが,これを変えるときは +Delimiter: の問い合わせに区切り文字を指定します。たとえばカンマ(,) +を指定するとCSVから表を作ることができます。 + +td以外の要素,具体的には th で括りたい場合は universal-argument +(@kbd{C-u}) をつけて上記2つのコマンドを呼びます。どの要素で括るかの +質問が増えるのでそれに th と入れれば,各フィールドを ... +で括ります。もし,第1フィールドのみ th で,残りを全部 td 括りにしたいとき +は thd と入力して下さい。 + +@node CSS Support, Customizations, Changing and Deleting, Top +@comment node-name, next, previous, up +@chapter CSS(スタイルシート)サポート + +@menu +* CSS-class completion:: +* Reread CSS file:: +@end menu + +@node CSS-class completion, Reread CSS file, CSS Support, CSS Support +@comment node-name, next, previous, up +@section CSSクラス名補完 +HTML屋はCSS(Cascading Style Sheets)のクラス名を補完入力することができます。 +スタイル定義として + +@display + h1.foo, h2.foo @{ background-color: 0xffffff; @} + h1.bar, h2.bar @{ font-size: 120%; @} +@end display + +のようなものがあった場合に、h1またはh2タグを [prefix] b や [prefix] l で補 +完入力した場合に、それらに有効な class 名である foo, bar を候補として補完 +入力することが可能です。また + +@display + .caution @{ font-size: 120%; background-color: 0xc00000;@} +@end display + +のような全てのエレメントに働くclassが定義されていた場合は、全てのタグの補 +完入力時にclass参照入力を求められます。これが煩わしい場合はエレメント名入 +力確定のときにリターンキー(またはC-m)ではなく、C-jを押せばclass補完入力を +キャンセルできます。たとえば + +@display + @kbd{[prefix] l} 行内タグ補完を起動 + (または@kbd{[prefix] l SPC}) + tt をいれたいのでttと入力 + @kbd{C-m} +@end display + +とした場合は続いて class= と補完プロンプトが出ますが、 + +@display + @kbd{[prefix] l} 行内タグ補完を起動 + (または@kbd{[prefix] l SPC}) + tt をいれたいのでttと入力 + @kbd{C-j} +@end display + +と最後を @kbd{C-j} で入力した場合は class 補完プロンプトは出ません。 + +@node Reread CSS file, , CSS-class completion, CSS Support +@comment node-name, next, previous, up +@section CSS定義ファイルの読み直し +htmlファイルを編集中にCSS定義ファイルを修正し、追加した +classを補完候補として直ちに読み込ませたい場合は、 +@kbd{M-x yahtml-mode} として再起動を行ってください。 + +@node Customizations, Copying, CSS Support, Top +@comment node-name, next, previous, up +@chapter カスタマイズ +@cindex カスタマイズ[かすたまいす] +@cindex キーアサイン[きいあさいん] + +yahtmlの動作を制御する変数について説明します。 + +@menu +* All customizable variables:: カスタマイズ変数一覧 +* Hook variables:: hook変数 +@end menu + +@node All customizable variables, Hook variables, Customizations, Customizations +@comment node-name, next, previous, up +@section カスタマイズ変数一覧 + +@defvar yahtml-prefix +yahtml-mode 中のプリフィクスキー (@kbd{\C-c}) +@end defvar + +@defvar yahtml-image-viewer +imgで参照している画像ファイルを表示するときに起動するコマンド (xv) +@end defvar + +@defvar yahtml-www-browser +@kbd{[prefix]g} で外部ページを表示するときに起動するブラウザ (netscape) +@end defvar + +@defvar yahtml-kanji-code +デフォルトの漢字コード。1=sjis, 2=jis, 3=euc, 4=utf-8 (2) +.htaccess ファイルに +@quotation + AddType "text/html; charset=xxx" .html +@end quotation +の記述があった場合はそれに従う +@end defvar + +@defvar yahtml-fill-column +auto-fillするときのカラム数 (72) +@end defvar + +@defvar yahtml-fill-prefix +yahtml-mode 固有のfill-prefix (@code{nil}) +@end defvar + +@defvar yahtml-path-url-alist +OSのファイルシステム上でのフルパス名と、その外部公開時のURLの対応表。 +@end defvar + +@defvar yahtml-directory-index +サーバアクセス時ファイル名を省略したときにデフォルトで開かれる +インデックスファイルの名前。多くの場合 index.html。(@code{"index.html"}) +@end defvar + +@defvar yahtml-lint-program +HTML構文チェックプログラム。(@code{"jweblint"}) +@end defvar + +@defvar yahtml-hate-too-deep-indentation +ネストした列挙系環境でのインデントが深すぎるときにtにする。(@code{nil}) +@end defvar + +@defvar yahtml-always-/p +@code{

} をいれたら必ず @code{

} したい人向け。@code{nil} +@end defvar + +@defvar yahtml-p-prefered-env-regexp +自動的に @code{

} を入れて欲しい環境。 +(@code{"^\\(body\\|dl\\|blockquote\\)"}) +@end defvar + +@defvar yahtml-template-file +新規HTMLファイル作成時に自動的に挿入して欲しいファイル名。 +@file{"~/http/template.html"} +@end defvar + +@defvar yahtml-prefer-upcases +タグに大文字を使いたい。@code{nil} +@end defvar + +@defvar yahtml-prefer-upcase-attributes +属性指定子に大文字を使いたい。@code{nil} +@end defvar + +@defvar yahtml-server-type +Apache系のサーバを利用している場合は 'apache をセットする。 +./.htaccess を参照するかどうかを決定する。@code{'apache} +@end defvar + +@defvar yahtml-apache-access-file +@code{yahtml-server-type} が @code{'apache} のときに +アクセス制限ファイル名を指定。@file{".htaccess"} +@end defvar + +@defvar yahtml-shell-command-option +シェルで別コマンドを起動するときのオプション。 +@end defvar + +@defvar yahtml-translate-hyphens-when-comment-region +領域コメントアウトをするときに既に存在するハイフンを @code{-} に +変更するかどうか。(@code{t}) +@end defvar + +@defvar yahtml-entity-reference-chars-alist +エンティティ参照(Entity Reference)で記述すべき文字群を + @code{'(?文字 . "エンティティ表記")} という形式を列挙した +alistで並べる。デフォルトで @code{<}, @code{>}, @code{&}, @code{'}, +@code{"} に対するalistが設定されているので、追加したい分だけを記述すれば良 +い。cdr部 @code{"エンティティ表記"} は、先頭の @code{&} と 末尾の@code{;} +は含めずに書く。 +@end defvar + +@defvar yahtml-faithful-to-htmllint +構文チェッカとして htmllint を利用する場合ちょっとした余計な空白などに +対しても警告を示すので、これを回避するときにはこの変数を@code{t}に +する。 +@end defvar + +@defvar yahtml-use-css +CSSの補完機能を使うかどうか (@code{t}) +@end defvar + +@defvar yahtml-image-inspection-bytes +画像ファイルのサイズを調べるときに読み込むバイト数 (@code{10000}) +@end defvar + +@defvar yahtml:img-default-alt-format +のALT属性のデフォルト文字列の書式。%xは画像の幅、 +%yは画像の高さ、%sはファイルサイズに置換される (@code{"%xx%y(%sbytes)"}) +@end defvar + +@defvar yahtml-escape-chars +href補完などのときに予約文字をURLエンコードするか; +'askのときは確認してから置換する (@code{'ask}) +@end defvar + +@defvar yahtml-use-font-lock +ソースの色づけパッケージとして font-lock を利用するか +(@code{(featurep 'font-lock)}) +@end defvar + +@defvar yahtml-use-hilit19 +ソースの色づけパッケージとして hilit19 を利用するか +(@code{(featurep 'hilit19)}) +@end defvar + +@defvar yahtml-indentation-boundary +インデント計算を打ち切ってよい境界となる正規表現 +(@code{"^\\s *"}) +@end defvar + +@node Hook variables, , All customizable variables, Customizations +@comment node-name, next, previous, up +@section hook変数 + + +@node Copying, Concept Index, Customizations, Top +@comment node-name, next, previous, up +@chapter 取り扱い + + 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな +る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた +しません。常識的に扱ってください。また、使用している旨をメイルでお知らせい +ただくと、作者は喜んでサポートに励むことでしょう。 + + 苦情、希望、バグ報告、感想等は歓迎いたします。 +連絡は yuuji@@yatex.org まで(2000年12月現在)。 +継続的に使用してくださる方はメイリングリスト「fj野鳥の会」に +是非加入してください。加入方法については本パッケージの @file{docs/htmlqa} +ファイルの「その他」の章を御覧ください。 + +仕様は、予告なく確実に(気分次第で)変更されます:-p。 + +@flushright +広瀬雄二 +@end flushright + + +@node Concept Index, , Copying, Top +@comment node-name, next, previous, up +@unnumbered 索引 +@printindex cp + + +@contents + +@bye + +@c Local Variables: +@c fill-column: 74 +@c fill-prefix: nil +@c buffer-file-coding-system: sjis +@c End: + +Tag table: + +End tag table diff -r 5d8f03ba4285 -r 29ab3f4fcd9e docs/yatexe --- a/docs/yatexe Thu Jan 12 12:27:20 2012 +0900 +++ b/docs/yatexe Mon May 14 18:39:05 2012 +0900 @@ -1,2219 +1,2246 @@ -Info file: yatexe, -*-Text-*- -produced by `texinfo-format-buffer' -from file `yatexe.tex' -using `texinfmt.el' version 2.38 of 3 July 1998. - - - - - - -File: yatexe, Node: Top, Next: What is YaTeX?, Prev: (dir), Up: (dir) - -* Menu: - -* What is YaTeX?:: -* Main features:: What YaTeX can do -* Installation:: Guide to install -* Typesetting:: Call typesetting processes -* %#notation:: Meta-keyword `%#' -* Completion:: Input LaTeX commands with completion -* Local dictionaries:: Directory dependent completion -* Commenting out:: Commenting/uncommenting text -* Cursor jump:: Jumping to related position -* Changing and Deleting:: Changing/deleting certain unit of text -* Filling:: Filling an item or paragraph -* Updation of includeonly:: Free from maintaining includeonly -* What column:: Check what table-column the cursor belong -* Intelligent newline:: Guess requisites of new line -* Usepackage checker:: Selecting correct \usepackage is YaTeX's job -* Online help:: On-line documentation of LaTeX -* Browsing file hierarchy:: Walking through file hierarchy -* Cooperation with other packages:: Work well with gmhist, min-out -* Customizations:: How to breed `Wild Bird' -* Etcetera:: YaTeX is acquisitive. -* Copying:: Redistribution - - - - -File: yatexe, Node: What is YaTeX?, Next: Main features, Prev: Top, Up: Top - -What is YaTeX? -************** - - YaTeX automates typesetting and previewing of LaTeX and enables -completing input of LaTeX mark-up command such as -`\begin{}'..`\end{}'. - - YaTeX also supports Demacs which runs on MS-DOS(386), Mule (Multi -Language Enhancement to GNU Emacs), and latex on DOS. - - - -File: yatexe, Node: Main features, Next: Installation, Prev: What is YaTeX?, Up: Top - -Main features -************* - - * Invocation of typesetter, previewer and related programs(`C-c t') - * Typesetting on static region which is independent from point - * Semiautomatic replacing of `\includeonly' - * Jumping to error line(`C-c '') - * Completing-read of LaTeX commands such as `\begin{}', - `\section' etc. - (`C-c b', `C-c s', `C-c l', `C-c m') - * Enclosing text into LaTeX environments or commands - (`C-u' ABOVEKEYSTROKES) - * Displaying the structure of text at entering sectioning commands - * Lump shifting of sectioning commands (*Note view-sectioning::) - * Learning unknown/new LaTeX commands for the next completion - * Argument reading with a guide for complicated LaTeX commands - * Generating argument-readers for new/unsupported commands(`yatexgen') - * Quick changing or deleting of LaTeX commands(`C-c c', `C-c k') - * Jumping from and to inter-file, begin<->end, ref<->label(`C-c g') - * Blanket commenting out or uncommenting - (`C-c >', `C-c <', `C-c ,', `C-c .') - * Easy input of accent mark, math-mode's commands and Greek letters - (`C-c a', `;', `:') - * Online help for the popular LaTeX commands - (`C-c ?', `C-c /') - * Document files hierarchy browser (`C-c d') - * Adding automatically \usepackage corresponding to inputting LaTeX - macro with completion - * Allow you to forget creating \label{}s, \ref or \cite completion - automatically generate labels. - - - -File: yatexe, Node: Installation, Next: Typesetting, Prev: Main features, Up: Top - -Installation -************ - - Put next two expressions into your `~/.emacs'. - - (setq auto-mode-alist - (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) - (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) - -Next, add certain path name where you put files of YaTeX to your -load-path. If you want to put them in `~/src/emacs', write - - (setq load-path - (cons (expand-file-name "~/src/emacs") load-path)) - -in your `~/.emacs' - - Then, yatex-mode will be automatically loaded when you visit a -file which has extension `.tex'. If yatex-mode is successfully -loaded, mode string on mode line will be turned to "YaTeX". - - - - -File: yatexe, Node: Typesetting, Next: %#notation, Prev: Installation, Up: Top - -Typesetting -*********** - - The prefix key stroke of yatex-mode is `C-c' (Press 'C' with Control -key) by default. If you don't intend to change the prefix key stroke, -assume all `[prefix]' as `C-c' in this document. These key -strokes execute typeset or preview command. - -`[prefix] t j' - ... invoke latex -`[prefix] t r' - ... invoke latex on region -`[prefix] t e' - ... invoke latex on current environment or whole - portion of current formulas in math-mode. -`[prefix] t k' - ... kill current typesetting process -`[prefix] t b' - ... invoke bibtex -`[prefix] t i' - ... invoke makeindex -`[prefix] t d' - ... invoke latex && dvipdfmx -`[prefix] t p' - ... preview -`[prefix] t l' - ... lpr dvi-file -`[prefix] t s' - ... search current string on xdvi-remote - -* Menu: - -* Calling typesetter:: -* Calling previewer:: -* Printing out:: - - - -File: yatexe, Node: Calling typesetter, Next: Calling previewer, Prev: Typesetting, Up: Typesetting - -Calling typesetter -================== - - Typing `[prefix] t j', the current editing window will be divided -horizontally when you invoke latex command, and log message of LaTeX -typesetting will be displayed in the other window; called typesetting -buffer. The typesetting buffer automatically scrolls up and traces LaTeX -warnings and error messages. If you see latex stopping by an error, you -can send string to latex in the typesetting buffer. - - If an error stops the LaTeX typesetting, this key stroke will move the -cursor to the line where LaTeX error is detected. - -`[prefix] '' -`([prefix]+single quotation)' - - ... jump to the previous error or warning - - If you find a noticeable error, move to the typesetting buffer and move -the cursor on the line of error message and type `SPACE' key. This makes -the cursor move to corresponding source line. - - YaTeX-typeset-region invoked by `[prefix] tr' call typesetter for -region. The region is specified by standard point and mark, or by -`%#BEGIN' and `%#END' marks. Selected region will be copied to the -temporary file `texput.tex' with the same preamble as the main file of -current editing sources. Be sure to put all local macro settings in -preamble, not after `\begin{document}'. The method of specification of -the region is shown in the section *Note %#notation::. - - The documentclass for typeset-region is the same as that of editing file -if you edit one file, and is the same as main file's if you edit splitting -files. - - The `[prefix] te' key automatically marks current inner environment or -inner math mode and then call typeset-region with marked region. This is -convenient to quick view of current tabular environment or current editing -formulas. Keeping previewer window for `texput.dvi' is handy for -debugging. Since `[prefix] te' selects the inner-most environment as -region, it is not suitable for partial typesetting of doubly or more -composed environment. If you want to do partial typesetting for a nested -environment, use `[prefix] tr' for static-region, which is described in -the section *Note %#notation::. - - - -File: yatexe, Node: Calling previewer, Next: Printing out, Prev: Calling typesetter, Up: Typesetting - -Calling previewer -================= - - `[prefix] t p' invokes the TeX previewer. And if you are using -xdvi-remote, which can be controled from other terminals, `[prefix] t s' -enables you to search current string at the cursor on the running xdvi -window. - - - -File: yatexe, Node: Printing out, Prev: Calling previewer, Up: Typesetting - -Printing out -============ - - When you type `[preifx] t l', YaTeX asks you the range of dvi-printing -by default. You can skip this by invoking it with universal-argument as -follows: - - C-u [prefix] tl - - - -File: yatexe, Node: %#notation, Next: Completion, Prev: Typesetting, Up: Top - -%# notation -*********** - - You can control the typesetting process by describing `%#' notations in -the source text. - -* Menu: - -* Changing typesetter:: -* Splitting input files:: -* Static region for typesetting:: -* Lpr format:: -* Editing %# notation:: - - - -File: yatexe, Node: Changing typesetter, Next: Splitting input files, Prev: %#notation, Up: %#notation - -To change the `latex' command or to split a source text. -======================================================== - - To change the typesetting command, write - - %#!latex-big - -anywhere in the source text. This is useful for changing typesetter. - - - -File: yatexe, Node: Splitting input files, Next: Static region for typesetting, Prev: Changing typesetter, Up: %#notation - -Splitting input files -===================== - - And if you split the source text and edit subfile that should be -included from main text. - - %#!latex main.tex - -will be helpful to execute latex on main file from sub text buffer. Since -this command line after `%#!' will be sent to shell literally, next -description makes it convenient to use ghostview as dvi-previewer. - - %#!latex main ; dvi2ps main.dvi > main - -Note that YaTeX assumes the component before the last period of the last -word in this line as base name of the main LaTeX source. The `%f' -notation in this line is replaced by main file name, and `%r' replaced by -root name of main file name. If you specify `%f' or `%r', YaTeX always -ask you the name of main file at the first typesetting. - - To make best use of the feature of inter-file jumping by `[prefix] g' -(see *Note Cursor jump::), take described below into consideration. - - * You can put split texts in sub directory, but not in sub directory of - sub directory. - * In the main text, specify the child file name with relative path name - such as \include{chap1/sub}, when you include the file in a - sub-directory. - * In a sub-text, write `%#!latex main.tex' even if `main.tex' is in the - parent directory(not %#!latex ../main.tex). - - - -File: yatexe, Node: Static region for typesetting, Next: Lpr format, Prev: Splitting input files, Up: %#notation - -Static region -============= - - Typeset-region by `[prefix] tr' passes the region between point and mark -to typesetting command by default. But when you want to typeset static -region, enclose the region by `%#BEGIN' and `%#END' as follows. - - %#BEGIN - TheRegionYouWantToTypesetManyTimes - %#END - -This is the rule of deciding the region. - - 1. If there exists %#BEGIN before point, - - 1. If there exists %#END after %#BEGIN, - * From %#BEGIN to %#END. - - 2. If %#END does not exist after %#BEGIN, - * From %#BEGIN to the end of buffer. - - 2. If there does not exist %#BEGIN before point, - * Between point and mark(standard method of Emacs). - - It is useful to write `%#BEGIN' in the previous line of \begin and -`%#END' in the next line of \`end' when you try complex environment such -as `tabular' many times. It is also useful to put only `%#BEGIN' alone at -the middle of very long text. Do not forget to erase `%#BEGIN' `%#END' -pair. - - - -File: yatexe, Node: Lpr format, Next: Editing %# notation, Prev: Static region for typesetting, Up: %#notation - -Lpr format -========== - - Lpr format is specified by three Lisp variables. Here are the default -values of them. - -`(1)dviprint-command-format' - `"dvi2ps %f %t %s | lpr"' -`(2)dviprint-from-format' - `"-f %b"' -`(3)dviprint-to-format' - `"-t %e"' - - On YaTeX-lpr, `%s' in (1) is replaced by the file name of main text, -`%f' by contents of (2), %t by contents of (3). At these replacements, -`%b' in (2) is also replaced by the number of beginning page, `%e' in (3) -is replaced by the number of ending page. But `%f' and `%t' are ignored -when you omit the range of print-out by `C-u [prefix] tl'. - - If you want to change this lpr format temporarily, put a command such as -follows somewhere in the text: - - %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2 - - And if you want YaTeX not to ask you the range of printing out, the next -example may be helpful. - - %#LPR dvi2ps %s | lpr - - - -File: yatexe, Node: Editing %# notation, Prev: Lpr format, Up: %#notation - -Editing %# notation -=================== - - To edit `%#' notation described above, type - -`[prefix] %' - ... editing %# notation menu - -and select one of the entry of the menu as follows. - - !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR - -Type `!' to edit `%#!' entry, `b' to enclose the region with `%#BEGIN' and -`%#END', and `l' to edit `%#LPR' entry. When you type `b', all `%#BEGIN' -and `%#END' are automatically erased. - - - -File: yatexe, Node: Completion, Next: Local dictionaries, Prev: %#notation, Up: Top - -Completion -********** - - YaTeX makes it easy to input the LaTeX commands. There are several -kinds of completion type, begin-type, section-type, large-type, etc... - -* Menu: - -* Begin-type completion:: -* Section-type completion:: -* Large-type completion:: -* Maketitle-type completion:: -* Arbitrary completion:: -* End completion:: -* Accent completion:: -* Image completion:: -* Greek letters completion:: - - - -File: yatexe, Node: Begin-type completion, Next: Section-type completion, Prev: Completion, Up: Completion - -Begin-type completion -===================== - - "Begin-type completion" completes commands of `\begin{env}' ... -`\end{env}'. All of the begin-type completions begin with this key -sequence. - -`[prefix] b' - ... start begin-type completion - -An additional key stroke immediately completes a frequently used LaTeX -`\begin{}'...`\`end'{}' environment. - -`[prefix] b c' - ... `\begin{center}...\end{center}' -`[prefix] b d' - ... `\begin{document}...\end{document}' -`[prefix] b D' - ... `\begin{description}...\end{description}' -`[prefix] b e' - ... `\begin{enumerate}...\end{enumerate}' -`[prefix] b E' - ... `\begin{equation}...\end{equation}' -`[prefix] b i' - ... `\begin{itemize}...\end{itemize}' -`[prefix] b l' - ... `\begin{flushleft}...\end{flushleft}' -`[prefix] b m' - ... `\begin{minipage}...\end{minipage}' -`[prefix] b t' - ... `\begin{tabbing}...\end{tabbing}' -`[prefix] b T' - ... `\begin{tabular}...\end{tabular}' -`[prefix] b^T' - ... `\begin{table}...\end{table}' -`[prefix] b p' - ... `\begin{picture}...\end{picture}' -`[prefix] b q' - ... `\begin{quote}...\end{quote}' -`[prefix] b Q' - ... `\begin{quotation}...\end{quotation}' -`[prefix] b r' - ... `\begin{flushright}...\end{flushright}' -`[prefix] b v' - ... `\begin{verbatim}...\end{verbatim}' -`[prefix] b V' - ... `\begin{verse}...\end{verse}' - - Any other LaTeX environments are made by completing-read of the Emacs -function. - -`[prefix] b SPACE' - ... begin-type completion - -The next message will show up in the minibuffer - - Begin environment(default document): - -by typing `[prefix] b'. Put the wishing environment with completion in -the minibuffer, and `\begin{env}'...\`\end{env}' will be inserted in the -LaTeX source text. If the environment you want to put does not exist in -the YaTeX completion table, it will be registered in the user completion -table. YaTeX automatically saves the user completion table in the user -dictionary file at exiting of emacs. - -At the completion of certain environments, the expected initial entry will -automatically inserted such as `\item' for `itemize' environment. If you -don't want the entry, it can be removed by undoing. - - If you want to enclose some paragraphs which have already been written, -invoke the begin-type completion with changing the case of `b' of key -sequence upper(or invoke it with universal argument by `C-u' prefix). - - The following example encloses a region with `description' environment. - -`[prefix] B D' -`(or ESC 1 [prefix] b D)' -`(or C-u [prefix] b D)' - - ... begin-type completion for region - - This enclosing holds good for the completing input by `[prefix] b SPC'. -`[prefix] B SPC' enclose a region with the environment selected by -completing-read. - - - -File: yatexe, Node: Section-type completion, Next: Large-type completion, Prev: Begin-type completion, Up: Completion - -Section-type completion -======================= - - "Section-type completion" completes section-type commands which take an -argument or more such as `\section{foo}'. To invoke section-type -completion, type - -`[prefix] s' - ... section-type completion - -then the prompt - - (C-v for view) \???{} (default documentclass): - -will show up in the minibuffer. Section-type LaTeX commands are completed -by space key, and the default value is selected when you type nothing in -the minibuffer. - - Next, - - \section{???}: - -prompts you the argument of section-type LaTeX command. For example, the -following inputs - - \???{} (default documentclass): section - \section{???}: Hello world. - -will insert the string - - \section{Hello world.} - -in your LaTeX source. When you neglect argument such as - - (C-v for view) \???{} (default section): vspace* - \vspace*{???}: - -YaTeX puts - - \vspace*{} - -and move the cursor in the braces. - - In LaTeX command, there are commands which take more than one arguments -such as `\addtolength{\topmargin}{8mm}'. To complete these commands, -invoke section-type completion with universal argument as, - - C-u 2 [prefix] s (or ESC 2 [prefix] s) - -and make answers in minibuffer like this. - - (C-v for view) \???{} (default vspace*): addtolength - \addtolength{???}: \topmargin - Argument 2: 8mm - -`\addtolength' and the first argument `\topmargin' can be typed easily by -completing read. Since YaTeX also learns the number of arguments of -section-type command and will ask that many arguments in future -completion, you had better tell the number of arguments to YaTeX at the -first completion of the new word. But you can change the number of -arguments by calling the completion with different universal argument -again. - - - Invoking section-type completion with `[Prefix] S' (Capital `S') -includes the region as the first argument of section-type command. - - The section/large/maketitle type completion can work at the prompt for -the argument of other section-type completion. Nested LaTeX commands are -efficiently read with the recursive completion by typing YaTeX's -completion key sequence in the minibuffer. - -* Menu: - -* view-sectioning:: - - - -File: yatexe, Node: view-sectioning, Prev: Section-type completion, Up: Section-type completion - -view-sectioning ---------------- - - In the minibuffer at the prompt of section-type command completion, -typing `C-v' shows a list of sectioning commands in source text(The line -with `<<--' mark is the nearest sectioning command). Then, default -sectioning command appears in the minibuffer. You can go up/down -sectioning command by typing `C-p'/`C-n', can scrolls up/down the listing -buffer by `C-v'/`M-v', and can hide sectioning commands under certain -level by 0 through 6. Type `?' in the minibuffer of sectioning prompt -for more information. - - You can generate this listing buffer (`*Sectioning Lines*' buffer) by -typing -`M-x YaTeX-section-overview' - ... Generate *Sectioning Lines* buffer - -from the LaTeX source buffer. In this listing buffer, typing `u' on the -sectioning command shifts up the corresponding sectioning command in -source text and `d' shifts down. After marking lines in the listing -buffer, typing `U' shifts up all sectioning commands in the region, and -`U' shifts down. Here are all the key bindings of `*Sectioning Lines*' -buffer. - -`SPC' - ... Jump to corresponding source line -`.' - ... Display corresponding source line -`u' - ... Shift up a sectioning line -`d' - ... Shift down a sectioning line -`U' - ... Shift up sectioning lines in region -`D' - ... Shift down sectioning lines in region -`0...6' - ... Hide sectioning commands whose level is lower than n - - - - -File: yatexe, Node: Large-type completion, Next: Maketitle-type completion, Prev: Section-type completion, Up: Completion - -Large-type completion -===================== - - "Large-type completion" inputs the font or size changing descriptions -such as `{\large }'. When you type - -`[prefix] l' - ... large-type completion - -the message in the minibuffer - - {\??? } (default large): - -prompts prompts you large-type command with completing-read. There are -TeX commands to change fonts or sizes, `it', `huge' and so on, in the -completion table. - - Region-based completion is also invoked by changing the letter after -prefix key stroke as `[prefix] L'. It encloses the region by braces with -large-type command. - - - -File: yatexe, Node: Maketitle-type completion, Next: Arbitrary completion, Prev: Large-type completion, Up: Completion - -Maketitle-type completion -========================= - - We call it "maketitle-type completion" which completes commands such as -`\maketitle'. Take notice that maketitle-type commands take no arguments. -Then, typing - -`[prefix] m' - ... maketitle-type completion - -begins maketitle-completion. Above mentioned method is true for -maketitle-completion, and there are LaTeX commands with no arguments in -completion table. - - - -File: yatexe, Node: Arbitrary completion, Next: End completion, Prev: Maketitle-type completion, Up: Completion - -Arbitrary completion -==================== - - You can complete certain LaTeX command anywhere without typical -completing method as described, by typing - -`[prefix] SPC' - ... arbitrary completion - -after the initial string of LaTeX command that is preceded by `\'. - - - -File: yatexe, Node: End completion, Next: Accent completion, Prev: Arbitrary completion, Up: Completion - -End completion -============== - - YaTeX automatically detects the opened environment and close it with -\`\end{environment}'. Though proficient YaTeX users never fail to make -environment with begin-type completion, some may begin an environment -manually. In that case, type - -`[prefix] e' - ... `end' completion - -at the end of the opened environment. - - - -File: yatexe, Node: Accent completion, Next: Image completion, Prev: End completion, Up: Completion - -Accent completion -================= - - When you want to write the European accent marks(like `\`{o}'), - -`[prefix] a' - ... accent completion - -shows the menu - - 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b - -in the minibuffer. Chose one character or corresponding numeric, and you -will see - - \`{} - -in the editing buffer with the cursor positioned in braces. Type one more -character `o' for example, then - - \`{o} - -will be completed, and the cursor gets out from braces. - - - -File: yatexe, Node: Image completion, Next: Greek letters completion, Prev: Accent completion, Up: Completion - -Image completion of mathematical sign -===================================== - - Arrow marks, sigma mark and those signs mainly used in the TeX's math -environment are completed by key sequences which imitate the corresponding -symbols graphically. This completion only works in the math environment. -YaTeX automatically detects whether the cursor located in math environment -or not, and change the behavior of key strokes `;' and `:'. - - By the way, we often express the leftarrow mark by `<-' for example. -Considering such image, you can write `\leftarrow' by typing `<-' after -`;' (semicolon) as a prefix. In the same way, `\longleftarrow' (`<--') is -completed by typing `;<--', infinity mark which is imitated by `oo' is -completed by typing `;oo'. - - Here are the sample operations in YaTeX math-mode. - - INPUT Completed LaTeX commands - ; < - `\leftarrow' - ; < - - `\longleftarrow' - ; < - - > `\longleftrightarrow' - ; o `\circ' - ; o o `\infty' - - In any case, you can quit from image completion and can move to the next -editing operation if the LaTeX command you want is shown in the buffer. - - `;' itself in math-environment is inserted by `;;'. Typing `TAB' in the -midst of image completion shows all of the LaTeX commands that start with -the same name as string you previously typed in. In this menu buffer, -press `RET' after moving the cursor (by `n', `p', `b', `f') to insert the -LaTeX command. - - To know all of the completion table, type `TAB' just after `;'. And -here is the sample menu by `TAB' after `;<'. - - KEY LaTeX sequence sign - < \leq < - ~ - << \ll << - <- \leftarrow <- - <= \Leftarrow <= - - You can define your favorite key-vs-sequence completion table in the -Emacs-Lisp variable `YaTeX-math-sign-alist-private'. See also -`yatexmth.el' for the information of the structure of this variable. - - - -File: yatexe, Node: Greek letters completion, Prev: Image completion, Up: Completion - -Greek letters completion -======================== - - Math-mode of YaTeX provides another image completion, Greek letters -completion in the same method. After prefix `:', typing `a' makes -`\alpha', `b' makes `\beta' and `g' makes `\gamma' and so on. First, type -`:TAB' to know all the correspondence of alphabets vs. Greek letters. - - If you will find `;' or `:' doesn't work in correct position of math -environment, it may be a bug of YaTeX. Please send me a bug report with -the configuration of your text, and avoid it temporarily by typing `;' or -`:' after universal-argument(`C-u') which forces `;' and `:' to work as -math-prefix. - - - -File: yatexe, Node: Local dictionaries, Next: Commenting out, Prev: Completion, Up: Top - -Local dictionaries -****************** - - Tables for completion consist of three dictionaries; `standard -dictionary' built in `yatex.el', `user dictionary' for your common private -commands, and `local dictionary' that is effective in a certain directory. - - When you input the command unknown to YaTeX at a completion in the -minibuffer, YaTeX asks you with the following prompt; - - `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard - -In this menu, typing `u' updates your `user dictionary', `l' updates your -local dictionary, `n' updates only on-memory dictionary which go through -only current Emacs session, and `d' updates no dictionary and throws the -new word away. - - If you find this switching feature meaningless and bothersome, put the -next expression into your `~/.emacs' - - (setq YaTeX-nervous nil) - - - -File: yatexe, Node: Commenting out, Next: Cursor jump, Prev: Local dictionaries, Up: Top - -Commenting out -************** - - You may want to comment out some region. - -`[prefix] >' - ... comment out region by % -`[prefix] <' - ... uncomment region - -cause an operation to the region between point and mark. - -`[prefix] .' - ... comment out current paragraph -`[prefix] ,' - ... uncomment current paragraph - -comments or uncomments the paragraph where the cursor belongs. This -`paragraph' means the region marked by the function mark-paragraph, bound -to `ESC h' by default. It is NOT predictable what will happen when you -continuously comment out some paragraph many times. - - You can also comment out an environment between `\begin' and `\end', or -a `\begin'-\`\end' pair themselves, by making the following key strokes on -the line where `\begin{}' or `\end{}' exists. - -`[prefix] >' - ... comment out from \begin to \`end' -`[prefix] <' - ... uncomment from \begin to \`end' - -comment whole the contents of environment. Moreover, - -`[prefix] .' - ... comment out \begin and \`end' -`[prefix] ,' - ... uncomment \begin and \`end' - -(un)comments out only environment declaration: `\begin{}' and `\end{}'. -NOTE that even if you intend to comment out some region, invoking -`[prefix] >' on the `\begin',`\end' line decides to work in `commenting -out from `\begin' to `\end'' mode. - - - - -File: yatexe, Node: Cursor jump, Next: Changing and Deleting, Prev: Commenting out, Up: Top - -Cursor jump -*********** - - -* Menu: - -* Jump to corresponding object:: -* Invoking image processor:: -* Jump to main file:: -* Jumping around the environment:: -* Jumping to last completion position:: - - - -File: yatexe, Node: Jump to corresponding object, Next: Invoking image processor, Prev: Cursor jump, Up: Cursor jump - -Jump to corresponding object -============================ - - Typing - -`[prefix] g' - ... go to corresponding object - -in a certain place move the cursor to the place corresponding to the LaTeX -command of last place. YaTeX recognize the followings as pairs that have -relation each other. - - * `\begin{}' <-> `\end{}' - * `%#BEGIN' <-> `%#END' - * On the image-including line -> corresponding viewer or drawing tool - * `\label{}' <-> `\ref{}' - * `\include(\input)' -> included file - * `\bibitem{}' <-> `\cite{}' - - On a `\begin',`\end' line, typing `[prefix] g' moves the cursor to the -corresponding `\end',`\begin' line, if its partner really exists. The -behavior on the line `%#BEGIN' and `%#END' are the same. Note that if the -correspondent of `label/ref' or `cite/bibitem' exists in another file, -that file have to be opened to make a round trip between references by -`[prefix] g'. - - If you type `[prefix] g' on the line of `\include{chap1}', typically in -the main text, YaTeX switches buffer to `chap1.tex'. - -`[prefix] 4 g' - ... go to corresponding object in other window - -do the same job as `[prefix] g' except it's done in other window. Note -that this function doesn't work on `begin/end', `%#BEGIN/%#END' pairs -because it is meaningless. - - - -File: yatexe, Node: Invoking image processor, Next: Jump to main file, Prev: Jump to corresponding object, Up: Cursor jump - -Invoking image processor -======================== - - -`image-including line' described above means such lines as -`\epsfile{file=foo.ps}'. If you type `[prefix] g' on that line, YaTeX -automatically searches source of `foo.ps' and invokes image viewer or -drawing tool correspoinding to it. For example; if you draw an image -foo.obj with Tgif and enclose its product named foo.eps by `\epsfile' -command. Typing `[prefix] g' on `\epsfile' line make YaTeX invoke `tgif -foo.obj'. How a processor is choosen is as follows. - - 1. If there is an expression matching with one of the pattern defined in - `YaTeX-processed-file-regexp-alist', extract file name from regexp - group surrounded by \\(\\). (Which group corresponds is written in - the cdr part of each list.) If no matches were found, do nothing. - 2. If there is a pattern as `%PROCESSOR' which is defined in the - variable `YaTeX-file-processor-alist', call that processor giving the - file name with corresponding extension. - 3. If not, check the existence of each file which is supplied the - extension in the cdr part of each list of - `YaTeX-file-processor-alist'. If any, call the corresponding image - viewer or drawing tool. - - - -File: yatexe, Node: Jump to main file, Next: Jumping around the environment, Prev: Invoking image processor, Up: Cursor jump - -Jump to main file -================= - - Typing - -`[prefix] ^' - ... visit main file -`[prefix] 4^' - ... visit main file in other buffer - -in a sub text switch the buffer to the main text specified by `%#!' -notation. - - - -File: yatexe, Node: Jumping around the environment, Next: Jumping to last completion position, Prev: Jump to main file, Up: Cursor jump - -Jumping around the environment -============================== - - And these are the functions which work on the current LaTeX environment: - -`M-C-a' - ... beginning of environment -`M-C-e' - ... `end' of environment -`M-C-@' - ... mark environment - - - -File: yatexe, Node: Jumping to last completion position, Prev: Jumping around the environment, Up: Cursor jump - -Jumping to last completion position -=================================== - -YaTeX always memorize the position of completion into register `3'. So -every time you make a trip to any other part of text other than you are -writing, you can return to the editing paragraph by calling -register-to-point with argument YaTeX-current-position-register, which is -achieved by typing `C-x j 3'(by default). - - - -File: yatexe, Node: Changing and Deleting, Next: Filling, Prev: Cursor jump, Up: Top - -Changing and Deleting -********************* - - These functions are for change or deletion of LaTeX commands already -entered. - -`[prefix] c' - ... change LaTeX command -`[prefix] k' - ... kill LaTeX command - -* Menu: - -* Changing LaTeX commands:: -* Killing LaTeX commands:: - - - -File: yatexe, Node: Changing LaTeX commands, Next: Killing LaTeX commands, Prev: Changing and Deleting, Up: Changing and Deleting - -Changing LaTeX commands -======================= - -`[prefix] c' can change the various (La)TeX commands. This can change the -followings. - * Environment names - * Section-type commands - * Argument of section-type commands - * Optional parameters (enclosed by []) of section-type commands - * Font/size designators - * Math-mode's maketitle-type commands that can be inputted with image - completion - - Typing `[prefix] c' on one of above objects you want to change brings a -suitable reading function sometimes with completion. Note: If you want to -change the argument of section-type command that contains other LaTeX -commands, type `[prefix] c' either of surrounding braces of the argument -in order to make YaTeX ignore the internal LaTeX sequences as an object of -changing. Anyway, it is very difficult to know which argument position -the cursor belongs because the LaTeX commands can be nested and braces can -freely emerge. So keep it mind to put the cursor on a brace when you are -thinking of changing a complicated argument. - - - -File: yatexe, Node: Killing LaTeX commands, Prev: Changing LaTeX commands, Up: Changing and Deleting - -Killing LaTeX commands -====================== - - `[prefix] k' kills the LaTeX commands sometimes with their arguments. -Following table illustrates the correspondence of the invoking position -and what is killed. - - [Invoking position] [action] - \begin, \end line kill \begin,\end pairs - %#BEGIN, %#END line kill %#BEGIN,%#END pairs - on a Section-type command kill section-type command - on a parenthesis kill parentheses - -Note that when killing `\begin, \end' or `%#BEGIN, %#END' pair, the lines -`\begin, \end' or `%#BEGIN, %#END' exist will be killed entirely. So take -care not to create any line that contains more than one `\begin' or so. - -While all operations above are to kill `containers' which surround some -text, universal argument (`C-u') for these commands kills not only -`containers' but also `contents' of them. See below as a sample. - - Original text: [prefix] k C-u [prefix] k - Main \footnote{note} here. Main note here. Main here. - ~(cursor) - - - -File: yatexe, Node: Filling, Next: Updation of includeonly, Prev: Changing and Deleting, Up: Top - -Filling -******* - - -Filling an item -=============== - - To fill a term (descriptive sentences) of `\item', type - -`M-q' - ... fill item - -on that item. - - YaTeX uses the value of the variable `YaTeX-item-regexp' as the regular -expression to search item header in itemize environment. If you make a -newcommand to itemize terms(e.g. `\underlineitem'), put - - (setq YaTeX-item-regexp - "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)") - -in your `~/.emacs'. If you are not familiar with regular expression for -Emacs-Lisp, name a newcommand for `itemize' beginning with `\item' such as -`\itembf', not `\bfitem'. - - This function reformats the `\item' into `hang-indented' style. For -example: - - itemize, enumerate environment: - > - >\item[foo] `foo' is the typical word for describing an - > arbitrarily written.... - description environment: - > \item[bar] When the word `for' is used as an arbitrarily - > word, `bar' is bound to follow it. - - Note that the indent depth of an `\item' word and its descriptive -paragraph are the same in latter case. If you want to use different -depth, invoke fill-paragraph at the beginning of non-whitespace -character(see below). - - -Filling paragraph -================= - - Fill-paragraph is little bit adapted for LaTeX sources. It retains from -filling in certain environments where formatting leads to a disaster such -as verbatim, tabular, or so. And it protects `\verb' expressions from -being folded (The variable `YaTeX-verb-regexp' controls this). Besides, -putting cursor on the first occurrence of non-whitespace character on a -line changes the fill-prefix temporarily to the depth of the line. - - - -File: yatexe, Node: Updation of includeonly, Next: What column, Prev: Filling, Up: Top - -Updation of `\includeonly' -************************** - - When you edit splitting source texts, the notation - - \includeonly{CurrentEditingFileName} - -in the main file reduces the time of typesetting. If you want to hack -other file a little however, you have to rewrite it to - - \includeonly{OtherFileNameYouWantToFix} - -in the main file. YaTeX automatically detects that the current edited -text is not in includeonly list and prompts you - - A)dd R)eplace %)comment? - -in the minibuffer. Type `a' if you want to add the current file name to -`\includeonly' list, `r' to replace \`includeonly' list with the current -file, and type `%' to comment out the `\includeonly' line. - - - -File: yatexe, Node: What column, Next: Intelligent newline, Prev: Updation of includeonly, Up: Top - -What column? -************ - - We are often get tired of finding the corresponding column in large -tabulars. For example, - - \begin{tabular}{|c|c|c|c|c|c|c|c|}\hline - Name&Position&Post No.&Addr.&Phone No.&FAX No.& - Home Addr.&Home Phone\\ \hline - Thunder Bird & 6 & 223 & LA & xxx-yyy & - zzz-www & Japan & 9876-54321 \\ - & 2 & \multicolumn{2}{c|}{Unknown} - &&&(???) - \\ \hline - \end{tabular} - -Suppose you have the cursor located at `(???)' mark, can you tell which -column it is belonging at once? Maybe no. In such case, type - -`[prefix] &' - ... What column - -in that position. YaTeX tells you the column header of the current field. -Since YaTeX assumes the first line of tabular environment as a row of -column headers, you can create a row of virtual column headers by putting -them in the first line and commenting that line with `%'. - - - -File: yatexe, Node: Intelligent newline, Next: Usepackage checker, Prev: What column, Up: Top - -Intelligent newline -******************* - - At the end of begin-type completion of tabular[*], array, itemize, -enumerate or tabbing environment, or typing - -`ESC RET' - ... Intelligent newline - -in these environments inserts the contents corresponding to the current -environment in the next line. (At the begin-type completion, this -contents can be removed by `undo'.) In `tabular' environment, for -example, `ESC RET' inserts the certain number of `&' and trailing `\\', -and `\hline' if other `\hline' is found in backward. Here are the list of -contents vs. environments. - - * `tabular', `tabular*', `array' - - Corresponding number of `&' and `\\'. And `\hline' if - needed. - - * `tabbing' - - The same number of `\>' as `\=' in the first line. - - * `itemize', `enumerate', `description', `list' - - `\item' or `item[]'. - - Note that since this function works seeing the contents of the first -line, please call this after the second line if possible. - - If you want to apply these trick to other environments, `foo' -environment for example, define the function named -`YaTeX-intelligent-newline-foo' to insert corresponding contents. That -function will be called at the beginning of the next line after the -newline is inserted to the current line. Since the function -`YaTeX-indent-line' is designed to indent the current line properly, -calling this function before your code to insert certain contents must be -useful. See the definition of the function -`YaTeX-intelligent-newline-itemize' as an example. - - - -File: yatexe, Node: Usepackage checker, Next: Online help, Prev: Intelligent newline, Up: Top - -Usepackage checker -****************** - -When you input begint-type, section-type, maketitle-type macros with -completion, and it requires some LaTeX2e package, YaTeX examines the -existence of correct `\usepackage'. If not, YaTeX inserts the -`\usepackage{}' declaration corresponding to input macro. - -To activate the package completion for your favarite package, set the -variable `YaTeX-package-alist-private' correctly. Please refere the value -of `YaTeX-package-alist-default' as an example. - - - -File: yatexe, Node: Online help, Next: Browsing file hierarchy, Prev: Usepackage checker, Up: Top - -Online help -*********** - - YaTeX provides you the online help with popular LaTeX commands. - - Here are the key strokes for the online help. - -`[prefix] ?' - ... Online help -`[prefix] /' - ... Online apropos - - -Online help -=========== - - `Online help' shows the documentation for the popular LaTeX -commands(defaults to the commands on the cursor) in the next buffer. -There are two help file, `global help' and `private help'. The former -file contains the descriptions on the standard LaTeX command and is -specified its name by variable `YaTeX-help-file'. Usually, the global -help file should be located in public space (`$EMACSEXECPATH' by default) -and should be world writable so that anyone can update it to enrich its -contents. The latter file contains descriptions on non-standard or -personal command definitions and is specified by -`YaTeX-help-file-private'. This file should be put into private -directory. - - -Online apropos -============== - - `Online apropos' is an equivalent of GNU Emacs's apropos. It shows all -the documentations that contains the keyword entered by the user. - - -When no descriptions are found... -================================= - - If there is no description on a command in help files, YaTeX requires -you to write a description on that command. If you are willing to do, -determine which help file to add and write the description on it referring -your manual of (La)TeX. Please send me your additional descriptions if -you describe the help on some standard commands. I might want to include -it in the next distribution. - - - -File: yatexe, Node: Browsing file hierarchy, Next: Cooperation with other packages, Prev: Online help, Up: Top - -Browsing file hierarchy -*********************** - - When you are editing multi-file source, typing - -`[prefix] d' - ... browse file hierarchy - -asks you the parent-most file (which may be defaulted) and displays the -documentation hierarchy in the next window. In this buffer, the following -commands are available. - -`n' - ... move to the next line and show its contents -`p' - ... move to the previous line and show its contents -`N' - ... move to the next file in the same inclusion level -`P' - ... move to the previous file in the same inclusion level -`j' - ... move to the next line -`k' - ... move to the previous line -`u' - ... move to the parent file -`.' - ... show the current files contents in the next window -`SPC' - ... scroll up the current file window -`DEL, b' - ... scroll down the current file window -`<' - ... show the beginning of the current file -`>' - ... show the end of the current file -`>' - ... return to the previous postion after `<' or `>' -`RET, g' - ... open the current file in the next window -`mouse-2' - ... same as RET(available only with window system) -`o' - ... other window -`1' - ... delete other windows -`-' - ... shrink hierarchy buffer window -`+' - ... enlarge hierarchy buffer window -`?' - ... describe mode -`q' - ... quit - - Note that operations on the file contents in the next window do not work -correctly when you close the corresponding file. - - - -File: yatexe, Node: Cooperation with other packages, Next: Customizations, Prev: Browsing file hierarchy, Up: Top - -Cooperation with other packages -******************************* - - YaTeX works better with other brilliant packages. - - -gmhist -====== - - When you are loading `gmhist.el' and `gmhist-mh.el', you can use -independent command history list at the prompt of preview command -(`[prefix] tp') and print command (`[prefix] tl'). On each prompt, you -can enter the previous command line string repeatedly by typing `M-p'. - - -min-out -======= - - `min-out', the outline minor mode, can be used in yatex-mode buffers. -If you want to use it with YaTeX, please refer the file `yatexm-o.el' as -an example. - - - -File: yatexe, Node: Customizations, Next: Etcetera, Prev: Cooperation with other packages, Up: Top - -Customizations -************** - - You can customize YaTeX by setting Emacs-Lisp variables and by making -add-in functions. - -* Menu: - -* Lisp variables:: -* Add-in functions:: -* Add-in generator:: - - - -File: yatexe, Node: Lisp variables, Next: Add-in functions, Prev: Customizations, Up: Customizations - -Lisp variables -============== - - You can change the key assignments or make completion more comfortable -by setting the values of various variables which control the movement of -yatex-mode. - - For example, if you want to change the prefix key stroke from `C-c' to -any other sequence, set YaTeX-prefix to whatever you want to use. If you -don't want to use the key sequence `C-c letter' which is assumed to be the -user reserved sequence in Emacs world, set `YaTeX-inhibit-prefix-letter' -to `t', and all of the default key bind of `C-c letter' will turn to the -corresponding `C-c C-letter' (but the region based completions that is -invoked with `C-c Capital-letter' remain valid, if you want to disable -those bindings, set that variable to 1 instead of `t'). - -* Menu: - -* All customizable variables:: -* Sample definitions:: -* Hook variables:: -* Hook file:: - - - -File: yatexe, Node: All customizable variables, Next: Sample definitions, Prev: Lisp variables, Up: Lisp variables - -All customizable variables --------------------------- - - Here are the customizable variables of yatex-mode. Each value setq-ed -in `~/.emacs' is preferred and that of defined in `yatex.el' is neglected. -Parenthesized contents stands for the default value. When you are to -change some of these variables, see more detailed documentation of the -variable by `M-x describe-variable'. - - -- Variable: YaTeX-japan - Set this nil to produce all messages in English (`Depends on Japanese - feature of Emacs') - - -- Variable: YaTeX-kanji-code - Default buffer-file-coding-system for YaTeX modes' buffer. Set this - 0 to no language conversion. Nil to preserve original - coding-system. 1=Shift JIS, 2=JIS, 3=EUC, 4=UTF-8 (`1 or 2') - - -- Variable: YaTeX-prefix - Prefix key stroke (`C-c') - - -- Variable: YaTeX-inhibit-prefix-letter - Change key stroke from `C-c letter' to `C-c C-letter' (`nil') - - -- Variable: YaTeX-fill-prefix - Fill-prefix used in yatex-mode (`nil') - - -- Variable: YaTeX-user-completion-table - Name of user dictionary where learned completion table will be - stored. (`"~/.yatexrc"') - - -- Variable: tex-command - LaTeX typesetter command (`"latex"') - - -- Variable: dvi2-command - Preview command (`"xdvi -geo +0+0 -s 4"') - - -- Variable: dviprint-command-format - Command format to print dvi file (`"dvi2ps %f %t %s | lpr"') - - -- Variable: dviprint-from-format - Start page format of above %f. %b will turn to start page (`"-f %b"') - - -- Variable: dviprint-to-format - End page format of above %t. %e will turn to `end' page (`"-t %e"') - - -- Variable: makeindex-command - Default makeindex command (`"makeindex"' (`"makeind"' on MS-DOS)) - - -- Variable: YaTeX-dvipdf-command - Default command name to convert .dvi to PDF (`"dvipdfmx"') - - -- Variable: YaTeX-need-nonstop - Put `\nonstopmode{}' or not (`nil') - - -- Variable: latex-warning-regexp - Regular expression of warning message latex command puts out - (`"line.* [0-9]*"') - - -- Variable: latex-error-regexp - Regular expression of error message (`"l\\.[1-9][0-9]*"') - - -- Variable: latex-dos-emergency-message - Message latex command running on DOS puts at abort (`"Emergency - stop"') - - -- Variable: YaTeX-item-regexp - Regular expression of item command (`"\\\\item"') - - -- Variable: YaTeX-verb-regexp - Regexp of verb family. Omit \\\\. (`"verb\\*?\\|path"') - - -- Variable: YaTeX-nervous - T for using local dictionary (`t') - - -- Variable: YaTeX-sectioning-regexp - Regexp of LaTeX sectioning command - (`"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"') - - -- Variable: YaTeX-fill-inhibit-environments - Inhibit fill in these environments (`'("tabular" "tabular*" "array" - "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" - "verbatim" "verbatim*")') - - -- Variable: YaTeX-uncomment-once - T for deleting all preceding `%' (`nil') - - -- Variable: YaTeX-close-paren-always - T for always close all parenthesis automatically, `nil' for only eol - (`t') - - -- Variable: YaTeX-auto-math-mode - Switch math-mode automatically (`t') - - -- Variable: YaTeX-math-key-list-private - User defined alist, math-mode-prefix vs completion alist used in - image completion (`nil'). See `yatexmth.el' for the information - about how to define a completion alist. - - -- Variable: YaTeX-default-pop-window-height - Initial height of typesetting buffer when one-window. Number for the - lines of the buffer, numerical string for the percentage of the - screen-height. `nil' for half height (10) - - -- Variable: YaTeX-help-file - Global online help file name - (`$doc-directory/../../site-lisp/YATEXHLP.eng') - - -- Variable: YaTeX-help-file-private - Private online help file name (`"~/YATEXHLP.eng"') - - -- Variable: YaTeX-no-begend-shortcut - Disable [prefix] b ?? shortcut (`nil)' - - -- Variable: YaTeX-hilit-pattern-adjustment-private - List of the list that contain the regular expression and the symbol - of logical meaning of the string that matches the pattern. See also - the value from `(assq 'yatex-mode hilit-patterns-alist)' and the - value of `YaTeX-hilit-pattern-adjustment-default' (and even the - document of hilit19.el). - - -- Variable: YaTeX-sectioning-level - Alist of LaTeX's sectioning command vs its height. - - -- Variable: YaTeX-hierarchy-ignore-heading-regexp - `YaTeX-display-hierarchy' searches for sectioning command first, and - comment line secondary as a file headings. In latter case, ignore lines - that match with regular expression of this variable. Default value of - this variable is RCS header expressions and mode specifying line `-*- xxxx - -*'. - - -- Variable: YaTeX-skip-default-reader - Non-nil for this variable skips the default argument reader of - section-type command when add-in function for it is not defined - (`nil') - - -- Variable: YaTeX-create-file-prefix-g - When typing `prefix g' on the `\include' line, open the target file - even if the file doesn't exist (`nil') - - -- Variable: YaTeX-simple-messages - Simplyfy messages of various completions (`nil') - - -- Variable: YaTeX-hilit-sectioning-face - When hilit19 and yatex19 is active, YaTeX colors the sectioning - commands. This variable specifies the foreground and background - color of `\part' macro. The default value is `'(yellow/dodgerblue - yellow/slateblue)'. The first element of this list is for the screen - when `hilit-background-mode' is `'light', and the second element is - for `'dark'. You should specify both color as `forecolor/backcolor'. - - -- Variable: YaTeX-hilit-sectioning-attenuation-rate - When color mode, this variable specifies how much attenuate the color - density of `\subparagraph' compared with that of `\chapter' (`'(15 - 40)') See also `YaTeX-hilit-sectioning-face'. - - -- Variable: YaTeX-use-AMS-LaTeX - If you use AMS-LaTeX, set to `t' (`nil') - - -- Variable: YaTeX-use-LaTeX2e - If you use LaTeX2e, set to `t' (`t') - - -- Variable: YaTeX-template-file - File name which is automatically inserted at creation - (`~/work/template.tex') - - -- Variable: YaTeX-search-file-from-top-directory - Non-nil means to search input-files from the directory where main - file exists (`t') - - -- Variable: YaTeX-use-font-lock - Use font-lock to fontify buffer or not (`(featurep 'font-lock)' - - -- Variable: YaTeX-use-hilit19 - Use hilit19 to highlight buffer or not (`(featurep 'hilit19)' - - -- Variable: YaTeX-use-italic-bold - YaTeX tries to search italic, bold fontsets or not (`t' if Emacs-20 - or later). This variable is effective only when font-lock is used. - (`(featurep 'hilit19)' - - -- Variable: YaTeX-singlecmd-suffix - Suffix which is always inserted after maketitle-type macros. `"{}"' - is recommended. - - -- Variable: YaTeX-package-alist-private - Alist of LaTeX2e-package name vs. lists of macros in it. Set this - alist properly and YaTeX automatically check the declaratiion of - `usepackage' for corresponding macro, when you input that macro with - completion. If required `usepackage' is not found, YaTeX also - automatically inserts `\usepackage'. Alist is as follows; - '((PackageName1 (completionType ListOfMacro) (completionType - ListOfMacro)) (PackageName2 (completionType ListOfMacro) - (completionType ListOfMacro...))....) completionType is one of `env, - section, maketitle'. Consult the value of - `YaTeX-package-alist-default' as an example. - - -- Variable: YaTeX-tabular-indentation - At indentation by `C-i' in tabular or array environment, YaTeX put - the additional spaces to the normail indentation depth. The number - of additional spaces is the product of YaTeX-tabular-indentation and - the number of column position in tabular. - - -- Variable: YaTeX-noindent-env-regexp - Regexp of environment names that should begin with no indentation. - All verbatime-like environment name should match with. - - -- Variable: YaTeX-ref-default-label-string - Default \\ref time string format. This format is like strftime(3) - but allowed conversion char are as follows; %y -> Last 2 digit of - year, %b -> Month name, %m -> Monthe number(1-12), %d -> Day, %H -> - Hour, %M -> Minute, %S -> Second, %qx -> alphabetical-decimal - conversion of yymmdd. %qX -> alphabetical-decimal conversion of - HHMMSS. Beware defualt label-string should be always unique. So - this format string should have both time part (%H+%M+%S or %qX) and - date part (%y+(%b|%m)+%d or %qx). - - -- Variable: YaTeX-ref-generate-label-function - Function to generate default label string for unnamed \\label{}s. - The function pointed to this value should take two arguments. First - argument is LaTeX macro's name, second is macro's argument. Here is - an example for using this value. - (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label) - (defun my-yatex-generate-label (command value) - (and (string= command "caption") - (re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t) - (setq command (match-string 1))) - (let ((alist '(("chapter" . "chap") - ("section" . "sec") - ("subsection" . "subsec") - ("figure" . "fig") - ("table" . "tbl")))) - (if (setq command (cdr (assoc command alist))) - (concat command ":" value) - (YaTeX::ref-generate-label nil nil)))) - - - - -File: yatexe, Node: Sample definitions, Next: Hook variables, Prev: All customizable variables, Up: Lisp variables - -Sample definitions ------------------- - - For instance, to change the prefix key stroke to `ESC', and name of the -user dictionary `~/src/emacs/yatexrc', and set `fill-prefix' to single TAB -character, add the following `setq' to `~/.emacs'. - - (setq YaTeX-prefix "\e" - YaTeX-user-completion-table "~/src/emacs/yatexrc" - YaTeX-fill-prefix " ") - - - -File: yatexe, Node: Hook variables, Next: Hook file, Prev: Sample definitions, Up: Lisp variables - -Hook variables --------------- - - More customizations will be done by the hook-function defined in -hook-variable `yatex-mode-hook'. This is useful to define a shortcut key -sequence to enter some environments other than `document' and `enumerate' -etc. The following statement defines `[prefix] ba' to enter -`\begin{abstract}' ... `=end{abstract}' immediately. - - (setq yatex-mode-hook - '(lambda() (YaTeX-define-begend-key "ba" "abstract"))) - - You should use functions `YaTeX-define-key', or -`YaTeX-define-begend-key' to define all the key sequences of yatex-mode. - - - -File: yatexe, Node: Hook file, Prev: Hook variables, Up: Lisp variables - -Hook file ---------- - - You can stuff all of YaTeX related expressions into a file named -`yatexhks.el' if you have a lot of codes. YaTeX automatically load this -file at the initialization of itself. Using `yatexhks.el' makes -`yatex-mode-load-hook' unnecessary. - - - -File: yatexe, Node: Add-in functions, Next: Add-in generator, Prev: Lisp variables, Up: Customizations - -Add-in functions -================ - - You can easily define a function to input detailed arguments with -completion according to LaTeX environments or commands. - - -What is add-in functions? -------------------------- - - When you input `tabular' environment, don't you think "I want YaTeX to -complete its argument toward my favorite one such as `{|c|c|c|}'..."? -Yes, you can define the function to complete arguments for any environment -and any LaTeX commands. - - -Procedure ---------- - - Here is the procedure to define add-in functions. - 1. Define the function - 2. Put the function into `yatexhks.el' - -* Menu: - -* How the add-in function works:: -* How the function is called:: -* Useful functions for creating add-in:: -* Contribution:: - - - -File: yatexe, Node: How the add-in function works, Next: How the function is called, Prev: Add-in functions, Up: Add-in functions - -How the add-in function works ------------------------------ - -There are three types of add-in. - - 1. Option add-in - 2. argument add-in - 3. enclosing add-in - -"Option add-in" returns the LaTeX's optional parameters such as optional -strings after `\begin{ENV}', optional strings between a section-type -command and its first argument, and optional strings just after type -maketitle-type command. The following illustrates the name of add-in -functions, where underlined strings are generated by add-in functions. - - \begin{table}[ht] (Function name: YaTeX:table) - ~~~~ - \put(100,200){} (Function name: YaTeX:put) - ~~~~~~~~~ - \sum_{i=0}^{n} (Function name: YaTeX:sum) - ~~~~~~~~~~ - - Obviously, the function name is decided by concatenating the prefix -`YaTeX:' and LaTeX command's name. - - Another add-in type is "argument add-in", which completes arguments for -section-type commands. - - \newcommand{\foo}{bar} (Function name: YaTeX::newcommand) - ~~~~ ~~~ - - When the section-type command is inputted, the function named by -concatenating `YaTeX::' and section-type command, is called automatically -with an integer argument which indicates which argument of section-type -command is being read. Thus the add-in should determine the job referring -the value of its argument. - - "enclosing add-in" is for modifying and/or checking the region that will -be enclosed by section-type commands via `[prefix] S'. An enclosing -add-in function will be called with two arguments, beginning of the -enclosed region and end of the region. Suppose you want to enclose the -existing text `(a+b)/c' by `\frac{}'. - - a/c - | | - A B - -You do set-mark-command at point A and then move to point B. Typing -`[prefix] S' and input `frac' enclose the region like this; - - \frac{a/c} - -Normally, the expression `a/c' is translated to `\frac{a}{c}'. An -enclosing add-in is useful for modifying `/' to `}{'. - -* Menu: - -* Defining option-add-in:: -* Defining argument-add-in:: -* Defining enclosing-add-in:: - - - -File: yatexe, Node: Defining option-add-in, Next: Defining argument-add-in, Prev: How the add-in function works, Up: How the add-in function works - -Defining `option add-in' -........................ - - If you want `{|c|c|c|}' for all `tabular' environment, - - (defun YaTeX:tabular () - "{|c|c|c|}") - -is enough. If you want more complicated format, define as below. - - (defun YaTeX:tabular () - "{@{\\vrule width 1pt\\ }|||@{\\ \\vrule width 1pt}}") - -Note that the character `\' must be described as `\\' in Emacs-Lisp. The -next example reads the tabular format from keyboard. - (defun YaTeX:tabular () - (concat "{" (read-string "Rule: ") "}")) - - - -File: yatexe, Node: Defining argument-add-in, Next: Defining enclosing-add-in, Prev: Defining option-add-in, Up: How the add-in function works - -Defining `argument add-in' -.......................... - - This section describes how to define the add-in function for -`\newcommand'. - - The first argument of `\newcommand' begins always with `\'. The second -argument is usually so complex that we can not edit them in the -minibuffer. Here is the created function considering this. - - (defun YaTeX::newcommand (n) ;n is argument position - (cond - ((= n 1) ;1st argument is macro name - (read-string "Command: " "\\")) ;initial input `\' - ((= n 2) "") ;do nothing when reading arg#2 - (t nil))) - - Note that when the `argument add-in' function return `nil', normal -argument reader will be called. - - - -File: yatexe, Node: Defining enclosing-add-in, Prev: Defining argument-add-in, Up: How the add-in function works - -Defining `enclosing add-in' -........................... - - This section describes how to define the add-in function for text -enclosed by `\frac{}'. - - When enclosing the text `5/3' by `\frac{}', you might want to replace -`/' with `}{'. Enclosing function `YaTeX::frac-region' is called with two -arguments, beginning of enclosed text and end of enclosed text. The -function is expected to replace `/' with `}{'. Here is an example -expression. - - (defun YaTeX::frac-region (beg end) - (catch 'done - (while (search-forward "/" end t) - (goto-char (match-beginning 0)) - (if (y-or-n-p "Replace this slash(/) with `}{'") - (throw 'done (replace-match "}{"))) - (goto-char (match-end 0))))) - - - -File: yatexe, Node: How the function is called, Next: Useful functions for creating add-in, Prev: How the add-in function works, Up: Add-in functions - -How the function is called --------------------------- - - YaTeX calls the add-in functions for specified begin-type, section-type, -and maketitle-type command, if any. `Option add-in' functions for -begin-type are called when `\begin{ENV}' has been inserted, functions for -section-type are called just before input of the first argument, and -functions for maketitle-type is called after maketitle-type command has -been inserted. `Argument add-in' functions are called at each entry of -arguments for section-type commands. - - - -File: yatexe, Node: Useful functions for creating add-in, Next: Contribution, Prev: How the function is called, Up: Add-in functions - -Useful functions for creating add-in ------------------------------------- - - Many add-in functions for typical LaTeX commands are defined in -`yatexadd.el'. Those are also useful as references. Here are the short -descriptions on useful functions, where [F] means function, [A] means -arguments, [D] means description. - -`[F]' - YaTeX:read-position -`[A]' - Character list which can show up in the brackets -`[D]' - Return the location specifier such as `[htb]'. When nothing is - entered, omit [] itself. If the possible characters are "htbp", call - this function as `(YaTeX:read-position "htbp")' - -`[F]' - YaTeX:read-coordinates -`[A]' - Base prompt, X-axis prompt, Y-axis prompt (each optional) -`[D]' - Read the coordinates with the prompt "BasePrompt X-axisPrompt:" for - X-axis, "BasePrompt Y-axisPrompt:" for Y-axis, and return it in the - form of "(X,Y)". The default prompts are `Dimension', `X', `Y' - respectively. - -`[F]' - YaTeX:check-completion-type -`[A]' - One of the symbols: 'begin, 'section, or 'maketitle -`[D]' - Check the current completion type is specified one and cause error - if not. The variable `YaTeX-current-completion-type' holds the symbol - according to the current completion type. - - - -File: yatexe, Node: Contribution, Prev: Useful functions for creating add-in, Up: Add-in functions - -Contribution ------------- - - If you make your own pretty function and you let it be in public, please -send me the function. I'm going to include it in the next release. - - - -File: yatexe, Node: Add-in generator, Prev: Add-in functions, Up: Customizations - -Add-in generator -================ - - First, don't forget to read the section of add-in functions *Note Add-in -functions::. If you easily understand how to define them, there's no need -to read this section. But being not familiar with Emacs-Lisp, when you -don't have clear idea what to do, this section describes how to get YaTeX -make add-in function. - - There are two methods of generation. One is for fully interactive -generator for beginners and another requires little knowledge of -Emacs-Lisp. - - -Generator for beginners ------------------------ - The former generator is called by - `M-x YaTeX-generate' - -strokes. All you have to do is follow the guidances. Defying them may -cases the disaster (I wonder what is it???). So when you make some -mistake, it is recommendable to type `C-g' and start afresh. - - -Simple generator ----------------- - - The latter generator is invoked by the next sequence. `M-x -YaTeX-generate-simple' This generator can make both "option add-in" and -"argument add-in" (*refer the section add-in functions* *Note How the -add-in function works::), whereas `YaTeX-generate' cannot make "argument -addin". - - For example, assume you have the LaTeX command as follows. - - \epsinput[t](250,50){hoge.eps}{plain}{Picture of foo} - (A) (B) (1) (2) (3) - (A)Optional parameter to specify the position - One of t(top), b(bottom), l(left), r(right) - (B)Maximum size of frame - (1)1st argument is filename of EPS file - (2)2nd argument indicates - plain do nothing - frame make frame around image - dframe make double-frame around image - for included EPS file. - (3)Caption for the picture - - Now get start with generation. Typing `M-x YaTeX-generate-simple' -brings the prompt: - (O)ption? (A)rgument? - - -Generating "option add-in" -.......................... - - Since (A), (B) above are optional argument, all we have to do to -complete them is define the option add-in for them. Let's generate the -function to complete (A). - - M-x YaTeX-generate-simple RET - epsinput RET - o - -Typing as above leads the next prompt. - - Read type(1): (S)tring (C)omplete (F)ile ([)option (P)osition co(O)rd. (q)uit - - This asks that "Which type is the completion style of 1st argument?". -Here are the possible completion style. - -`String' - read plain string -`Complete' - read with completion -`File' - read file name -`Option' - read optional string (if string omitted, omit [] too) -`Position' - read positional option (like [htbp]) -`Coord.' - read coordinates -`Quit' - quit from generating - - Since (A) is the optional argument to specify the location of included -EPS file, the completion style is `Position', and the possible characters -are t, b, l, and r. To tell these information to generator, operate as -follows. - - Read type(1).... p - Acceptable characters: tblr RET - - (B) is coordinate. So its completion style is coOrd. We want a prompt -meaning "Maximum size" when completion. - - Read type(2).... o - Prompt for coordinates: Max size RET - - That's all for optional argument. Select quit. - - Read type(3).... q - - Then the generated option add-in function for \epsinput will be shown in -the next window. - - -Generating "argument add-in" -............................ - - Next, create the argument add-in. The arguments for \epsinput are EPS -file name, framing style, and caption string in sequence. - - M-x YaTeX-generate-simple RET - epsinput RET - a - - Above key strokes bring the prompt that asks the number of argument. -Answer it with 3. - - How many arguments?: 3 RET - - Then the generator asks the completion style and prompt for completion. -Answer them. `f' for FileName and prompt string. - - Read type(1).... f - Prompt for argument#1 EPS file name RET - - The second argument is one of selected symbol. So the completion type -is `Completion'. - - Read type(2).... c - Prompt for argument#2 Include style RET - - Then all the candidates ready to be read. Type single RET after -entering all. - - Item[1](RET to exit): plain RET - Item[2](RET to exit): frame RET - Item[3](RET to exit): dframe RET - Item[4](RET to exit): RET - - The following prompt asks whether the entered string must belong to -candidates or not. In this case, since the argument must be one of -`plain', `frame', and `dframe', type `y'. - - Require match? (y or n) y - - The last argument is the caption string for which any completion is -needed. - - Read type(3).... s - Prompt for argument#3 Caption RET - default: Figure of RET - - Finally we'll get the argument add-in in the next window. - - -Contribution ------------- - - If you get your own pretty function and you let it be in public, please -steel yourself in the happy atmosphere and do not send me the function. I -do know it is not fine because it is generated by yatexgen:-p. - - - -File: yatexe, Node: Etcetera, Next: Copying, Prev: Customizations, Up: Top - -Etcetera -******** - - The standard completion tables provided in `yatex.el' contain a few -LaTeX commands I frequently use. This is to lessen the key strokes to -complete entire word, because too many candidates rarely used often cause -too many hits. Therefore always try to use completion in order to enrich -your dictionary, and you will also find `Wild Bird' growing suitable for -your LaTeX style. - - The package name `Wild Bird' is the English translation of Japanese -title `Yachou', which is a trick on words of Japanese. - - - -File: yatexe, Node: Copying, Prev: Etcetera, Up: Top - -Copying -******* - - This program is distributed as a free software. You can -use/copy/modify/redistribute this software freely but with NO warranty to -anything as a result of using this software. Adopting code from this -program is also free. But I would not do contract act. - -Any reports and suggestions are welcome as long as I feel interests in -this software. My possible e-mail address is `yuuji@yatex.org'. (as of -Jan.2004) And there is mailing list for YaTeX. Although the common -language is Japanese, questions in English will be welcome. To join the -ML, send the mail whose subject is `append' to the address -`yatex@yatex.org. If you have some question, please ask to -`yatex-admin@yatex.org'. - - The specification of this software will be surely modified (depending on -my feelings) without notice :-p. - - - HIROSE Yuuji - - -Tag table: -Node: Top146 -Node: What is YaTeX?1487 -Node: Main features1860 -Node: Installation3452 -Node: Typesetting4229 -Node: Calling typesetter5298 -Node: Calling previewer7502 -Node: Printing out7863 -Node: %#notation8155 -Node: Changing typesetter8531 -Node: Splitting input files8895 -Node: Static region for typesetting10319 -Node: Lpr format11448 -Node: Editing %# notation12505 -Node: Completion13024 -Node: Begin-type completion13584 -Node: Section-type completion16627 -Node: view-sectioning19062 -Node: Large-type completion20642 -Node: Maketitle-type completion21373 -Node: Arbitrary completion21925 -Node: End completion22315 -Node: Accent completion22785 -Node: Image completion23402 -Node: Greek letters completion25659 -Node: Local dictionaries26386 -Node: Commenting out27323 -Node: Cursor jump28782 -Node: Jump to corresponding object29094 -Node: Invoking image processor30495 -Node: Jump to main file31838 -Node: Jumping around the environment32203 -Node: Jumping to last completion position32621 -Node: Changing and Deleting33130 -Node: Changing LaTeX commands33522 -Node: Killing LaTeX commands34699 -Node: Filling35884 -Node: Updation of includeonly37735 -Node: What column38532 -Node: Intelligent newline39617 -Node: Usepackage checker41271 -Node: Online help41862 -Node: Browsing file hierarchy43537 -Node: Cooperation with other packages45274 -Node: Customizations45979 -Node: Lisp variables46313 -Node: All customizable variables47317 -Node: Sample definitions57116 -Node: Hook variables57629 -Node: Hook file58333 -Node: Add-in functions58672 -Node: How the add-in function works59532 -Node: Defining option-add-in61731 -Node: Defining argument-add-in62453 -Node: Defining enclosing-add-in63335 -Node: How the function is called64189 -Node: Useful functions for creating add-in64865 -Node: Contribution66270 -Node: Add-in generator66544 -Node: Etcetera71916 -Node: Copying72521 - -End tag table +Info file: yatexe, -*-Text-*- +produced by `texinfo-format-buffer' +from file `yatexe.tex' +using `texinfmt.el' version 2.38 of 3 July 1998. + +START-INFO-DIR-ENTRY +* YaTeX-e: (yatexe). Yet Another tex-mode for Emacs (English). +END-INFO-DIR-ENTRY + + + + + + +File: yatexe, Node: Top, Next: What is YaTeX?, Prev: (dir), Up: (dir) + +* Menu: + +* What is YaTeX?:: +* Main features:: What YaTeX can do +* Installation:: Guide to install +* Typesetting:: Call typesetting processes +* %#notation:: Meta-keyword `%#' +* Completion:: Input LaTeX commands with completion +* Local dictionaries:: Directory dependent completion +* Commenting out:: Commenting/uncommenting text +* Cursor jump:: Jumping to related position +* Changing and Deleting:: Changing/deleting certain unit of text +* Filling:: Filling an item or paragraph +* Updation of includeonly:: Free from maintaining includeonly +* What column:: Check what table-column the cursor belong +* Intelligent newline:: Guess requisites of new line +* Usepackage checker:: Selecting correct \usepackage is YaTeX's job +* Online help:: On-line documentation of LaTeX +* Browsing file hierarchy:: Walking through file hierarchy +* Cooperation with other packages:: Work well with gmhist, min-out +* Customizations:: How to breed `Wild Bird' +* Etcetera:: YaTeX is acquisitive. +* Copying:: Redistribution + + + + +File: yatexe, Node: What is YaTeX?, Next: Main features, Prev: Top, Up: Top + +What is YaTeX? +************** + + YaTeX automates typesetting and previewing of LaTeX and enables +completing input of LaTeX mark-up command such as `\begin{}'..`\end{}'. + + YaTeX also supports Demacs which runs on MS-DOS(386), Mule (Multi +Language Enhancement to GNU Emacs), and latex on DOS. + + + +File: yatexe, Node: Main features, Next: Installation, Prev: What is YaTeX?, Up: Top + +Main features +************* + + * Invocation of typesetter, previewer and related programs(`C-c t') + * Typesetting on static region which is independent from point + * Semiautomatic replacing of `\includeonly' + * Jumping to error line(`C-c '') + * Completing-read of LaTeX commands such as `\begin{}', `\section' etc. + (`C-c b', `C-c s', `C-c l', `C-c m') + * Enclosing text into LaTeX environments or commands (`C-u' + ABOVEKEYSTROKES) + * Displaying the structure of text at entering sectioning commands + * Lump shifting of sectioning commands (*Note view-sectioning::) + * Learning unknown/new LaTeX commands for the next completion + * Argument reading with a guide for complicated LaTeX commands + * Generating argument-readers for new/unsupported commands(`yatexgen') + * Quick changing or deleting of LaTeX commands(`C-c c', `C-c k') + * Jumping from and to inter-file, begin<->end, ref<->label(`C-c g') + * Blanket commenting out or uncommenting (`C-c >', `C-c <', `C-c ,', + `C-c .') + * Easy input of accent mark, math-mode's commands and Greek letters + (`C-c a', `;', `:') + * Online help for the popular LaTeX commands (`C-c ?', `C-c /') + * Document files hierarchy browser (`C-c d') + * Adding automatically \usepackage corresponding to inputting LaTeX + macro with completion + * Allow you to forget creating \label{}s, \ref{} or \cite{} completion + automatically generate labels. + + + +File: yatexe, Node: Installation, Next: Typesetting, Prev: Main features, Up: Top + +Installation +************ + + Put next two expressions into your `~/.emacs'. + + (setq auto-mode-alist + (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) + (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) + +Next, add certain path name where you put files of YaTeX to your +load-path. If you want to put them in `~/src/emacs', write + + (setq load-path + (cons (expand-file-name "~/src/emacs") load-path)) + +in your `~/.emacs' + + Then, yatex-mode will be automatically loaded when you visit a file +which has extension `.tex'. If yatex-mode is successfully loaded, mode +string on mode line will be turned to "YaTeX". + + + + +File: yatexe, Node: Typesetting, Next: %#notation, Prev: Installation, Up: Top + +Typesetting +*********** + + The prefix key stroke of yatex-mode is `C-c' (Press 'C' with Control +key) by default. If you don't intend to change the prefix key stroke, +assume all `[prefix]' as `C-c' in this document. These key strokes +execute typeset or preview command. + +`[prefix] t j' + ... invoke latex +`[prefix] t r' + ... invoke latex on region +`[prefix] t e' + ... invoke latex on current environment or whole portion of + current formulas in math-mode. +`[prefix] t d' + ... invoke dvipdfmx after successful typesetting +`[prefix] t k' + ... kill current typesetting process +`[prefix] t b' + ... invoke bibtex +`[prefix] t i' + ... invoke makeindex +`[prefix] t d' + ... invoke latex && dvipdfmx +`[prefix] t p' + ... preview +`[prefix] t l' + ... lpr dvi-file +`[prefix] t s' + ... search current string on xdvi-remote + +* Menu: + +* Calling typesetter:: +* Calling previewer:: +* Printing out:: + + + +File: yatexe, Node: Calling typesetter, Next: Calling previewer, Prev: Typesetting, Up: Typesetting + +Calling typesetter +================== + + Typing `[prefix] t j', the current editing window will be divided +horizontally when you invoke latex command, and log message of LaTeX +typesetting will be displayed in the other window; called typesetting +buffer. The typesetting buffer automatically scrolls up and traces LaTeX +warnings and error messages. If you see latex stopping by an error, you +can send string to latex in the typesetting buffer. + + If an error stops the LaTeX typesetting, this key stroke will move the +cursor to the line where LaTeX error is detected. + +`[prefix] '' +`([prefix]+single quotation)' + + ... jump to the previous error or warning + + If you find a noticeable error, move to the typesetting buffer and move +the cursor on the line of error message and type `SPACE' key. This makes +the cursor move to corresponding source line. + + YaTeX-typeset-region invoked by `[prefix] tr' call typesetter for +region. The region is specified by standard point and mark, or by +`%#BEGIN' and `%#END' marks. Selected region will be copied to the +temporary file `texput.tex' with the same preamble as the main file of +current editing sources. Be sure to put all local macro settings in +preamble, not after `\begin{document}'. The method of specification of +the region is shown in the section *Note %#notation::. + + The documentclass for typeset-region is the same as that of editing file +if you edit one file, and is the same as main file's if you edit splitting +files. + + The `[prefix] te' key automatically marks current inner environment or +inner math mode and then call typeset-region with marked region. This is +convenient to quick view of current tabular environment or current editing +formulas. Keeping previewer window for `texput.dvi' is handy for +debugging. Since `[prefix] te' selects the inner-most environment as +region, it is not suitable for partial typesetting of doubly or more +composed environment. If you want to do partial typesetting for a nested +environment, use `[prefix] tr' for static-region, which is described in +the section *Note %#notation::. + + + +File: yatexe, Node: Calling previewer, Next: Printing out, Prev: Calling typesetter, Up: Typesetting + +Calling previewer +================= + + `[prefix] t p' invokes the TeX previewer. And if you are using +xdvi-remote, which can be controled from other terminals, `[prefix] t s' +enables you to search current string at the cursor on the running xdvi +window. + + + +File: yatexe, Node: Printing out, Prev: Calling previewer, Up: Typesetting + +Printing out +============ + + When you type `[preifx] t l', YaTeX asks you the range of dvi-printing +by default. You can skip this by invoking it with universal-argument as +follows: + + C-u [prefix] tl + + + +File: yatexe, Node: %#notation, Next: Completion, Prev: Typesetting, Up: Top + +%# notation +*********** + + You can control the typesetting process by describing `%#' notations in +the source text. + +* Menu: + +* Changing typesetter:: +* Splitting input files:: +* Static region for typesetting:: +* Lpr format:: +* Controlling which command to invoke:: +* Editing %# notation:: + + + +File: yatexe, Node: Changing typesetter, Next: Splitting input files, Prev: %#notation, Up: %#notation + +To change the `latex' command or to split a source text. +======================================================== + + To change the typesetting command, write + + %#!latex-big + +anywhere in the source text. This is useful for changing typesetter. + + + +File: yatexe, Node: Splitting input files, Next: Static region for typesetting, Prev: Changing typesetter, Up: %#notation + +Splitting input files +===================== + + And if you split the source text and edit subfile that should be +included from main text. + + %#!latex main.tex + +will be helpful to execute latex on main file from sub text buffer. Since +this command line after `%#!' will be sent to shell literally, next +description makes it convenient to use ghostview as dvi-previewer. + + %#!latex main && dvi2ps main.dvi > main + +Note that YaTeX assumes the component before the last period of the last +word in this line as base name of the main LaTeX source. The `%f' +notation in this line is replaced by main file name, and `%r' replaced by +root name of main file name. If you specify `%f' or `%r', YaTeX always +ask you the name of main file at the first typesetting. + + To make best use of the feature of inter-file jumping by `[prefix] g' +(see *Note Cursor jump::), take described below into consideration. + + * You can put split texts in sub directory, but not in sub directory of + sub directory. + * In the main text, specify the child file name with relative path name + such as \include{chap1/sub}, when you include the file in a + sub-directory. + * In a sub-text, write `%#!latex main.tex' even if `main.tex' is in the + parent directory(not %#!latex ../main.tex). + + + +File: yatexe, Node: Static region for typesetting, Next: Lpr format, Prev: Splitting input files, Up: %#notation + +Static region +============= + + Typeset-region by `[prefix] tr' passes the region between point and mark +to typesetting command by default. But when you want to typeset static +region, enclose the region by `%#BEGIN' and `%#END' as follows. + + %#BEGIN + TheRegionYouWantToTypesetManyTimes + %#END + +This is the rule of deciding the region. + + 1. If there exists %#BEGIN before point, + + 1. If there exists %#END after %#BEGIN, + * From %#BEGIN to %#END. + + 2. If %#END does not exist after %#BEGIN, + * From %#BEGIN to the end of buffer. + + 2. If there does not exist %#BEGIN before point, + * Between point and mark(standard method of Emacs). + + It is useful to write `%#BEGIN' in the previous line of \begin and +`%#END' in the next line of \`end' when you try complex environment such +as `tabular' many times. It is also useful to put only `%#BEGIN' alone at +the middle of very long text. Do not forget to erase `%#BEGIN' `%#END' +pair. + + + +File: yatexe, Node: Lpr format, Next: Controlling which command to invoke, Prev: Static region for typesetting, Up: %#notation + +Lpr format +========== + + Lpr format is specified by three Lisp variables. Here are the default +values of them. + +`(1)dviprint-command-format' + `"dvi2ps %f %t %s | lpr"' +`(2)dviprint-from-format' + `"-f %b"' +`(3)dviprint-to-format' + `"-t %e"' + + On YaTeX-lpr, `%s' in (1) is replaced by the file name of main text, +`%f' by contents of (2), %t by contents of (3). At these replacements, +`%b' in (2) is also replaced by the number of beginning page, `%e' in (3) +is replaced by the number of ending page. But `%f' and `%t' are ignored +when you omit the range of print-out by `C-u [prefix] tl'. + + If you want to change this lpr format temporarily, put a command such as +follows somewhere in the text: + + %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2 + + And if you want YaTeX not to ask you the range of printing out, the next +example may be helpful. + + %#LPR dvi2ps %s | lpr + + + +File: yatexe, Node: Controlling which command to invoke, Next: Editing %# notation, Prev: Lpr format, Up: %#notation + +Controlling which command to invoke +=================================== + +These %# notation below can control which command to invoke for LaTeX +related process. + + `%#BIBTEX' + + ... Command line for makeindex ([prefix] t i) + `%#MAKEINDEX' + + ... Command line for bibtex ([prefix] t b) + +If you want to invoke "makeidx hogehoge" to update index, put the next +line some upper place in the source, for example. + + %#MAKEINDEX makeidx hogehoge + + + + +File: yatexe, Node: Editing %# notation, Prev: Controlling which command to invoke, Up: %#notation + +Editing %# notation +=================== + + To edit `%#' notation described above, type + +`[prefix] %' + ... editing %# notation menu + +and select one of the entry of the menu as follows. + + !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR + +Type `!' to edit `%#!' entry, `b' to enclose the region with `%#BEGIN' and +`%#END', and `l' to edit `%#LPR' entry. When you type `b', all `%#BEGIN' +and `%#END' are automatically erased. + + + +File: yatexe, Node: Completion, Next: Local dictionaries, Prev: %#notation, Up: Top + +Completion +********** + + YaTeX makes it easy to input the LaTeX commands. There are several +kinds of completion type, begin-type, section-type, large-type, etc... + +* Menu: + +* Begin-type completion:: +* Section-type completion:: +* Large-type completion:: +* Maketitle-type completion:: +* Arbitrary completion:: +* End completion:: +* Accent completion:: +* Image completion:: +* Greek letters completion:: + + + +File: yatexe, Node: Begin-type completion, Next: Section-type completion, Prev: Completion, Up: Completion + +Begin-type completion +===================== + + "Begin-type completion" completes commands of `\begin{env}' ... +`\end{env}'. All of the begin-type completions begin with this key +sequence. + +`[prefix] b' + ... start begin-type completion + +An additional key stroke immediately completes a frequently used LaTeX +`\begin{}'...`\`end'{}' environment. + +`[prefix] b c' + ... `\begin{center}...\end{center}' +`[prefix] b d' + ... `\begin{document}...\end{document}' +`[prefix] b D' + ... `\begin{description}...\end{description}' +`[prefix] b e' + ... `\begin{enumerate}...\end{enumerate}' +`[prefix] b E' + ... `\begin{equation}...\end{equation}' +`[prefix] b i' + ... `\begin{itemize}...\end{itemize}' +`[prefix] b l' + ... `\begin{flushleft}...\end{flushleft}' +`[prefix] b m' + ... `\begin{minipage}...\end{minipage}' +`[prefix] b t' + ... `\begin{tabbing}...\end{tabbing}' +`[prefix] b T' + ... `\begin{tabular}...\end{tabular}' +`[prefix] b^T' + ... `\begin{table}...\end{table}' +`[prefix] b p' + ... `\begin{picture}...\end{picture}' +`[prefix] b q' + ... `\begin{quote}...\end{quote}' +`[prefix] b Q' + ... `\begin{quotation}...\end{quotation}' +`[prefix] b r' + ... `\begin{flushright}...\end{flushright}' +`[prefix] b v' + ... `\begin{verbatim}...\end{verbatim}' +`[prefix] b V' + ... `\begin{verse}...\end{verse}' + + Any other LaTeX environments are made by completing-read of the Emacs +function. + +`[prefix] b SPACE' + ... begin-type completion + +The next message will show up in the minibuffer + + Begin environment(default document): + +by typing `[prefix] b'. Put the wishing environment with completion in +the minibuffer, and `\begin{env}'...\`\end{env}' will be inserted in the +LaTeX source text. If the environment you want to put does not exist in +the YaTeX completion table, it will be registered in the user completion +table. YaTeX automatically saves the user completion table in the user +dictionary file at exiting of emacs. + +At the completion of certain environments, the expected initial entry will +automatically inserted such as `\item' for `itemize' environment. If you +don't want the entry, it can be removed by undoing. + + If you want to enclose some paragraphs which have already been written, +invoke the begin-type completion with changing the case of `b' of key +sequence upper(or invoke it with universal argument by `C-u' prefix). + + The following example encloses a region with `description' environment. + +`[prefix] B D' +`(or ESC 1 [prefix] b D)' +`(or C-u [prefix] b D)' + + ... begin-type completion for region + + This enclosing holds good for the completing input by `[prefix] b SPC'. +`[prefix] B SPC' enclose a region with the environment selected by +completing-read. + + + +File: yatexe, Node: Section-type completion, Next: Large-type completion, Prev: Begin-type completion, Up: Completion + +Section-type completion +======================= + + "Section-type completion" completes section-type commands which take an +argument or more such as `\section{foo}'. To invoke section-type +completion, type + +`[prefix] s' + ... section-type completion + +then the prompt + + (C-v for view) \???{} (default documentclass): + +will show up in the minibuffer. Section-type LaTeX commands are completed +by space key, and the default value is selected when you type nothing in +the minibuffer. + + Next, + + \section{???}: + +prompts you the argument of section-type LaTeX command. For example, the +following inputs + + \???{} (default documentclass): section + \section{???}: Hello world. + +will insert the string + + \section{Hello world.} + +in your LaTeX source. When you neglect argument such as + + (C-v for view) \???{} (default section): vspace* + \vspace*{???}: + +YaTeX puts + + \vspace*{} + +and move the cursor in the braces. + + In LaTeX command, there are commands which take more than one arguments +such as `\addtolength{\topmargin}{8mm}'. To complete these commands, +invoke section-type completion with universal argument as, + + C-u 2 [prefix] s (or ESC 2 [prefix] s) + +and make answers in minibuffer like this. + + (C-v for view) \???{} (default vspace*): addtolength + \addtolength{???}: \topmargin + Argument 2: 8mm + +`\addtolength' and the first argument `\topmargin' can be typed easily by +completing read. Since YaTeX also learns the number of arguments of +section-type command and will ask that many arguments in future +completion, you had better tell the number of arguments to YaTeX at the +first completion of the new word. But you can change the number of +arguments by calling the completion with different universal argument +again. + + + Invoking section-type completion with `[Prefix] S' (Capital `S') +includes the region as the first argument of section-type command. + + The section/large/maketitle type completion can work at the prompt for +the argument of other section-type completion. Nested LaTeX commands are +efficiently read with the recursive completion by typing YaTeX's +completion key sequence in the minibuffer. + +* Menu: + +* view-sectioning:: + + + +File: yatexe, Node: view-sectioning, Prev: Section-type completion, Up: Section-type completion + +view-sectioning +--------------- + + In the minibuffer at the prompt of section-type command completion, +typing `C-v' shows a list of sectioning commands in source text(The line +with `<<--' mark is the nearest sectioning command). Then, default +sectioning command appears in the minibuffer. You can go up/down +sectioning command by typing `C-p'/`C-n', can scrolls up/down the listing +buffer by `C-v'/`M-v', and can hide sectioning commands under certain +level by 0 through 6. Type `?' in the minibuffer of sectioning prompt +for more information. + + You can generate this listing buffer (`*Sectioning Lines*' buffer) by +typing +`M-x YaTeX-section-overview' + ... Generate *Sectioning Lines* buffer + +from the LaTeX source buffer. In this listing buffer, typing `u' on the +sectioning command shifts up the corresponding sectioning command in +source text and `d' shifts down. After marking lines in the listing +buffer, typing `U' shifts up all sectioning commands in the region, and +`U' shifts down. Here are all the key bindings of `*Sectioning Lines*' +buffer. + +`SPC' + ... Jump to corresponding source line +`.' + ... Display corresponding source line +`u' + ... Shift up a sectioning line +`d' + ... Shift down a sectioning line +`U' + ... Shift up sectioning lines in region +`D' + ... Shift down sectioning lines in region +`0...6' + ... Hide sectioning commands whose level is lower than n + + + + +File: yatexe, Node: Large-type completion, Next: Maketitle-type completion, Prev: Section-type completion, Up: Completion + +Large-type completion +===================== + + "Large-type completion" inputs the font or size changing descriptions +such as `{\large }'. When you type + +`[prefix] l' + ... large-type completion + +the message in the minibuffer + + {\??? } (default large): + +prompts prompts you large-type command with completing-read. There are +TeX commands to change fonts or sizes, `it', `huge' and so on, in the +completion table. + + Region-based completion is also invoked by changing the letter after +prefix key stroke as `[prefix] L'. It encloses the region by braces with +large-type command. + + + +File: yatexe, Node: Maketitle-type completion, Next: Arbitrary completion, Prev: Large-type completion, Up: Completion + +Maketitle-type completion +========================= + + We call it "maketitle-type completion" which completes commands such as +`\maketitle'. Take notice that maketitle-type commands take no arguments. +Then, typing + +`[prefix] m' + ... maketitle-type completion + +begins maketitle-completion. Above mentioned method is true for +maketitle-completion, and there are LaTeX commands with no arguments in +completion table. + + + +File: yatexe, Node: Arbitrary completion, Next: End completion, Prev: Maketitle-type completion, Up: Completion + +Arbitrary completion +==================== + + You can complete certain LaTeX command anywhere without typical +completing method as described, by typing + +`[prefix] SPC' + ... arbitrary completion + +after the initial string of LaTeX command that is preceded by `\'. + + + +File: yatexe, Node: End completion, Next: Accent completion, Prev: Arbitrary completion, Up: Completion + +End completion +============== + + YaTeX automatically detects the opened environment and close it with +\`\end{environment}'. Though proficient YaTeX users never fail to make +environment with begin-type completion, some may begin an environment +manually. In that case, type + +`[prefix] e' + ... `end' completion + +at the end of the opened environment. + + + +File: yatexe, Node: Accent completion, Next: Image completion, Prev: End completion, Up: Completion + +Accent completion +================= + + When you want to write the European accent marks(like `\`{o}'), + +`[prefix] a' + ... accent completion + +shows the menu + + 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b + +in the minibuffer. Chose one character or corresponding numeric, and you +will see + + \`{} + +in the editing buffer with the cursor positioned in braces. Type one more +character `o' for example, then + + \`{o} + +will be completed, and the cursor gets out from braces. + + + +File: yatexe, Node: Image completion, Next: Greek letters completion, Prev: Accent completion, Up: Completion + +Image completion of mathematical sign +===================================== + + Arrow marks, sigma mark and those signs mainly used in the TeX's math +environment are completed by key sequences which imitate the corresponding +symbols graphically. This completion only works in the math environment. +YaTeX automatically detects whether the cursor located in math environment +or not, and change the behavior of key strokes `;' and `:'. + + By the way, we often express the leftarrow mark by `<-' for example. +Considering such image, you can write `\leftarrow' by typing `<-' after +`;' (semicolon) as a prefix. In the same way, `\longleftarrow' (`<--') is +completed by typing `;<--', infinity mark which is imitated by `oo' is +completed by typing `;oo'. + + Here are the sample operations in YaTeX math-mode. + + INPUT Completed LaTeX commands + ; < - `\leftarrow' + ; < - - `\longleftarrow' + ; < - - > `\longleftrightarrow' + ; o `\circ' + ; o o `\infty' + + In any case, you can quit from image completion and can move to the next +editing operation if the LaTeX command you want is shown in the buffer. + + `;' itself in math-environment is inserted by `;;'. Typing `TAB' in the +midst of image completion shows all of the LaTeX commands that start with +the same name as string you previously typed in. In this menu buffer, +press `RET' after moving the cursor (by `n', `p', `b', `f') to insert the +LaTeX command. + + To know all of the completion table, type `TAB' just after `;'. And +here is the sample menu by `TAB' after `;<'. + + KEY LaTeX sequence sign + < \leq < + ~ + << \ll << + <- \leftarrow <- + <= \Leftarrow <= + + You can define your favorite key-vs-sequence completion table in the +Emacs-Lisp variable `YaTeX-math-sign-alist-private'. See also +`yatexmth.el' for the information of the structure of this variable. + + + +File: yatexe, Node: Greek letters completion, Prev: Image completion, Up: Completion + +Greek letters completion +======================== + + Math-mode of YaTeX provides another image completion, Greek letters +completion in the same method. After prefix `:', typing `a' makes +`\alpha', `b' makes `\beta' and `g' makes `\gamma' and so on. First, type +`:TAB' to know all the correspondence of alphabets vs. Greek letters. + + If you will find `;' or `:' doesn't work in correct position of math +environment, it may be a bug of YaTeX. Please send me a bug report with +the configuration of your text, and avoid it temporarily by typing `;' or +`:' after universal-argument(`C-u') which forces `;' and `:' to work as +math-prefix. + + + +File: yatexe, Node: Local dictionaries, Next: Commenting out, Prev: Completion, Up: Top + +Local dictionaries +****************** + + Tables for completion consist of three dictionaries; `standard +dictionary' built in `yatex.el', `user dictionary' for your common private +commands, and `local dictionary' that is effective in a certain directory. + + When you input the command unknown to YaTeX at a completion in the +minibuffer, YaTeX asks you with the following prompt; + + `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard + +In this menu, typing `u' updates your `user dictionary', `l' updates your +local dictionary, `n' updates only on-memory dictionary which go through +only current Emacs session, and `d' updates no dictionary and throws the +new word away. + + If you find this switching feature meaningless and bothersome, put the +next expression into your `~/.emacs' + + (setq YaTeX-nervous nil) + + + +File: yatexe, Node: Commenting out, Next: Cursor jump, Prev: Local dictionaries, Up: Top + +Commenting out +************** + + You may want to comment out some region. + +`[prefix] >' + ... comment out region by % +`[prefix] <' + ... uncomment region + +cause an operation to the region between point and mark. + +`[prefix] .' + ... comment out current paragraph +`[prefix] ,' + ... uncomment current paragraph + +comments or uncomments the paragraph where the cursor belongs. This +`paragraph' means the region marked by the function mark-paragraph, bound +to `ESC h' by default. It is NOT predictable what will happen when you +continuously comment out some paragraph many times. + + You can also comment out an environment between `\begin' and `\end', or +a `\begin'-\`\end' pair themselves, by making the following key strokes on +the line where `\begin{}' or `\end{}' exists. + +`[prefix] >' + ... comment out from \begin to \`end' +`[prefix] <' + ... uncomment from \begin to \`end' + +comment whole the contents of environment. Moreover, + +`[prefix] .' + ... comment out \begin and \`end' +`[prefix] ,' + ... uncomment \begin and \`end' + +(un)comments out only environment declaration: `\begin{}' and `\end{}'. +NOTE that even if you intend to comment out some region, invoking +`[prefix] >' on the `\begin',`\end' line decides to work in `commenting +out from `\begin' to `\end'' mode. + + + + +File: yatexe, Node: Cursor jump, Next: Changing and Deleting, Prev: Commenting out, Up: Top + +Cursor jump +*********** + + +* Menu: + +* Jump to corresponding object:: +* Invoking image processor:: +* Jump to main file:: +* Jumping around the environment:: +* Jumping to last completion position:: + + + +File: yatexe, Node: Jump to corresponding object, Next: Invoking image processor, Prev: Cursor jump, Up: Cursor jump + +Jump to corresponding object +============================ + + Typing + +`[prefix] g' + ... go to corresponding object + +in a certain place move the cursor to the place corresponding to the LaTeX +command of last place. YaTeX recognize the followings as pairs that have +relation each other. + + * `\begin{}' <-> `\end{}' + * `%#BEGIN' <-> `%#END' + * On the image-including line -> corresponding viewer or drawing tool + * `\label{}' <-> `\ref{}' + * `\include(\input)' -> included file + * `\bibitem{}' <-> `\cite{}' + + On a `\begin',`\end' line, typing `[prefix] g' moves the cursor to the +corresponding `\end',`\begin' line, if its partner really exists. The +behavior on the line `%#BEGIN' and `%#END' are the same. Note that if the +correspondent of `label/ref' or `cite/bibitem' exists in another file, +that file have to be opened to make a round trip between references by +`[prefix] g'. + + If you type `[prefix] g' on the line of `\include{chap1}', typically in +the main text, YaTeX switches buffer to `chap1.tex'. + +`[prefix] 4 g' + ... go to corresponding object in other window + +do the same job as `[prefix] g' except it's done in other window. Note +that this function doesn't work on `begin/end', `%#BEGIN/%#END' pairs +because it is meaningless. + + + +File: yatexe, Node: Invoking image processor, Next: Jump to main file, Prev: Jump to corresponding object, Up: Cursor jump + +Invoking image processor +======================== + + +`image-including line' described above means such lines as +`\epsfile{file=foo.ps}'. If you type `[prefix] g' on that line, YaTeX +automatically searches source of `foo.ps' and invokes image viewer or +drawing tool correspoinding to it. For example; if you draw an image +foo.obj with Tgif and enclose its product named foo.eps by `\epsfile' +command. Typing `[prefix] g' on `\epsfile' line make YaTeX invoke `tgif +foo.obj'. How a processor is choosen is as follows. + + 1. If there is an expression matching with one of the pattern defined in + `YaTeX-processed-file-regexp-alist', extract file name from regexp + group surrounded by \\(\\). (Which group corresponds is written in + the cdr part of each list.) If no matches were found, do nothing. + 2. If there is a pattern as `%PROCESSOR' which is defined in the + variable `YaTeX-file-processor-alist', call that processor giving the + file name with corresponding extension. + 3. If not, check the existence of each file which is supplied the + extension in the cdr part of each list of + `YaTeX-file-processor-alist'. If any, call the corresponding image + viewer or drawing tool. + + + +File: yatexe, Node: Jump to main file, Next: Jumping around the environment, Prev: Invoking image processor, Up: Cursor jump + +Jump to main file +================= + + Typing + +`[prefix] ^' + ... visit main file +`[prefix] 4^' + ... visit main file in other buffer + +in a sub text switch the buffer to the main text specified by `%#!' +notation. + + + +File: yatexe, Node: Jumping around the environment, Next: Jumping to last completion position, Prev: Jump to main file, Up: Cursor jump + +Jumping around the environment +============================== + + And these are the functions which work on the current LaTeX environment: + +`M-C-a' + ... beginning of environment +`M-C-e' + ... `end' of environment +`M-C-@' + ... mark environment + + + +File: yatexe, Node: Jumping to last completion position, Prev: Jumping around the environment, Up: Cursor jump + +Jumping to last completion position +=================================== + +YaTeX always memorize the position of completion into register `3'. So +every time you make a trip to any other part of text other than you are +writing, you can return to the editing paragraph by calling +register-to-point with argument YaTeX-current-position-register, which is +achieved by typing `C-x j 3'(by default). + + + +File: yatexe, Node: Changing and Deleting, Next: Filling, Prev: Cursor jump, Up: Top + +Changing and Deleting +********************* + + These functions are for change or deletion of LaTeX commands already +entered. + +`[prefix] c' + ... change LaTeX command +`[prefix] k' + ... kill LaTeX command + +* Menu: + +* Changing LaTeX commands:: +* Killing LaTeX commands:: + + + +File: yatexe, Node: Changing LaTeX commands, Next: Killing LaTeX commands, Prev: Changing and Deleting, Up: Changing and Deleting + +Changing LaTeX commands +======================= + +`[prefix] c' can change the various (La)TeX commands. This can change the +followings. + * Environment names + * Section-type commands + * Argument of section-type commands + * Optional parameters (enclosed by []) of section-type commands + * Font/size designators + * Math-mode's maketitle-type commands that can be inputted with image + completion + + Typing `[prefix] c' on one of above objects you want to change brings a +suitable reading function sometimes with completion. Note: If you want to +change the argument of section-type command that contains other LaTeX +commands, type `[prefix] c' either of surrounding braces of the argument +in order to make YaTeX ignore the internal LaTeX sequences as an object of +changing. Anyway, it is very difficult to know which argument position +the cursor belongs because the LaTeX commands can be nested and braces can +freely emerge. So keep it mind to put the cursor on a brace when you are +thinking of changing a complicated argument. + + + +File: yatexe, Node: Killing LaTeX commands, Prev: Changing LaTeX commands, Up: Changing and Deleting + +Killing LaTeX commands +====================== + + `[prefix] k' kills the LaTeX commands sometimes with their arguments. +Following table illustrates the correspondence of the invoking position +and what is killed. + + [Invoking position] [action] + \begin, \end line kill \begin,\end pairs + %#BEGIN, %#END line kill %#BEGIN,%#END pairs + on a Section-type command kill section-type command + on a parenthesis kill parentheses + +Note that when killing `\begin, \end' or `%#BEGIN, %#END' pair, the lines +`\begin, \end' or `%#BEGIN, %#END' exist will be killed entirely. So take +care not to create any line that contains more than one `\begin' or so. + +While all operations above are to kill `containers' which surround some +text, universal argument (`C-u') for these commands kills not only +`containers' but also `contents' of them. See below as a sample. + + Original text: [prefix] k C-u [prefix] k + Main \footnote{note} here. Main note here. Main here. + ~(cursor) + + + +File: yatexe, Node: Filling, Next: Updation of includeonly, Prev: Changing and Deleting, Up: Top + +Filling +******* + + +Filling an item +=============== + + To fill a term (descriptive sentences) of `\item', type + +`M-q' + ... fill item + +on that item. + + YaTeX uses the value of the variable `YaTeX-item-regexp' as the regular +expression to search item header in itemize environment. If you make a +newcommand to itemize terms(e.g. `\underlineitem'), put + + (setq YaTeX-item-regexp + "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)") + +in your `~/.emacs'. If you are not familiar with regular expression for +Emacs-Lisp, name a newcommand for `itemize' beginning with `\item' such as +`\itembf', not `\bfitem'. + + This function reformats the `\item' into `hang-indented' style. For +example: + + itemize, enumerate environment: + > + >\item[foo] `foo' is the typical word for describing an + > arbitrarily written.... + description environment: + > \item[bar] When the word `for' is used as an arbitrarily + > word, `bar' is bound to follow it. + + Note that the indent depth of an `\item' word and its descriptive +paragraph are the same in latter case. If you want to use different +depth, invoke fill-paragraph at the beginning of non-whitespace +character(see below). + + +Filling paragraph +================= + + Fill-paragraph is little bit adapted for LaTeX sources. It retains from +filling in certain environments where formatting leads to a disaster such +as verbatim, tabular, or so. And it protects `\verb' expressions from +being folded (The variable `YaTeX-verb-regexp' controls this). Besides, +putting cursor on the first occurrence of non-whitespace character on a +line changes the fill-prefix temporarily to the depth of the line. + + + +File: yatexe, Node: Updation of includeonly, Next: What column, Prev: Filling, Up: Top + +Updation of `\includeonly' +************************** + + When you edit splitting source texts, the notation + + \includeonly{CurrentEditingFileName} + +in the main file reduces the time of typesetting. If you want to hack +other file a little however, you have to rewrite it to + + \includeonly{OtherFileNameYouWantToFix} + +in the main file. YaTeX automatically detects that the current edited +text is not in includeonly list and prompts you + + A)dd R)eplace %)comment? + +in the minibuffer. Type `a' if you want to add the current file name to +`\includeonly' list, `r' to replace \`includeonly' list with the current +file, and type `%' to comment out the `\includeonly' line. + + + +File: yatexe, Node: What column, Next: Intelligent newline, Prev: Updation of includeonly, Up: Top + +What column? +************ + + We are often get tired of finding the corresponding column in large +tabulars. For example, + + \begin{tabular}{|c|c|c|c|c|c|c|c|}\hline + Name&Position&Post No.&Addr.&Phone No.&FAX No.& + Home Addr.&Home Phone\\ \hline + Thunder Bird & 6 & 223 & LA & xxx-yyy & + zzz-www & Japan & 9876-54321 \\ + & 2 & \multicolumn{2}{c|}{Unknown} + &&&(???) + \\ \hline + \end{tabular} + +Suppose you have the cursor located at `(???)' mark, can you tell which +column it is belonging at once? Maybe no. In such case, type + +`[prefix] &' + ... What column + +in that position. YaTeX tells you the column header of the current field. +Since YaTeX assumes the first line of tabular environment as a row of +column headers, you can create a row of virtual column headers by putting +them in the first line and commenting that line with `%'. + + + +File: yatexe, Node: Intelligent newline, Next: Usepackage checker, Prev: What column, Up: Top + +Intelligent newline +******************* + + At the end of begin-type completion of tabular[*], array, itemize, +enumerate or tabbing environment, or typing + +`ESC RET' + ... Intelligent newline + +in these environments inserts the contents corresponding to the current +environment in the next line. (At the begin-type completion, this +contents can be removed by `undo'.) In `tabular' environment, for +example, `ESC RET' inserts the certain number of `&' and trailing `\\', +and `\hline' if other `\hline' is found in backward. Here are the list of +contents vs. environments. + + * `tabular', `tabular*', `array' + + Corresponding number of `&' and `\\'. And `\hline' if + needed. + + * `tabbing' + + The same number of `\>' as `\=' in the first line. + + * `itemize', `enumerate', `description', `list' + + `\item' or `item[]'. + + Note that since this function works seeing the contents of the first +line, please call this after the second line if possible. + + If you want to apply these trick to other environments, `foo' +environment for example, define the function named +`YaTeX-intelligent-newline-foo' to insert corresponding contents. That +function will be called at the beginning of the next line after the +newline is inserted to the current line. Since the function +`YaTeX-indent-line' is designed to indent the current line properly, +calling this function before your code to insert certain contents must be +useful. See the definition of the function +`YaTeX-intelligent-newline-itemize' as an example. + + + +File: yatexe, Node: Usepackage checker, Next: Online help, Prev: Intelligent newline, Up: Top + +Usepackage checker +****************** + +When you input begint-type, section-type, maketitle-type macros with +completion, and it requires some LaTeX2e package, YaTeX examines the +existence of correct `\usepackage'. If not, YaTeX inserts the +`\usepackage{}' declaration corresponding to input macro. + +To activate the package completion for your favarite package, set the +variable `YaTeX-package-alist-private' correctly. Please refere the value +of `YaTeX-package-alist-default' as an example. + + + +File: yatexe, Node: Online help, Next: Browsing file hierarchy, Prev: Usepackage checker, Up: Top + +Online help +*********** + + YaTeX provides you the online help with popular LaTeX commands. + + Here are the key strokes for the online help. + +`[prefix] ?' + ... Online help +`[prefix] /' + ... Online apropos + + +Online help +=========== + + `Online help' shows the documentation for the popular LaTeX +commands(defaults to the commands on the cursor) in the next buffer. +There are two help file, `global help' and `private help'. The former +file contains the descriptions on the standard LaTeX command and is +specified its name by variable `YaTeX-help-file'. Usually, the global +help file should be located in public space (`$EMACSEXECPATH' by default) +and should be world writable so that anyone can update it to enrich its +contents. The latter file contains descriptions on non-standard or +personal command definitions and is specified by +`YaTeX-help-file-private'. This file should be put into private +directory. + + +Online apropos +============== + + `Online apropos' is an equivalent of GNU Emacs's apropos. It shows all +the documentations that contains the keyword entered by the user. + + +When no descriptions are found... +================================= + + If there is no description on a command in help files, YaTeX requires +you to write a description on that command. If you are willing to do, +determine which help file to add and write the description on it referring +your manual of (La)TeX. Please send me your additional descriptions if +you describe the help on some standard commands. I might want to include +it in the next distribution. + + + +File: yatexe, Node: Browsing file hierarchy, Next: Cooperation with other packages, Prev: Online help, Up: Top + +Browsing file hierarchy +*********************** + + When you are editing multi-file source, typing + +`[prefix] d' + ... browse file hierarchy + +asks you the parent-most file (which may be defaulted) and displays the +documentation hierarchy in the next window. In this buffer, the following +commands are available. + +`n' + ... move to the next line and show its contents +`p' + ... move to the previous line and show its contents +`N' + ... move to the next file in the same inclusion level +`P' + ... move to the previous file in the same inclusion level +`j' + ... move to the next line +`k' + ... move to the previous line +`u' + ... move to the parent file +`.' + ... show the current files contents in the next window +`SPC' + ... scroll up the current file window +`DEL, b' + ... scroll down the current file window +`<' + ... show the beginning of the current file +`>' + ... show the end of the current file +`>' + ... return to the previous postion after `<' or `>' +`RET, g' + ... open the current file in the next window +`mouse-2' + ... same as RET(available only with window system) +`o' + ... other window +`1' + ... delete other windows +`-' + ... shrink hierarchy buffer window +`+' + ... enlarge hierarchy buffer window +`?' + ... describe mode +`q' + ... quit + + Note that operations on the file contents in the next window do not work +correctly when you close the corresponding file. + + + +File: yatexe, Node: Cooperation with other packages, Next: Customizations, Prev: Browsing file hierarchy, Up: Top + +Cooperation with other packages +******************************* + + YaTeX works better with other brilliant packages. + + +gmhist +====== + + When you are loading `gmhist.el' and `gmhist-mh.el', you can use +independent command history list at the prompt of preview command +(`[prefix] tp') and print command (`[prefix] tl'). On each prompt, you +can enter the previous command line string repeatedly by typing `M-p'. + + +min-out +======= + + `min-out', the outline minor mode, can be used in yatex-mode buffers. +If you want to use it with YaTeX, please refer the file `yatexm-o.el' as +an example. + + + +File: yatexe, Node: Customizations, Next: Etcetera, Prev: Cooperation with other packages, Up: Top + +Customizations +************** + + You can customize YaTeX by setting Emacs-Lisp variables and by making +add-in functions. + +* Menu: + +* Lisp variables:: +* Add-in functions:: +* Add-in generator:: + + + +File: yatexe, Node: Lisp variables, Next: Add-in functions, Prev: Customizations, Up: Customizations + +Lisp variables +============== + + You can change the key assignments or make completion more comfortable +by setting the values of various variables which control the movement of +yatex-mode. + + For example, if you want to change the prefix key stroke from `C-c' to +any other sequence, set YaTeX-prefix to whatever you want to use. If you +don't want to use the key sequence `C-c letter' which is assumed to be the +user reserved sequence in Emacs world, set `YaTeX-inhibit-prefix-letter' +to `t', and all of the default key bind of `C-c letter' will turn to the +corresponding `C-c C-letter' (but the region based completions that is +invoked with `C-c Capital-letter' remain valid, if you want to disable +those bindings, set that variable to 1 instead of `t'). + +* Menu: + +* All customizable variables:: +* Sample definitions:: +* Hook variables:: +* Hook file:: + + + +File: yatexe, Node: All customizable variables, Next: Sample definitions, Prev: Lisp variables, Up: Lisp variables + +All customizable variables +-------------------------- + + Here are the customizable variables of yatex-mode. Each value setq-ed +in `~/.emacs' is preferred and that of defined in `yatex.el' is neglected. +Parenthesized contents stands for the default value. When you are to +change some of these variables, see more detailed documentation of the +variable by `M-x describe-variable'. + + -- Variable: YaTeX-japan + Set this nil to produce all messages in English (`Depends on Japanese + feature of Emacs') + + -- Variable: YaTeX-kanji-code + Default buffer-file-coding-system for YaTeX modes' buffer. Set this + 0 to no language conversion. Nil to preserve original + coding-system. 1=Shift JIS, 2=JIS, 3=EUC, 4=UTF-8 (`1 or 2') + + -- Variable: YaTeX-prefix + Prefix key stroke (`C-c') + + -- Variable: YaTeX-inhibit-prefix-letter + Change key stroke from `C-c letter' to `C-c C-letter' (`nil') + + -- Variable: YaTeX-fill-prefix + Fill-prefix used in yatex-mode (`nil') + + -- Variable: YaTeX-user-completion-table + Name of user dictionary where learned completion table will be + stored. (`"~/.yatexrc"') + + -- Variable: tex-command + LaTeX typesetter command (`"latex"') + + -- Variable: dvi2-command + Preview command (`"xdvi -geo +0+0 -s 4"') + + -- Variable: dviprint-command-format + Command format to print dvi file (`"dvi2ps %f %t %s | lpr"') + + -- Variable: dviprint-from-format + Start page format of above %f. %b will turn to start page (`"-f %b"') + + -- Variable: dviprint-to-format + End page format of above %t. %e will turn to `end' page (`"-t %e"') + + -- Variable: makeindex-command + Default makeindex command (`"makeindex"' (`"makeind"' on MS-DOS)) + + -- Variable: YaTeX-dvipdf-command + Default command name to convert .dvi to PDF (`"dvipdfmx"') + + -- Variable: YaTeX-need-nonstop + Put `\nonstopmode{}' or not (`nil') + + -- Variable: latex-warning-regexp + Regular expression of warning message latex command puts out + (`"line.* [0-9]*"') + + -- Variable: latex-error-regexp + Regular expression of error message (`"l\\.[1-9][0-9]*"') + + -- Variable: latex-dos-emergency-message + Message latex command running on DOS puts at abort (`"Emergency + stop"') + + -- Variable: YaTeX-item-regexp + Regular expression of item command (`"\\\\item"') + + -- Variable: YaTeX-verb-regexp + Regexp of verb family. Omit \\\\. (`"verb\\*?\\|path"') + + -- Variable: YaTeX-nervous + T for using local dictionary (`t') + + -- Variable: YaTeX-sectioning-regexp + Regexp of LaTeX sectioning command + (`"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"') + + -- Variable: YaTeX-fill-inhibit-environments + Inhibit fill in these environments (`'("tabular" "tabular*" "array" + "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" + "verbatim" "verbatim*")') + + -- Variable: YaTeX-uncomment-once + T for deleting all preceding `%' (`nil') + + -- Variable: YaTeX-close-paren-always + T for always close all parenthesis automatically, `nil' for only eol + (`t') + + -- Variable: YaTeX-auto-math-mode + Switch math-mode automatically (`t') + + -- Variable: YaTeX-math-key-list-private + User defined alist, math-mode-prefix vs completion alist used in + image completion (`nil'). See `yatexmth.el' for the information + about how to define a completion alist. + + -- Variable: YaTeX-default-pop-window-height + Initial height of typesetting buffer when one-window. Number for the + lines of the buffer, numerical string for the percentage of the + screen-height. `nil' for half height (10) + + -- Variable: YaTeX-help-file + Global online help file name + (`$doc-directory/../../site-lisp/YATEXHLP.eng') + + -- Variable: YaTeX-help-file-private + Private online help file name (`"~/YATEXHLP.eng"') + + -- Variable: YaTeX-no-begend-shortcut + Disable [prefix] b ?? shortcut (`nil)' + + -- Variable: YaTeX-hilit-pattern-adjustment-private + List of the list that contain the regular expression and the symbol + of logical meaning of the string that matches the pattern. See also + the value from `(assq 'yatex-mode hilit-patterns-alist)' and the + value of `YaTeX-hilit-pattern-adjustment-default' (and even the + document of hilit19.el). + + -- Variable: YaTeX-sectioning-level + Alist of LaTeX's sectioning command vs its height. + + -- Variable: YaTeX-hierarchy-ignore-heading-regexp + `YaTeX-display-hierarchy' searches for sectioning command first, and + comment line secondary as a file headings. In latter case, ignore lines + that match with regular expression of this variable. Default value of + this variable is RCS header expressions and mode specifying line `-*- xxxx + -*'. + + -- Variable: YaTeX-skip-default-reader + Non-nil for this variable skips the default argument reader of + section-type command when add-in function for it is not defined + (`nil') + + -- Variable: YaTeX-create-file-prefix-g + When typing `prefix g' on the `\include' line, open the target file + even if the file doesn't exist (`nil') + + -- Variable: YaTeX-simple-messages + Simplyfy messages of various completions (`nil') + + -- Variable: YaTeX-hilit-sectioning-face + When hilit19 and yatex19 is active, YaTeX colors the sectioning + commands. This variable specifies the foreground and background + color of `\part' macro. The default value is `'(yellow/dodgerblue + yellow/slateblue)'. The first element of this list is for the screen + when `hilit-background-mode' is `'light', and the second element is + for `'dark'. You should specify both color as `forecolor/backcolor'. + + -- Variable: YaTeX-hilit-sectioning-attenuation-rate + When color mode, this variable specifies how much attenuate the color + density of `\subparagraph' compared with that of `\chapter' (`'(15 + 40)') See also `YaTeX-hilit-sectioning-face'. + + -- Variable: YaTeX-use-AMS-LaTeX + If you use AMS-LaTeX, set to `t' (`nil') + + -- Variable: YaTeX-use-LaTeX2e + If you use LaTeX2e, set to `t' (`t') + + -- Variable: YaTeX-template-file + File name which is automatically inserted at creation + (`~/work/template.tex') + + -- Variable: YaTeX-search-file-from-top-directory + Non-nil means to search input-files from the directory where main + file exists (`t') + + -- Variable: YaTeX-use-font-lock + Use font-lock to fontify buffer or not (`(featurep 'font-lock)' + + -- Variable: YaTeX-use-hilit19 + Use hilit19 to highlight buffer or not (`(featurep 'hilit19)' + + -- Variable: YaTeX-use-italic-bold + YaTeX tries to search italic, bold fontsets or not (`t' if Emacs-20 + or later). This variable is effective only when font-lock is used. + (`(featurep 'hilit19)' + + -- Variable: YaTeX-singlecmd-suffix + Suffix which is always inserted after maketitle-type macros. `"{}"' + is recommended. + + -- Variable: YaTeX-package-alist-private + Alist of LaTeX2e-package name vs. lists of macros in it. Set this + alist properly and YaTeX automatically check the declaratiion of + `usepackage' for corresponding macro, when you input that macro with + completion. If required `usepackage' is not found, YaTeX also + automatically inserts `\usepackage'. Alist is as follows; + '((PackageName1 (completionType ListOfMacro) (completionType + ListOfMacro)) (PackageName2 (completionType ListOfMacro) + (completionType ListOfMacro...))....) completionType is one of `env, + section, maketitle'. Consult the value of + `YaTeX-package-alist-default' as an example. + + -- Variable: YaTeX-tabular-indentation + At indentation by `C-i' in tabular or array environment, YaTeX put + the additional spaces to the normail indentation depth. The number + of additional spaces is the product of YaTeX-tabular-indentation and + the number of column position in tabular. + + -- Variable: YaTeX-noindent-env-regexp + Regexp of environment names that should begin with no indentation. + All verbatime-like environment name should match with. + + -- Variable: YaTeX-ref-default-label-string + Default \\ref time string format. This format is like strftime(3) + but allowed conversion char are as follows; %y -> Last 2 digit of + year, %b -> Month name, %m -> Monthe number(1-12), %d -> Day, %H -> + Hour, %M -> Minute, %S -> Second, %qx -> alphabetical-decimal + conversion of yymmdd. %qX -> alphabetical-decimal conversion of + HHMMSS. Beware defualt label-string should be always unique. So + this format string should have both time part (%H+%M+%S or %qX) and + date part (%y+(%b|%m)+%d or %qx). + + -- Variable: YaTeX-ref-generate-label-function + Function to generate default label string for unnamed \\label{}s. + The function pointed to this value should take two arguments. First + argument is LaTeX macro's name, second is macro's argument. Here is + an example for using this value. + (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label) + (defun my-yatex-generate-label (command value) + (and (string= command "caption") + (re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t) + (setq command (match-string 1))) + (let ((alist '(("chapter" . "chap") + ("section" . "sec") + ("subsection" . "subsec") + ("figure" . "fig") + ("table" . "tbl")))) + (if (setq command (cdr (assoc command alist))) + (concat command ":" value) + (YaTeX::ref-generate-label nil nil)))) + + + + +File: yatexe, Node: Sample definitions, Next: Hook variables, Prev: All customizable variables, Up: Lisp variables + +Sample definitions +------------------ + + For instance, to change the prefix key stroke to `ESC', and name of the +user dictionary `~/src/emacs/yatexrc', and set `fill-prefix' to single TAB +character, add the following `setq' to `~/.emacs'. + + (setq YaTeX-prefix "\e" + YaTeX-user-completion-table "~/src/emacs/yatexrc" + YaTeX-fill-prefix " ") + + + +File: yatexe, Node: Hook variables, Next: Hook file, Prev: Sample definitions, Up: Lisp variables + +Hook variables +-------------- + + More customizations will be done by the hook-function defined in +hook-variable `yatex-mode-hook'. This is useful to define a shortcut key +sequence to enter some environments other than `document' and `enumerate' +etc. The following statement defines `[prefix] ba' to enter +`\begin{abstract}' ... `=end{abstract}' immediately. + + (setq yatex-mode-hook + '(lambda() (YaTeX-define-begend-key "ba" "abstract"))) + + You should use functions `YaTeX-define-key', or +`YaTeX-define-begend-key' to define all the key sequences of yatex-mode. + + + +File: yatexe, Node: Hook file, Prev: Hook variables, Up: Lisp variables + +Hook file +--------- + + You can stuff all of YaTeX related expressions into a file named +`yatexhks.el' if you have a lot of codes. YaTeX automatically load this +file at the initialization of itself. Using `yatexhks.el' makes +`yatex-mode-load-hook' unnecessary. + + + +File: yatexe, Node: Add-in functions, Next: Add-in generator, Prev: Lisp variables, Up: Customizations + +Add-in functions +================ + + You can easily define a function to input detailed arguments with +completion according to LaTeX environments or commands. + + +What is add-in functions? +------------------------- + + When you input `tabular' environment, don't you think "I want YaTeX to +complete its argument toward my favorite one such as `{|c|c|c|}'..."? +Yes, you can define the function to complete arguments for any environment +and any LaTeX commands. + + +Procedure +--------- + + Here is the procedure to define add-in functions. + 1. Define the function + 2. Put the function into `yatexhks.el' + +* Menu: + +* How the add-in function works:: +* How the function is called:: +* Useful functions for creating add-in:: +* Contribution:: + + + +File: yatexe, Node: How the add-in function works, Next: How the function is called, Prev: Add-in functions, Up: Add-in functions + +How the add-in function works +----------------------------- + +There are three types of add-in. + + 1. Option add-in + 2. argument add-in + 3. enclosing add-in + +"Option add-in" returns the LaTeX's optional parameters such as optional +strings after `\begin{ENV}', optional strings between a section-type +command and its first argument, and optional strings just after type +maketitle-type command. The following illustrates the name of add-in +functions, where underlined strings are generated by add-in functions. + + \begin{table}[ht] (Function name: YaTeX:table) + ~~~~ + \put(100,200){} (Function name: YaTeX:put) + ~~~~~~~~~ + \sum_{i=0}^{n} (Function name: YaTeX:sum) + ~~~~~~~~~~ + + Obviously, the function name is decided by concatenating the prefix +`YaTeX:' and LaTeX command's name. + + Another add-in type is "argument add-in", which completes arguments for +section-type commands. + + \newcommand{\foo}{bar} (Function name: YaTeX::newcommand) + ~~~~ ~~~ + + When the section-type command is inputted, the function named by +concatenating `YaTeX::' and section-type command, is called automatically +with an integer argument which indicates which argument of section-type +command is being read. Thus the add-in should determine the job referring +the value of its argument. + + "enclosing add-in" is for modifying and/or checking the region that will +be enclosed by section-type commands via `[prefix] S'. An enclosing +add-in function will be called with two arguments, beginning of the +enclosed region and end of the region. Suppose you want to enclose the +existing text `(a+b)/c' by `\frac{}'. + + a/c + | | + A B + +You do set-mark-command at point A and then move to point B. Typing +`[prefix] S' and input `frac' enclose the region like this; + + \frac{a/c} + +Normally, the expression `a/c' is translated to `\frac{a}{c}'. An +enclosing add-in is useful for modifying `/' to `}{'. + +* Menu: + +* Defining option-add-in:: +* Defining argument-add-in:: +* Defining enclosing-add-in:: + + + +File: yatexe, Node: Defining option-add-in, Next: Defining argument-add-in, Prev: How the add-in function works, Up: How the add-in function works + +Defining `option add-in' +........................ + + If you want `{|c|c|c|}' for all `tabular' environment, + + (defun YaTeX:tabular () + "{|c|c|c|}") + +is enough. If you want more complicated format, define as below. + + (defun YaTeX:tabular () + "{@{\\vrule width 1pt\\ }|||@{\\ \\vrule width 1pt}}") + +Note that the character `\' must be described as `\\' in Emacs-Lisp. The +next example reads the tabular format from keyboard. + (defun YaTeX:tabular () + (concat "{" (read-string "Rule: ") "}")) + + + +File: yatexe, Node: Defining argument-add-in, Next: Defining enclosing-add-in, Prev: Defining option-add-in, Up: How the add-in function works + +Defining `argument add-in' +.......................... + + This section describes how to define the add-in function for +`\newcommand'. + + The first argument of `\newcommand' begins always with `\'. The second +argument is usually so complex that we can not edit them in the +minibuffer. Here is the created function considering this. + + (defun YaTeX::newcommand (n) ;n is argument position + (cond + ((= n 1) ;1st argument is macro name + (read-string "Command: " "\\")) ;initial input `\' + ((= n 2) "") ;do nothing when reading arg#2 + (t nil))) + + Note that when the `argument add-in' function return `nil', normal +argument reader will be called. + + + +File: yatexe, Node: Defining enclosing-add-in, Prev: Defining argument-add-in, Up: How the add-in function works + +Defining `enclosing add-in' +........................... + + This section describes how to define the add-in function for text +enclosed by `\frac{}'. + + When enclosing the text `5/3' by `\frac{}', you might want to replace +`/' with `}{'. Enclosing function `YaTeX::frac-region' is called with two +arguments, beginning of enclosed text and end of enclosed text. The +function is expected to replace `/' with `}{'. Here is an example +expression. + + (defun YaTeX::frac-region (beg end) + (catch 'done + (while (search-forward "/" end t) + (goto-char (match-beginning 0)) + (if (y-or-n-p "Replace this slash(/) with `}{'") + (throw 'done (replace-match "}{"))) + (goto-char (match-end 0))))) + + + +File: yatexe, Node: How the function is called, Next: Useful functions for creating add-in, Prev: How the add-in function works, Up: Add-in functions + +How the function is called +-------------------------- + + YaTeX calls the add-in functions for specified begin-type, section-type, +and maketitle-type command, if any. `Option add-in' functions for +begin-type are called when `\begin{ENV}' has been inserted, functions for +section-type are called just before input of the first argument, and +functions for maketitle-type is called after maketitle-type command has +been inserted. `Argument add-in' functions are called at each entry of +arguments for section-type commands. + + + +File: yatexe, Node: Useful functions for creating add-in, Next: Contribution, Prev: How the function is called, Up: Add-in functions + +Useful functions for creating add-in +------------------------------------ + + Many add-in functions for typical LaTeX commands are defined in +`yatexadd.el'. Those are also useful as references. Here are the short +descriptions on useful functions, where [F] means function, [A] means +arguments, [D] means description. + +`[F]' + YaTeX:read-position +`[A]' + Character list which can show up in the brackets +`[D]' + Return the location specifier such as `[htb]'. When nothing is + entered, omit [] itself. If the possible characters are "htbp", call + this function as `(YaTeX:read-position "htbp")' + +`[F]' + YaTeX:read-coordinates +`[A]' + Base prompt, X-axis prompt, Y-axis prompt (each optional) +`[D]' + Read the coordinates with the prompt "BasePrompt X-axisPrompt:" for + X-axis, "BasePrompt Y-axisPrompt:" for Y-axis, and return it in the + form of "(X,Y)". The default prompts are `Dimension', `X', `Y' + respectively. + +`[F]' + YaTeX:check-completion-type +`[A]' + One of the symbols: 'begin, 'section, or 'maketitle +`[D]' + Check the current completion type is specified one and cause error + if not. The variable `YaTeX-current-completion-type' holds the symbol + according to the current completion type. + + + +File: yatexe, Node: Contribution, Prev: Useful functions for creating add-in, Up: Add-in functions + +Contribution +------------ + + If you make your own pretty function and you let it be in public, please +send me the function. I'm going to include it in the next release. + + + +File: yatexe, Node: Add-in generator, Prev: Add-in functions, Up: Customizations + +Add-in generator +================ + + First, don't forget to read the section of add-in functions *Note Add-in +functions::. If you easily understand how to define them, there's no need +to read this section. But being not familiar with Emacs-Lisp, when you +don't have clear idea what to do, this section describes how to get YaTeX +make add-in function. + + There are two methods of generation. One is for fully interactive +generator for beginners and another requires little knowledge of +Emacs-Lisp. + + +Generator for beginners +----------------------- + The former generator is called by + `M-x YaTeX-generate' + +strokes. All you have to do is follow the guidances. Defying them may +cases the disaster (I wonder what is it???). So when you make some +mistake, it is recommendable to type `C-g' and start afresh. + + +Simple generator +---------------- + + The latter generator is invoked by the next sequence. `M-x +YaTeX-generate-simple' This generator can make both "option add-in" and +"argument add-in" (*refer the section add-in functions* *Note How the +add-in function works::), whereas `YaTeX-generate' cannot make "argument +addin". + + For example, assume you have the LaTeX command as follows. + + \epsinput[t](250,50){hoge.eps}{plain}{Picture of foo} + (A) (B) (1) (2) (3) + (A)Optional parameter to specify the position + One of t(top), b(bottom), l(left), r(right) + (B)Maximum size of frame + (1)1st argument is filename of EPS file + (2)2nd argument indicates + plain do nothing + frame make frame around image + dframe make double-frame around image + for included EPS file. + (3)Caption for the picture + + Now get start with generation. Typing `M-x YaTeX-generate-simple' +brings the prompt: + (O)ption? (A)rgument? + + +Generating "option add-in" +.......................... + + Since (A), (B) above are optional argument, all we have to do to +complete them is define the option add-in for them. Let's generate the +function to complete (A). + + M-x YaTeX-generate-simple RET + epsinput RET + o + +Typing as above leads the next prompt. + + Read type(1): (S)tring (C)omplete (F)ile ([)option (P)osition co(O)rd. (q)uit + + This asks that "Which type is the completion style of 1st argument?". +Here are the possible completion style. + +`String' + read plain string +`Complete' + read with completion +`File' + read file name +`Option' + read optional string (if string omitted, omit [] too) +`Position' + read positional option (like [htbp]) +`Coord.' + read coordinates +`Quit' + quit from generating + + Since (A) is the optional argument to specify the location of included +EPS file, the completion style is `Position', and the possible characters +are t, b, l, and r. To tell these information to generator, operate as +follows. + + Read type(1).... p + Acceptable characters: tblr RET + + (B) is coordinate. So its completion style is coOrd. We want a prompt +meaning "Maximum size" when completion. + + Read type(2).... o + Prompt for coordinates: Max size RET + + That's all for optional argument. Select quit. + + Read type(3).... q + + Then the generated option add-in function for \epsinput will be shown in +the next window. + + +Generating "argument add-in" +............................ + + Next, create the argument add-in. The arguments for \epsinput are EPS +file name, framing style, and caption string in sequence. + + M-x YaTeX-generate-simple RET + epsinput RET + a + + Above key strokes bring the prompt that asks the number of argument. +Answer it with 3. + + How many arguments?: 3 RET + + Then the generator asks the completion style and prompt for completion. +Answer them. `f' for FileName and prompt string. + + Read type(1).... f + Prompt for argument#1 EPS file name RET + + The second argument is one of selected symbol. So the completion type +is `Completion'. + + Read type(2).... c + Prompt for argument#2 Include style RET + + Then all the candidates ready to be read. Type single RET after +entering all. + + Item[1](RET to exit): plain RET + Item[2](RET to exit): frame RET + Item[3](RET to exit): dframe RET + Item[4](RET to exit): RET + + The following prompt asks whether the entered string must belong to +candidates or not. In this case, since the argument must be one of +`plain', `frame', and `dframe', type `y'. + + Require match? (y or n) y + + The last argument is the caption string for which any completion is +needed. + + Read type(3).... s + Prompt for argument#3 Caption RET + default: Figure of RET + + Finally we'll get the argument add-in in the next window. + + +Contribution +------------ + + If you get your own pretty function and you let it be in public, please +steel yourself in the happy atmosphere and do not send me the function. I +do know it is not fine because it is generated by yatexgen:-p. + + + +File: yatexe, Node: Etcetera, Next: Copying, Prev: Customizations, Up: Top + +Etcetera +******** + + The standard completion tables provided in `yatex.el' contain a few +LaTeX commands I frequently use. This is to lessen the key strokes to +complete entire word, because too many candidates rarely used often cause +too many hits. Therefore always try to use completion in order to enrich +your dictionary, and you will also find `Wild Bird' growing suitable for +your LaTeX style. + + The package name `Wild Bird' is the English translation of Japanese +title `Yachou', which is a trick on words of Japanese. + + + +File: yatexe, Node: Copying, Prev: Etcetera, Up: Top + +Copying +******* + + This program is distributed as a free software. You can +use/copy/modify/redistribute this software freely but with NO warranty to +anything as a result of using this software. Adopting code from this +program is also free. But I would not do contract act. + +Any reports and suggestions are welcome as long as I feel interests in +this software. My possible e-mail address is `yuuji@yatex.org'. (as of +Jan.2004) And there is mailing list for YaTeX. Although the common +language is Japanese, questions in English will be welcome. To join the +ML, send the mail whose subject is `append' to the address +`yatex@yatex.org. If you have some question, please ask to +`yatex-admin@yatex.org'. + + The specification of this software will be surely modified (depending on +my feelings) without notice :-p. + + + HIROSE Yuuji + +Tag table: +Node: Top256 +Node: What is YaTeX?1597 +Node: Main features1970 +Node: Installation3499 +Node: Typesetting4276 +Node: Calling typesetter5406 +Node: Calling previewer7610 +Node: Printing out7971 +Node: %#notation8263 +Node: Changing typesetter8681 +Node: Splitting input files9045 +Node: Static region for typesetting10470 +Node: Lpr format11599 +Node: Controlling which command to invoke12672 +Node: Editing %# notation13265 +Node: Completion13809 +Node: Begin-type completion14369 +Node: Section-type completion17412 +Node: view-sectioning19847 +Node: Large-type completion21427 +Node: Maketitle-type completion22158 +Node: Arbitrary completion22710 +Node: End completion23100 +Node: Accent completion23570 +Node: Image completion24187 +Node: Greek letters completion26444 +Node: Local dictionaries27171 +Node: Commenting out28108 +Node: Cursor jump29567 +Node: Jump to corresponding object29879 +Node: Invoking image processor31280 +Node: Jump to main file32623 +Node: Jumping around the environment32988 +Node: Jumping to last completion position33406 +Node: Changing and Deleting33915 +Node: Changing LaTeX commands34307 +Node: Killing LaTeX commands35484 +Node: Filling36669 +Node: Updation of includeonly38520 +Node: What column39317 +Node: Intelligent newline40402 +Node: Usepackage checker42056 +Node: Online help42647 +Node: Browsing file hierarchy44322 +Node: Cooperation with other packages46059 +Node: Customizations46764 +Node: Lisp variables47098 +Node: All customizable variables48102 +Node: Sample definitions57901 +Node: Hook variables58414 +Node: Hook file59118 +Node: Add-in functions59457 +Node: How the add-in function works60317 +Node: Defining option-add-in62516 +Node: Defining argument-add-in63238 +Node: Defining enclosing-add-in64120 +Node: How the function is called64974 +Node: Useful functions for creating add-in65650 +Node: Contribution67055 +Node: Add-in generator67329 +Node: Etcetera72701 +Node: Copying73306 + +End tag table diff -r 5d8f03ba4285 -r 29ab3f4fcd9e docs/yatexe.tex --- a/docs/yatexe.tex Thu Jan 12 12:27:20 2012 +0900 +++ b/docs/yatexe.tex Mon May 14 18:39:05 2012 +0900 @@ -2,10 +2,13 @@ \input texinfo.tex @setfilename yatexe @settitle Yet Another tex-mode for Emacs +@direntry +* YaTeX-e: (yatexe). Yet Another tex-mode for Emacs (English). +@end direntry @iftex @c @syncodeindex fn cp -@c Last modified Thu May 27 18:04:10 2010 on firestorm +@c Last modified Fri May 11 15:40:49 2012 on firestorm @syncodeindex vr cp @end iftex @@ -15,7 +18,7 @@ @subtitle Yet Another tex-mode for emacs @title Wild Bird @subtitle // YaTeX // -@author @copyright{} 1991-2003 by HIROSE, Yuuji [yuuji@@yatex.org] +@author @copyright{} 1991-2012 by HIROSE, Yuuji [yuuji@@yatex.org] @end titlepage @node Top, What is YaTeX?, (dir), (dir) @@ -48,6 +51,7 @@ * Etcetera:: YaTeX is acquisitive. * Copying:: Redistribution +@end menu @node What is YaTeX?, Main features, Top, Top @comment node-name, next, previous, up @@ -90,8 +94,8 @@ @item Document files hierarchy browser (@kbd{C-c d}) @item Adding automatically \usepackage corresponding to inputting LaTeX macro with completion -@item Allow you to forget creating \label{}s, \ref or \cite completion - automatically generate labels. +@item Allow you to forget creating \label@{@}s, \ref@{@} or \cite@{@} + completion automatically generate labels. @end itemize @node Installation, Typesetting, Main features, Top @@ -148,6 +152,8 @@ @item [prefix] t e @dots{} invoke latex on current environment or whole portion of current formulas in math-mode. +@item [prefix] t d + @dots{} invoke dvipdfmx after successful typesetting @item [prefix] t k @dots{} kill current typesetting process @item [prefix] t b @@ -200,7 +206,7 @@ by @code{%#BEGIN} and @code{%#END} marks. Selected region will be copied to the temporary file @file{texput.tex} with the same preamble as the main file of current editing sources. Be sure to put -all local macro settings in preamble, not after @code{\begin{document}}. +all local macro settings in preamble, not after @code{\begin@{document@}}. The method of specification of the region is shown in the section @xref{%#notation}. @@ -252,6 +258,7 @@ * Splitting input files:: * Static region for typesetting:: * Lpr format:: +* Controlling which command to invoke:: * Editing %# notation:: @end menu @@ -287,7 +294,7 @@ description makes it convenient to use ghostview as dvi-previewer. @example - %#!latex main ; dvi2ps main.dvi > main + %#!latex main && dvi2ps main.dvi > main @end example @noindent @@ -362,7 +369,7 @@ @code{%#BEGIN} alone at the middle of very long text. Do not forget to erase @code{%#BEGIN} @code{%#END} pair. -@node Lpr format, Editing %# notation, Static region for typesetting, %#notation +@node Lpr format, Controlling which command to invoke, Static region for typesetting, %#notation @comment node-name, next, previous, up @section Lpr format @cindex lpr format @@ -400,7 +407,29 @@ %#LPR dvi2ps %s | lpr @end example -@node Editing %# notation, , Lpr format, %#notation +@node Controlling which command to invoke, Editing %# notation, Lpr format, %#notation +@comment node-name, next, previous, up +@section Controlling which command to invoke + +These %# notation below can control which command to invoke for +La@TeX{} related process. + +@table @code + @item %#BIBTEX + @dots{} Command line for makeindex ([prefix] t i) + @item %#MAKEINDEX + @dots{} Command line for bibtex ([prefix] t b) +@end table + +If you want to invoke ``makeidx hogehoge'' to update index, +put the next line some upper place in the source, for example. + +@example +%#MAKEINDEX makeidx hogehoge +@end example + + +@node Editing %# notation, , Controlling which command to invoke, %#notation @comment node-name, next, previous, up @section Editing %# notation @@ -917,7 +946,7 @@ `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard @end example -@noindent +@noindent In this menu, typing @kbd{u} updates your `user dictionary', @kbd{l} updates your local dictionary, @kbd{n} updates only on-memory dictionary which go through only current Emacs session, and @kbd{d} updates no @@ -1365,7 +1394,7 @@ @dots{} Intelligent newline @end table -@noindent +@noindent in these environments inserts the contents corresponding to the current environment in the next line. (At the begin-type completion, this contents can be removed by `undo'.) In @code{tabular} environment, for @@ -1824,7 +1853,7 @@ @defvar YaTeX-singlecmd-suffix Suffix which is always inserted after maketitle-type macros. -@code{"{}"} is recommended. +@code{"@{@}"} is recommended. @end defvar @defvar YaTeX-package-alist-private @@ -1870,7 +1899,7 @@ @end defvar @defvar YaTeX-ref-generate-label-function -Function to generate default label string for unnamed \\label{}s. +Function to generate default label string for unnamed \\label@{@}s. The function pointed to this value should take two arguments. First argument is LaTeX macro's name, second is macro's argument. Here is an example for using this value. @@ -1878,7 +1907,7 @@ (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label) (defun my-yatex-generate-label (command value) (and (string= command "caption") - (re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t) + (re-search-backward "\\\\begin@{\\(figure\\|table\\)@}" nil t) (setq command (match-string 1))) (let ((alist '(("chapter" . "chap") ("section" . "sec") @@ -2027,7 +2056,7 @@ will be enclosed by section-type commands via @kbd{[prefix] S}. An enclosing add-in function will be called with two arguments, beginning of the enclosed region and end of the region. Suppose you want to enclose -the existing text @code{(a+b)/c} by @code{\frac{}}. +the existing text @code{(a+b)/c} by @code{\frac@{@}}. @display a/c @@ -2039,7 +2068,7 @@ @kbd{[prefix] S} and input @code{frac} enclose the region like this; @display -\frac{a/c} +\frac@{a/c@} @end display Normally, the expression @code{a/c} is translated to @@ -2120,8 +2149,8 @@ (catch 'done (while (search-forward "/" end t) (goto-char (match-beginning 0)) - (if (y-or-n-p "Replace this slash(/) with `}{'") - (throw 'done (replace-match "}{"))) + (if (y-or-n-p "Replace this slash(/) with `@}@{'") + (throw 'done (replace-match "@}@{"))) (goto-char (match-end 0))))) @end lisp diff -r 5d8f03ba4285 -r 29ab3f4fcd9e docs/yatexj --- a/docs/yatexj Thu Jan 12 12:27:20 2012 +0900 +++ b/docs/yatexj Mon May 14 18:39:05 2012 +0900 @@ -1,2132 +1,2168 @@ -Info file: yatexj, -*-Text-*- -produced by `texinfo-format-buffer' -from file `yatexj.tex' -using `texinfmt.el' version 2.38 of 3 July 1998. - - - - - - -File: yatexj, Node: Top, Next: Intro, Prev: (dir), Up: (dir) - -* Menu: - -* Intro:: $B$O$8$a$K(B -* Terminology:: $B%^%K%e%"%k;2>H>e$NCm0U(B -* Main features:: $B!%Q%C%1!<%8$H$NO"7H(B -* Customizations:: $B%+%9%?%^%$%:(B -* Etc:: $B$=$NB>(B -* Copying:: $BH>e$NCm0U(B -************************ - - $BK\%^%K%e%"%k$G$O0J2<$NI=5-$rMQ$$$^$9!#(B - - * begin$B7?%3%^%s%I(B - - `\begin{$B4D6-(B} $B!A(B \end{$B4D6-(B}'$B$H$$$&7A<0$N(BLaTeX$B%3%^%s%I$r;X$7$^$9!#(B - begin$B7?%3%^%s%I$rJd40F~NO$9$k$3$H$r(Bbegin$B7?Jd40$H8F$S$^$9!#(B - - * section$B7?%3%^%s%I(B - - `\section{$B%?%$%H%k(B}'$B$d(B`\mbox{$BFbMF(B}'$B$N$h$&$K0z?t$rl9gK\%^%K%e%"%k$N(B `[prefix]' - $B$H$$$&I=5-$O!"(B`C-c' $B$HFI$_49$($F$/$@$5$$!#(B - - - -File: yatexj, Node: Main features, Next: Installation, Prev: Terminology, Up: Top - -$BoJd40%-!<(B) - * $B%;%/%7%g%s6h@Z$jF~NO;~$NJ8=q9=B$%"%&%H%i%$%sI=<((B - * $B%;%/%7%g%s%3%^%s%I$N0l3g%7%U%H(B (*Note view-sectioning::) - * $BJd40<-=q$N3X=,(B - * LaTeX $B$N4D6-$d%3%^%s%I$K1~$8$?%,%$%IIU$-0z?tF~NO(B - * $BLnD;$K$J$$%,%$%IIU$-0z?tF~NO4X?t$N<+F0@8@.(B(`yatexgen.el') - * LaTeX $B%3%^%s%I$N:o=|(B/$BJQ99(B(`C-c k', `C-c c') - * $B%U%!%$%k4V!"(B`\begin'<->`\end'$B4V!"(B`\ref'<->`\label'$B4V!"(B - `\cite'<->`\bibitem'$B%8%c%s%W(B(`C-c g') - * $B0l3g%3%a%s%H%"%&%H(B/$B%"%s%3%a%s%H%"%&%H(B(`C-c >', `C-c <', `C-c ,', `C-c - .') - * $B%"%/%;%s%H5-9f(B/$B?t<04D6-MQ%3%^%s%I(B/$B%.%j%7%cJ8;z$NF~NO;Y1g(B(`C-c a', - `;', `/') - * tabular/array$B4D6-$N%+%i%`0LCV%,%$%I(B - * $BI8=`E*(B LaTeX $B%3%^%s%I$N%*%s%i%$%s%X%k%W(B(`C-c ?', `C-c /') - * $B%I%-%e%a%s%H$N%$%s%/%k!<%I9=B$$N;k3PE*I=<($H%P%C%U%!@Z$jBX$((B(`C-c d') - * $BJd40F~NO$7$?%^%/%m$K1~$8$FI,MW$J(B \userpackage $B$rF~$l$F$/$l$k@h2s$j(B - userpackage - * \label$B$rBG$D$3$H$O$b$&K:$l$h$&(B! ref$B$d(Bcite$BJd40F~NO$G<+F0@8@.$7$^$9(B - - - -File: yatexj, Node: Installation, Next: Invocation, Prev: Main features, Up: Top - -$B5/F0K!(B -****** - -$BLnD;5/F0$N$?$a$N@_Dj(B -==================== - - ~/.emacs$B$K2<$N(B2$B9`L\$r2C$($^$9!#(B - - (setq auto-mode-alist - (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) - (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) - -$Be$N@_Dj$K$h$j!"3HD%;R$,(B .tex $B$G$"$k%U%!%$%k$rJT=8$9$k$H<+F0E*$KLnD;$,(B -$B%m!<%I$5$l$^$9!#LnD;$,@5>o$K5/F0$G$-$?$H$-$O%b!<%I%i%$%s$NI=<($,!V$d$F$U!W(B -$B$KJQ$o$j$^$9!#(B - - -$B%?%$%W%;%C%?(B/$B%W%l%t%e!<%"4D6-$N@_Dj(B -=================================== - - $BMxMQ$9$k30It%W%m%0%i%`$K4X$9$k0J2<$NJQ?t$r3NG'$7!"I,MW$J$i@5$7$$CM$KJQ99(B -$B$7$^$9!#(B -`tex-command' - ... $B5/F0$9$k%?%$%W%;%C%?$N%3%^%s%IL>(B -`dvi2-command' - ... $B5/F0$9$k%W%l%t%e!<%"$N%3%^%s%IL>(B -`NTT-jTeX' - ... $B2~9T(B+$B%$%s%G%s%H$K$h$C$F!"%?%$%W%;%C%H8e$N;z4V$,6u$$$F$7$^(B - $B$&$N$rM^@)$9$k>l9g$K(Bt$B$K$9$k(B($B8E$$(BNTT-jTeX$B$G82Cx$K8=$l$k(B)$B!#6qBNE*$K$O!"(B - fill$B$9$k$H$-$K3F9T$N=*$o$j$K(B%$B$rIU2C$9$k$h$&$K$J$k!#(B -`YaTeX-kanji-code' - ... $BJ8=q$r:n@.$9$k;~$N4A;z%3!<%I(B -`dviprint-command-format' - ... $B%U%!%$%k$N0u:~$K;H$o$l$k%3%^%s%INs$N=q<0(B -`makeindex-command' - ... makeindex$B%3%^%s%I(B - -$B$3$l$i$rJQ99$9$k>l9g$O!"$d$O$j(B`~/.emacs'$B$K$F!"$?$H$($P(B(setq tex-command -"bigjlatex") $B$N$h$&$K$7$F$/$@$5$$!#$I$N$h$&$JCM$r%;%C%H$9$l$PNI$$$+$K$D$$(B -$B$F$O!"(B*Note All customizable variables::$B$r;2>H$7$F$/$@$5$$!#(B - - - - -File: yatexj, Node: Invocation, Next: %#notation, Prev: Installation, Up: Top - -latex$B%3%^%s%I5/F0(B -***************** - -LaTeX$B%=!<%9$NJT=8Cf!"N(B) -`[prefix] t k' - ... $BF0:nCf$N%?%$%W%;%C%?$NDd;_(B -`[prefix] t b' - ... jbibtex$B5/F0(B -`[prefix] t i' - ... makeindex$B5/F0(B -`[prefix] t d' - ... $B%?%$%W%;%C%?$H(Bdvipdfmx$B5/F0(B -`[prefix] t p' - ... $B%W%l%t%e!<%"5/F0(B -`[prefix] t l' - ... lpr($B%W%j%s%H%"%&%HMQ(B)$B%3%^%s%I5/F0(B -`[prefix] t s' - ... xdvi -remote $B$G$N%5!<%A(B - -* Menu: - -* Calling typesetter:: $B%?%$%W%;%C%?5/F0(B -* Calling previewer:: $B%W%l%t%e!<%"5/F0(B -* Print out:: $B%W%j%s%H%"%&%HMQ%3%^%s%I$N5/F0(B - - - -File: yatexj, Node: Calling typesetter, Next: Calling previewer, Prev: Invocation, Up: Invocation - -$B%?%$%W%;%C%?5/F0(B -================ - - $B%?%$%W%;%C%?$r5/F0$9$k$H!"JT=8%&%#%s%I%&$,(B2$B$D$KJ,3d$5$l!"JRJ}$N%&%#%s%I(B -$B%&$K%?%$%W%;%C%H2hLL$,I=<($5$l$^$9!#=PNO$5$l$k%a%C%;!<%8$HO"F0$7%?%$%W%;%C(B -$B%H%P%C%U%!$O<+F0E*$K%9%/%m!<%k$7$^$9!#$b$7!"ESCf$G%(%i!<$,5/$3$C$F;_$^$C$F(B -$B$7$^$C$?>l9g$K$O%?%$%W%;%C%H%P%C%U%!$K0\$j!"(B(`C-x o') $B%?%$%W%;%C%?$N=P$7$F(B -$B$$$k(B ? $B%W%m%s%W%H$KBP$7$F!"(B`x' ($B=hM}$NCfCG(B)$B$J$I$N;X<($rAw$k$3$H$,$G$-$^$9!#(B -$B%(%i!<$r=$@5$9$k>l9g$O!"(B - -`[prefix] '' -`(prefix+$B%"%]%9%H%m%U%#(B)' - ... $BD>A0$N%(%i!l9g$O!"%?%$%W%;%C%H%P%C%U%!$G!"%(%i!<$NI=(B -$B<($5$l$F$$$k9T$K%+!<%=%k$r9g$o$;%9%Z!<%9%-!<$r2!$9$H(B LaTeX $B%=!<%9$NBP1~$9(B -$B$k9T$K%8%c%s%W$7$^$9!#(B - - -$BNN0h%?%$%W%;%C%H(B ----------------- - - $B%]%$%s%H$H%^!<%/$N4V!"$"$k$$$O%F%-%9%HCf$KKd$a9~$s$@(B `%#BEGIN' $B$H(B`%#END' -$B$N4V$NNN0h(B(*Note %#notation::)$B$@$1$r@Z$jl9g%a%$%s%U%!%$%k$N%W%j%"%s%V%k$,0l;~%U%!%$%k$N%W%j%"%s%V%k$H$7$F(B -$B;H$o$l$^$9!#$7$?$,$C$F%W%j%"%s%V%k$K$J$$%^%/%mDj5A$,NN0hFb$K$"$k$H%(%i!<$K(B -$B$J$j$^$9!#NN0h%?%$%W%;%C%H$r;H$&>l9g!"I,$:%^%/%mDj5A$O%W%j%"%s%V%k(B -(`\begin{document}'$B$h$jA0(B)$B$KCV$/$h$&$K$7$F2<$5$$!#0l;~%U%!%$%k$O%a%$%s%U%!(B -$B%$%k$N$"$k%G%#%l%/%H%j$N(B`texput.tex'$B$H$$$&L>A0$G=PNO$5$l$k$N$G!">e=q$-$K$O(B -$BCm0U$7$F$/$@$5$$!#(B - - -$B4D6-%?%$%W%;%C%H(B ----------------- - - - `[prefix] te' $B$r2!$9$H!"%]%$%s%H0LCV$N:G$bFbB&$N4D6-!"$^$?$O?t<0%b!<%IFb(B -$B$N>l9g$O$=$N?t<0%b!<%IA4BN$,<+F0E*$KNN0hA*Br$5$l$F!"NN0h%?%$%W%;%C%H$r8F$S(B -$B=P$7$^$9!#(Btabular$B4D6-$d?t<0%b!<%I$GJ#;($J$b$N$r:n$C$F$$$k>l9g$O3N$+$a$?$$(B -$BItJ,$@$1$r3NG'$G$-$k$N$GJXMx$G$9!#$3$l$b(B `texput.tex' $B$K3:EvItJ,$r=q$-=P$7(B -$B$^$9!#%W%l%t%e!<%"$G(B `texput.dvi' $B$r3+$$$?$^$^$K$7$F$*$1$P=$@5$H3NG'$,AGAa(B -$B$/$G$-$k$G$7$g$&!#(B - - - -File: yatexj, Node: Calling previewer, Next: Print out, Prev: Calling typesetter, Up: Invocation - -$B%W%l%t%e!<%"5/F0(B -================ - `[prefix] t p' $B$K$h$j%W%l%t%e!<%"$N5/F0$,$G$-$^$9!#$5$i$K!"$b$7$"$J$?$,!"(B- -remote $B5!G=$D$-$N(Bxdvi$B$rMxMQ$7$F$$$k>l9g$O(B `[prefix] t s' $B$r2!$9$3$H$K$h$j(B -$B%+!<%=%k0LCV$NJ8;zNs$r8!:w$7$F$=$N%Z!<%8$rI=<($9$k$h$&$K$9$G$K5/F0Cf$N(Bxdvi -$B$KL?Na$rAw$j$^$9!#$3$l$K$h$j!"8=:_JT=8Cf$N2U=j$N%?%$%W%;%C%H7k2L$rB(:B$K8+(B -$B$k$3$H$,$G$-$^$9!#(B - - - - -File: yatexj, Node: Print out, Prev: Calling previewer, Up: Invocation - -$B%W%j%s%H%"%&%H(B -============== - - `[prefix] t l'$B$r2!$7$F%W%j%s%H%"%&%H$r;X<($9$k$H!"=PNO3+;O(B/$B=*N;%Z!<%8$r(B -$BJ9$$$F$/$k$N$G!"$=$l$>$l$KEz$($^$9!#$3$l$r>JN,$7$?$$;~$O!"(B -universal-argument $B$r$D$1!"(B - - -`C-u [prefix] t l' - ... $B%Z!<%83NG'>JN,(Blpr$B5/F0(B - -$B$N$h$&$K5/F0$7$F$/$@$5$$!#(B - - - -File: yatexj, Node: %#notation, Next: Completion, Prev: Invocation, Up: Top - -%#$B5-K!(B -****** - - $BK\J8Cf$K(B`%#'$B$G$O$8$^$k%-!<%o!<%I$rKd$a9~$`$3$H$G%?%$%W%;%C%?5/F0Ey$N@)8f(B -$B$r$9$k$3$H$,$G$-$^$9!#(B - -* Menu: - -* Changing typesetter:: $B%?%$%W%;%C%HMQ%3%^%s%I$NJQ99(B -* Splitting input files:: $BF~NO%U%!%$%kJ,3d(B -* Fix region for typesetting:: $BNN0h$N8GDj(B -* lpr format:: $B%W%j%s%H%"%&%H%3%^%s%IMQ%U%)!<%^%C%H(B -* Editing %# notation:: %#$B5-K!$NJT=8(B - - - -File: yatexj, Node: Changing typesetter, Next: Splitting input files, Prev: %#notation, Up: %#notation - -$B%?%$%W%;%C%HMQ%3%^%s%IJQ99(B -========================== - - $B5/F0$9$k%3%^%s%I$rJQ$($?$$;~$OK\J8Cf$Kl9g$KJXMx$G$7$g$&!#(B - - - - -File: yatexj, Node: Splitting input files, Next: Fix region for typesetting, Prev: Changing typesetter, Up: %#notation - -$BF~NO%U%!%$%kJ,3d(B -================ - -$B$^$?!">OKh$KJL%U%!%$%k$N(B .tex $B$r:n@.$7$F$$$k>l9g$G!"(B`main.tex'$B$+$i(B -`sub.tex'$B$r(B `\include'$B$7$F$$$k$h$&$J;~$O!"(B`sub.tex'$B$NG$0U$N0LCV$Ke$NNc$N$h$&$K%3%^%s%IL>$@$1$G$J$/0z?t$b=q$$$?>l9g$K$O!"A4$F$r$=$N$^$^(B -shell $B$KEO$9$N$G main - -$B$J$*!"$3$N9T$N:G8e$NC18l$N%T%j%*%I0JA0$r!V%a%$%s%U%!%$%k!W$N%Y!<%9%M!<%`$G(B -$B$"$k$H2>Dj$7$^$9(B($B>e$N(B2$B$D$N>l9g$I$A$i$b(B`main')$B!#$3$N9T$K5-=R$7$?!"(B`%f'$B$O%a(B -$B%$%s%U%!%$%kL>$K!"(B`%r' $B$O%a%$%s%U%!%$%k$N3HD%;R$rl9g!"=i2s%?%$%W%;%C%H;~$KI,$:%a%$%s%U%!%$(B -$B%kL>$NF~NO$rB%$5$l$^$9!#(B - - `[prefix] g' (*Note Cursor jump::$B;2>H(B) $B$G$N%U%!%$%k4V%8%c%s%W$rM-8z$K5!(B -$BG=$5$;$k$?$a!"F~NO%U%!%$%kJ,3d;~$K$Oe$N%G%#%l%/%H%j$K$"$k>l9g$b!"%5%V%U%!%$%k$K$O(B - %#!platex main.tex $B$N$h$&$K5-=R$9$k(B(../main$B$G$O$J$$(B)$B!#(B - - - - - -File: yatexj, Node: Fix region for typesetting, Next: lpr format, Prev: Splitting input files, Up: %#notation - -$BNN0h$N8GDj(B -========== - - `[prefix] tr' $B$NNN0h;XDj$N%?%$%W%;%C%H$G$O!"$H$/$K;XDj$N$J$$$+$.$j!"(B -`C-SPC'$B$G%^!<%/$7$?0LCV$H!"%]%$%s%H(B($B%+!<%=%k0LCV(B)$B$N4V$rNN0h$H$_$J$7$^$9$,!"(B -$BI,$:7h$^$C$?NN0h$r%?%$%W%;%C%H$7$?$$>l9g$O!"$=$NNN0h$r(B - - %#BEGIN - <$BEO$7$?$$NN0h(B> - %#END - -$B$N$h$&$K(B`%#BEGIN'$B$H(B`%#END'$B$G0O$_!"%+!<%=%k$r!V(B`%#BEGIN'$B0J9_!W$KCV$$$F$/$@(B -$B$5$$!#$3$N;~$NNN0h7hDj5,B'$r$^$H$a$k$Hl(B - $B9g(B - - 1. `%#BEGIN'$B$h$j%P%C%U%!$NKvHxJ}8~$K(B`%#END'$B$H$$$&%-!<%o!<%I$,8+$D$+$C(B - $B$?>l9g!#(B - =>`%#BEGIN' $B$+$i!"$=$N(B `%#END' $B$N$"$k0LCV$^$G!#(B - 2. `%#END' $B$,8+$D$+$i$J$+$C$?>l9g!#(B=>$B%P%C%U%!$N:G8eHx$^$G!#(B - - 2. $B%+!<%=%k0LCV$h$j%P%C%U%!$N@hF,J}8~$K(B `%#BEGIN' $B$H$$$&%-!<%o!<%I$,(B - $B8+$D$+$i$J$+$C$?>l9g!#(B - =>$B%^!<%/(B(`C-SPC'$B0LCV(B)$B$H%]%$%s%H(B($B%+!<%=%k0LCV(B)$B$N4V$NNN0h!#(B - - tabular $B4D6-$r2?EY$b;n9T:x8m$7$F$$$k$h$&$J>l9g$O!"(B`\begin'$B$NA0$N9T$K(B -`%#BEGIN' $B$H=q$-!"(B`\end' $B$N$K(B `%#BEGIN' $B$r=q(B -$B$$$F$*$1$P!"A0H>$NItJ,$OL5;k$G$-$^$9!#$3$N(BBEGIN$B$H(BEND $B$N>C$7K:$l$K$O==J,$4(B -$BCm0U2<$5$$!#(B - - - - -File: yatexj, Node: lpr format, Next: Editing %# notation, Prev: Fix region for typesetting, Up: %#notation - -lpr$B%U%)!<%^%C%H(B -=============== - - $B$^$:!"%W%j%s%H%"%&%HMQ%3%^%s%INs$N%U%)!<%^%C%H$K$D$$$F@bL@$7$^$9!#%3%^%s(B -$B%INs%U%)!<%^%C%H$O!"(B3$B$D$N(B Lisp $BJQ?t$K$h$C$FI=8=$5$l$^$9!#%G%U%)%k%H$N(B -dvi2ps $BMQ$N%U%)!<%^%C%H$rNc$K@bL@$7$^$9!#(B - -`(1)dviprint-command-format' - `"dvi2ps %f %t %s | lpr"' - -`(2)dviprint-from-format' - `"-f %b"' - -`(3)dviprint-to-format' - `"-t %e"' - -$B$KCV$-49$($i$l!"(B%f $B$,(B -(2)$B$NFbMF!"(B%t $B$,(B(3)$B$NFbMF$KCV$-49$($i$l$^$9!#$=$N:]$K(B(2)$B$NJ8;zNsCf$N(B %b $B$O(B -$B!V=PNO3+;O%Z!<%8!W!"(B(3)$B$NJ8;zNsCf$N(B %e $B$O!V=PNO=*N;%Z!<%8!W$KCV$-49$($i$l(B -$B$^$9!#$b$7!"%Z!<%8$r;XDj$7$J$$;~$K$O!"(B%f, %t $BN>J}$H$bL5;k$5$l$^$9!#(B - - $B$3$N!"(Bdviprint-command-format $B$rNW;~$KJQ$($?$$;~$O!"(BLaTeX $B$N%=!<%9%F%-%9(B -$B%HCf$NG$0U$N>l=j$K!"(B - - %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2 - -$B$N$h$&$K=q$$$F2<$5$$!#%W%j%s%H%"%&%H$9$k%Z!<%8HO0O$r$$$A$$$AJ9$+$;$J$$$h$&(B -$B$K$9$k;~$K(B - - %#LPR dvi2ps %s | lpr - -$B$J$I$H$9$k$N$bJXMx$+$b$7$l$^$;$s!#(B - - - -File: yatexj, Node: Editing %# notation, Prev: lpr format, Up: %#notation - -%#$B5-K!<+BN$NJT=8(B -================ - -$B0J>e$N$h$&$J(B`%#'$B$G;O$^$k3FC5n$5$l$^$9!#(B - - - -File: yatexj, Node: Completion, Next: Local dictionary, Prev: %#notation, Up: Top - -$BJd40F~NO(B -******** - - LaTeX $B$G$N4D6-L>$J$I$O!"LnD;$NJd405!G=$rMxMQ$7$FG=N(E*$KF~NO$9$k$3$H$,$G(B -$B$-$^$9!#(B - -* Menu: - -* begin$B7?Jd40(B:: -* section$B7?Jd40(B:: -* large$B7?Jd40(B:: -* maketitle$B7?Jd40(B:: -* Arbitrary completion:: $B?o;~Jd40(B -* end$BJd40(B:: -* Accent mark completion:: $B%"%/%;%s%H5-9fJd40(B -* Image completion:: $B?t<05-9f%$%a!<%8Jd40(B -* Greek letter completion:: $B%.%j%7%cJ8;zJd40(B - - - -File: yatexj, Node: begin$B7?Jd40(B, Next: section$B7?Jd40(B, Prev: Completion, Up: Completion - -begin$B7?Jd40(B -=========== - - `\begin{env}...\end{env}'$B$NMM$J7A<0$NF~NO$NJd40$r(Bbegin$B7?Jd40$H8F$V$3$H$K(B -$B$7$^$9!#(Bbegin $B7?Jd40$O!"(B - -`[prefix] b' - ... begin $B7?Jd403+;O(B($BI8=`$G$O(B `C-c b') - -$B$G;O$^$j$^$9!#IQHK$KMQ$$$i$l$ke5-$N$b$N0J30$N4D6-L>$O(B Emacs $B$N;}$D%$%s%/%j%a%s%?%k$JJd405!G=$rMQ$$$F(B -$BF~NO$7$^$9(B($B>e5-$N4D6-L>$b0J2<$NJd40F~NO2DG=(B)$B!#(B - -`[prefix] b SPC' - ... begin $B7?Jd40F~NO(B - -`[prefix] b SPC' $B$HF~NO$9$k$H!":G2<9T$N%_%K%P%C%U%!$K(B - - Begin environment(default document): - -$B$HI=<($5$l$^$9!#$3$3$G!"2?$bF~$l$:$K%j%?!<%s%-!<$N$_2!$9$H!"3g8LFb$K=P$F$$(B -$B$k%G%U%)%k%H$N4D6-L>$,F~NO$5$l$^$9$,!"E,Ev$J4D6-L>$rF~NO$9$k$H!"(B`\begin{$B4D(B -$B6-L>(B} $B!D(B \end{$B4D6-L>(B}'$B$,J8=qCf$KA^F~$5$l$^$9!#%_%K%P%C%U%!$G4D6-L>$rF~NO$9(B -$B$k$H$-$K!"4D6-L>$NF,J8;z$rF~NO$7!V%9%Z!<%9!W$r$?$?$/$H!"0lCW$9$k4D6-L>$,Fb(B -$BIt%F!<%V%k$KB8:_$7$?>l9g!"@5$7$$4D6-L>$KJd40$5$l$k$N$G!"F~NO$NJ$1$^(B -$B$9!#FbIt%F!<%V%k$KB8:_$7$J$$4D6-L>$rF~NO$7$?;~$O%f!<%6@lMQ$N%F!<%V%k$KEPO?(B -$B$5$l!"$5$i$K$=$N%F!<%V%k$r<+F0E*$K!"%f!<%6<-=q(B($B%G%U%)%k%H$G$O(B -`~/.yatexrc')$B$KJ]B8$7$^$9!#(B - -$B$5$i$K!"FCDj$N4D6-$rJd40F~NO$7$?;~$K$O$=$N4D6-$GI,$:MQ$$$i$l$k%(%s%H%j$r<+(B -$BF0A^F~$7$^$9(B($BNc(B: `itemize'$B4D6-$K$*$1$k(B`\item'$B$J$I(B)$B!#A^F~$5$l$?%(%s%H%j$,IT(B -$BMW$J>l9g$K$O(Bundo$B$K$h$C$F>C5n$7$F2<$5$$!#(B - - -$B4{$K=q$$$?%F%-%9%H$r4D6-$G3g$k(B ------------------------------- - - $B$H$3$m$G!":G=i$K=q$$$F$7$^$C$?%V%m%C%/$r8e$+$i!"(Bitemize $B4D6-$NCf$KJD$8$3(B -$B$a$?$$$H;W$&$3$H$,$"$j$^$9$,!"$=$N$h$&$J$H$-$O!"$"$i$+$8$aJD$8$3$a$?$$CJMn(B -$B$r%^!<%/$7$F!"(Bbegin $B7?Jd40$N3F%3%^%s%I$N(B `[prefix]' $B$N.J8;z$N(B 'b'$B!Y(B -$B$r!XBgJ8;z!Y$KJQ$($F5/F0$7$F2<$5$$!#(B($B$^$?$O!"(B`C-u' $B$r@h$KBG$A!"(Buniversal -argument $B$r$D$1$F$b2DG=$G$9(B) - - $BNc$($P$"$k%Q%i%0%i%U$r(B description $B4D6-$NCf$KF~$l$?$$$H$-$O!"$=$N%Q%i%0(B -$B%i%U$r%^!<%/$7$F$+$i!"(B - -`[prefix] B D' -`($B$^$?$O(B ESC 1 [prefix] b D)' -`($B$^$?$O(B C-u [prefix] b D $B$J$I(B)' - -$B$H%?%$%W$7$F$/$@$5$$!#$3$l$O!"(B`[prefix] b SPC'$B$NJd40F~NO$K$b$"$F$O$^$j!"(B -`b' $B$rBgJ8;z$KJQ$($F!"(B`[prefix] B SPC' $B$H%?%$%W$9$l$P!"$"$i$+$8$a%^!<%/$7(B -$B$F$*$$$?%j%8%g%s$r!"(Bbegin $B$H(B end $B$N4D6-$G3g$j$^$9!#(B - - - -File: yatexj, Node: section$B7?Jd40(B, Next: large$B7?Jd40(B, Prev: begin$B7?Jd40(B, Up: Completion - -section$B7?Jd40(B -============= - - `\section{$BL\E*(B}' $B$N$h$&$J7A<0$NF~NO$NJd40$r(B section $B7?Jd40$H8F$V$3$H$K$7(B -$B$^$9!#(Bsection $B7?Jd40$O!"(B - -`[prefix] s' - ... section $B7?Jd40(B - -$B$G$r(B -$BF~NO$7$^$9!#$3$3$G$b%j%?!<%s%-!<$N$_$G3g8LFb$N%G%U%)%k%HCM$,A*Br$5$l$k$[$+!"(B -`chapter'$B$J$I$N$h$&$JIQEY$N9b$$L>>NF~NO$K$O%9%Z!<%9%-!<$K$h$kJd405!G=$,M-(B -$B8z$G$9!#(B $Bl9g$O!"J8>OCf$K(B - - \section{$BL\E*(B} - -$B$,A^F~$5$l!"(B - - (C-v for view-section) \???{} (default section): vspace* - \vspace*{???}: - -$B$N$h$&$K(B{}$B$NCf?H$r>JN,$7$?$H$-$O!"(B - - \vspace*{} - -$B$@$1$,A^F~$5$l!"2~9T$O$;$:%+!<%=%k$O<+F0E*$KCf3g8L$NFbB&$K0\F0$7$^$9!#(B - -* Menu: - -* 2$B8D0J>e$N0z?t$r$H$k(B section$B7?%3%^%s%I(B:: -* Enclose section-type command:: $B3g$jJd40(B -* Recursive completion:: $B:F5"Jd40(B -* view-sectioning:: $B%;%/%7%g%s6h@Z$j$N%"%&%H%i%$%sI=<((B -* label-generation:: $B%i%Y%k<+F0@8@.(B - - - -File: yatexj, Node: 2$B8D0J>e$N0z?t$r$H$k(B section$B7?%3%^%s%I(B, Next: Enclose section-type command, Prev: section$B7?Jd40(B, Up: section$B7?Jd40(B - -2$B8D0J>e$N0z?t$r$H$k(B section$B7?%3%^%s%I(B -------------------------------------- - - $B$H$3$m$G!"(B`\addtolength{\topmargin}{8mm}' $B$J$I$N$h$&$K!"0z?t$rFs$D0J>ee$N(B`addtolength' $B$NNc$G$"$l$P!"(B -$B0z?t(B2$B$r;XDj$7$^$9!#$D$^$j!"(B - - C-u 2 [prefix] s ($B$^$?$O!"(BESC 2 [prefix] s) - -$B$H(B section $B7?Jd40$r8F$S=P$7$?8e!"(B - - (Ctrl-v for view-section) \???{} (default vspace*): addtolength - \addtolength{???}: \topmargin - Argument 2: 8mm - -$B$N$h$&$KF~NO$7$F$/$@$5$$!#:G=i$N(B addtolength $B$NItJ,$H!"Bh0l0z?t$G$"$k(B -\topmargin $B$NF~NO$OEvA3%9%Z!<%9$K$h$kJd40F~NO$,2DG=$G$9!#%f!<%6<-=q$KEPO?(B -$B$5$l$k(B LaTeX $B%3%^%s%I$K$O!"$3$N0z?t$N?t$b3X=,$5$l$k$N$G!":G=i$NJd40$N;~0z(B -$B?t$N?t$r;XDj$7$F5/F0$7$F$*$1$P!"0J8e$NJd40;~$K$O!"5-21$5$l$?8D?t$@$10z?t$r(B -$BJ9$$$FMh$k$h$&$K$J$j$^$9!#$"$H$G0z?t$N8D?t$rJQ$($?$$;~$O!":F$S(B `C-u' $B$rMQ(B -$B$$$F8D?t$r;XDj$7D>$9$3$H$G!"<+F0E*$K<-=qCf$N0z?t$N8D?t$NItJ,$r99?7$7$^$9!#(B - - - - -File: yatexj, Node: Enclose section-type command, Next: Recursive completion, Prev: 2$B8D0J>e$N0z?t$r$H$k(B section$B7?%3%^%s%I(B, Up: section$B7?Jd40(B - -$B4{$K=q$$$?%F%-%9%H$r3g$k(B ------------------------- - - $B$^$?!"5/F0%3%^%s%I$N(B`s'$B$rBgJ8;z$KJQ$($F5/F0$9$k$H!"$"$i$+$8$a=q$$$?J8>O(B -$B$r(B section $B7?%3%^%s%I$NBh0l0z?t$H$7$F3g$j$^$9!#(B - - - -File: yatexj, Node: Recursive completion, Next: view-sectioning, Prev: Enclose section-type command, Up: section$B7?Jd40(B - -$B:F5"Jd40(B --------- - - $B9bEY$J;H$$J}$K$J$k$+$b$7$l$^$;$s$,!"(Bsection$B7?Jd40$N0z?t$NF~NO;~$K$5$i$K(B -$BJd40F~NO$rMxMQ$9$k$3$H$,$G$-$^$9(B(section/large/maketitle$B7?$K8B$k(B)$B!#(Bsection -$B7?%3%^%s%I$N0z?t$K99$K(B LaTeX $B%3%^%s%I$,Mh$k>l9g$K$O%_%K%P%C%U%!$GLnD;$NJd(B -$B40%-!<$r:F5"E*$KF~NO$9$k$3$H$G0z?t$NF~NO$b8zN(E*$K9T$J$($^$9!#(B - - - -File: yatexj, Node: view-sectioning, Next: label-generation, Prev: Recursive completion, Up: section$B7?Jd40(B - -$B%;%/%7%g%s6h@Z$j$N%"%&%H%i%$%sI=<((B ----------------------------------- - - $BDL>o$N(Bsection$B7?Jd40$N;~$K%_%K%P%C%U%!$G(B`C-v'$B$r2!$9$H8=:_B8:_$9$k%;%/%7%g(B -$B%s6h@Z$j%3%^%s%IA4$F$r(B `*Sectioning Lines*'$B$H$$$&%P%C%U%!$K0lMwI=<($7$^$9(B -($B!V(B<<--$B!W$N$D$$$F$$$k9T$,$b$C$H$b6a$$%;%/%7%g%s6h@Z$j(B)$B!#$3$N;~%_%K%P%C%U%!(B -$B$G(B`C-p', `C-n' $B$r2!$9$H(B`part', `chapter', ..., `subparagraph' $B$N%3%^%s%I$,(B -$BO@M}3,AX$N9b$5$K$7$?$,$C$F>e2<$7$^$9!#$^$?!"(B`C-v', `M-v' $B$r2!$9$H%;%/%7%g(B -$B%s6h@Z$j0lMw%P%C%U%!$,%9%/%m!<%k$7!"?t;z$N(B`0'$B!A(B`7'$B$r2!$9$H$"$k9b$50J>e$N%;(B -$B%/%7%g%s6h@Z$j$@$1$rA*$s$GI=<($7$^$9(B($Bl=j$K%8%c%s%W$7$^$9!#$5$i$K!"F1%P%C(B -$B%U%!$G(B `u' $B$r2!$9$H!"%=!<%9%F%-%9%H$NBP1~$9$k%;%/%7%g%s%3%^%s%I$,0l3,AX>e(B -$B$,$j(B($BNc(B: subsection $B$,(B section $B$KJQ$o$k(B)$B!"(B`d'$B$r2!$9$H0l3,AX2<$,$j$^$9!#(B -`*Sectioning Lines*'$B%P%C%U%!$K$"$k%;%/%7%g%s6h@Z$j$N9T$r%^!<%/$7$F$*$$$F(B -`U'$B$r2!$9$H%j%8%g%sFb$N$b$N$KBP1~$9$k%=!<%9%F%-%9%H$N%;%/%7%g%s%3%^%s%I$9(B -$B$Y$F$,0l3,AX>e$,$j!"(B`D'$B$r2!$9$H2<$,$j$^$9!#%;%/%7%g%s6h@Z$j0lMw%P%C%U%!$G(B -$BMxMQ$G$-$k%-!<%3%^%s%I$K$O0J2<$N$b$N$,$"$j$^$9!#(B - -`SPC' - ... $BBP1~$9$k%=!<%99T$X%8%c%s%W(B -`.' - ... $BBP1~$9$k%=!<%99T$rI=<((B -`u' - ... $B%+!<%=%k0LCV$KBP1~$9$k%;%/%7%g%s%3%^%s%I$r0l3,AX>e$2$k(B -`d' - ... $B%+!<%=%k0LCV$KBP1~$9$k%;%/%7%g%s%3%^%s%I$r0l3,AX2<$2$k(B -`U' - ... $B%^!<%/$7$?%;%/%7%g%s%3%^%s%I$r0l3,AX>e$2$k(B -`D' - ... $B%^!<%/$7$?%;%/%7%g%s%3%^%s%I$r0l3,AX>e$2$k(B -`0$B!A(B6' - ... $B%l%Y%k(B n $B0J2<$N%;%/%7%g%s%3%^%s%I$r1#$7$FI=<((B - - - - -File: yatexj, Node: label-generation, Prev: view-sectioning, Up: section$B7?Jd40(B - -$B%i%Y%k<+F0@8@.(B --------------- - - `\ref{}' $B$d(B `\cite{@}' $B%^%/%m$r(Bsection$B7?Jd40$GF~$l$?>l9g;2>H@h$H$J$jF@$k(B -$B$b$N$rA4$FC5$7$F%a%K%e!<$K$7$FA*Br$G$-$^$9!#;2>H@h$K$O(B`\label{}'$B$r$D$1$F$*(B -$B$/I,MW$O$"$j$^$;$s!#$b$7$"$l$P!"$=$N%i%Y%k$r;H$$!"$J$1$l$P$=$N>l$G;2>H@h$K(B -`\label{}'$B$r:n$i$;$F$/$l$^$9!#%i%Y%kL>$r9M$($k$N$O6lDK$K46$8$k$b$N$G$9!#A4(B -$B$F$N%+%&%s%?$K%i%Y%k$r$D$1$k$N$b$?$$$X$s$G$9!#$b$&%i%Y%kL>$K2?$r$D$1$k$+!"(B -$B%i%Y%k$r$D$1$k$+$D$1$^$$$+!"$J$I$H$$$&$3$H$OK:$l$^$7$g$&(B! - - - -File: yatexj, Node: large$B7?Jd40(B, Next: maketitle$B7?Jd40(B, Prev: section$B7?Jd40(B, Up: Completion - -large$B7?Jd40(B -=========== - - `{\large }' $B$N$h$&$J7A<0$NJd40$r(B large $B7?Jd40$H8F$V$3$H$K$7$^$9!#(B - -`[prefix] l' - ... large $B7?Jd403+;O(B - -$B$,(Blarge$B7?Jd40$N3+;O$G$9!#(B`[prefix] l' $B$r2!$9$H!"%_%K%P%C%U%!$K(B - - {\??? } (default large): - -$B$HI=<($5$l$k$N$G!">e5-$N$b$N$HF1$8MWNN$GJd40F~NO$7$F2<$5$$!#Jd408uJd$KMQ0U(B -$B$5$l$F$$$k$N$O!"(B`footnotesize' $B$d(B `huge' $B$N$h$&$JJ8;z%5%$%:;XDj;R$H!"(B`bf' -$B$d(B`dg'$B$N$h$&$J%U%)%s%H;XDj;R$G$9!#(B - - -$B4{$K=q$$$?J8;z$r3g$k(B --------------------- - - $B$^$?!"(Bbegin$B7?Jd40$N;~$HF1MM!"@h$K=q$$$F$7$^$C$?0lO"$NJ8>O$NJ8;z$N%5%$%:(B -$B$rJQ$($?$$$H;W$&;~$,$"$j$^$9$,!"$=$N$h$&$J;~$O!"%5%$%:$dBg$-$5$rJQ$($?$$J8(B -$B;z$NHO0O$r%^!<%/$7$F$+$i!"8F$S=P$7%-!<$r(B `[prefix] L' $B$H!"BgJ8;z$N(B L $B$KJQ(B -$B$($F8F$S=P$;$P!"$=$N%j%8%g%sA4BN$,!"%V%l!<%9$G0O$^$l$^$9!#(B - - - -File: yatexj, Node: maketitle$B7?Jd40(B, Next: Arbitrary completion, Prev: large$B7?Jd40(B, Up: Completion - -maketitle$B7?Jd40(B -=============== - - `\maketitle' $B$N7A<0$NJd40$r(B maketitle $B7?Jd40$H8F$V$3$H$K$7$^$9!#(B - -`[prefix] m' - ... maketitle $B7?Jd403+;O(B - -$B$G!"(Bmaketitle $B7?Jd40$r3+;O$7$^$9!#Jd40$NMWNN$O:#$^$G$N$b$N$H$^$C$?$/F1$8$G(B -$B$9!#(BLaTeX $BMQ$N%3%^%s%IL>$,Jd408uJd$H$7$FMQ0U$5$l$F$$$^$9!#(B - - - -File: yatexj, Node: Arbitrary completion, Next: end$BJd40(B, Prev: maketitle$B7?Jd40(B, Up: Completion - -$B?o;~Jd40(B -======== - - $B$5$F!":#$^$G=R$Y$?E57?E*$J(B LaTeX $B%3%^%s%I7A<0$NJd40F~NO$rMQ$$$:$K!":#F~(B -$BNO$7$h$&$H$7$F$$$k(B LaTeX $B%3%^%s%I$rJ8=qCf$NG$0U$N0LCV$G?o;~Jd40$9$k$3$H$b(B -$B$G$-$^$9!#(BLaTeX $B%3%^%s%I(B($B@hF,$,(B\$B$G;O$^$k(B)$B$rF~NO$7$F$$$kESCf$G!"(B - -`[prefix] SPC' - ... $B?o;~Jd40(B - -$B$rF~NO$9$l$P!"A4$F$NJd408uJd$NCf$+$i0lCW$9$k$b$N$,A*$P$l%+!<%=%k0LCV$KA^F~(B -$B$5$l$^$9!#(B - - - -File: yatexj, Node: end$BJd40(B, Next: Accent mark completion, Prev: Arbitrary completion, Up: Completion - -end$BJd40(B -======= - - $B8=:_3+$$$?$^$^$N4D6-L>$r<+F0E*$K8!=P$7!"(B`\end{$B4D6-L>(B}'$B$rA^F~$7$^$9!#(B -begin $B7?Jd40$rMQ$$$l$P4D6-$NJD$8K:$l$O$J$$$N$G$9$,!";~$K$O$D$$$D$$(B}' $B$rF~$l$F$7$^$$!"Ha$7$$;W$$$r$9$k$3$H$,$"$j$^$9!#$=$N$h$&(B -$B$J;~$K$O5$$K$;$:B3$1$FJ8>O$rF~NO$7!"$7$+$k$N$A$K(B - -`[prefix] e' - ... end $BJd40(B - -$B$H$9$k$3$H$G!"8=:_3+$$$F$$$k4D6-L>$G(B \end{} $B$,Jd$o$l$^$9!#(B - - - -File: yatexj, Node: Accent mark completion, Next: Image completion, Prev: end$BJd40(B, Up: Completion - -$B%"%/%;%s%H5-9fJd40(B -================== - - $B2$J8$N%"%/%;%s%H5-9f(B(`\`{o}'$B$J$I(B)$B$rF~NO$9$k;~$O!"(B - -`[prefix] a' - ... $B%"%/%;%s%H5-9fF~NO(B - -$B$r2!$9$H!"%_%K%P%C%U%!$K(B - - 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b - -$B$H$$$&%a%K%e!<$,=P$FMh$k$N$G!"?t;z!"$^$?$OBP1~$9$k5-9f(B/$B1Q;z$rF~NO$7$F2<$5(B -$B$$!#$9$k$HJT=8%P%C%U%!$K!"(B - - \`{} - -$B$,$"$i$o$l!"%+!<%=%k$,(B{}$BFb$K0LCV$9$k$N$G!"$5$i$K0lJ8;zF~NO$9$k;v$G!"(B - - \`{o} - -$B$,40@.$5$l!"%+!<%=%k$O(B{}$B$N30$KLa$j$^$9!#(B - - - -File: yatexj, Node: Image completion, Next: Greek letter completion, Prev: Accent mark completion, Up: Completion - -$B?t<05-9f%$%a!<%8Jd40(B -==================== - - $Bl9g!"0lHLE*$K$O!V(B<-$B!W(B -$B$N$h$&$K$7$^$9$,!"$3$l$rMxMQ$7$F!"?t<05-9f%$%a!<%8F~NO%b!<%I$G(B -`\leftarrow'$B$rF~NO$9$k$K$O!"(B`;'($B%;%_%3%m%s(B)$B$rBG$C$F$+$i(B`<-'$B$HF~NO$7$^$9!#(B -$BF1MM$K!"D9$$Lp0u"+(B-(long-leftarrow) $B$r(BASCII$BJ8;z$@$1$GI=8=$9$k>l9g!V(B<--$B!W$H(B -$B$9$k$N$G!"(B`\longleftarrow'$B$rF~NO$9$k$?$a$K$O!"(B`;<--' $B$HF~NO$7$^$9!#$"$k$$(B -$B$OL58BBg5-9f$r(BASCII$BJ8;z$@$1$GI=8=$9$k;~$O!V(Boo$B!W$N$h$&$K$9$k$3$H$+$i!"(B -`\infty' $B$rF~NO$9$k;~$O!"(B`;oo'$B$H%-! `\longleftrightarrow' - ; o `\circ' - ; o o `\infty' - - - $B$$$:$l$N>l9g$b!"%$%a!<%8F~NO$r9T$C$F$$$kESCf$GK>$_$N$b$N$,%P%C%U%!$KI=<((B -$B$5$l$?$J$i!"$=$3$G%$%a!<%8F~NO$r;_$a$F8e(B -$B$K(BTAB$B$r2!$7$F$/$@$5$$!#0J2<$NNc$O!"(B`;<'$B$H2!$7$?8e$K(BTAB$B$r2!$7$?$b$N$G$9!#(B - - KEY LaTeX sequence sign - < \leq $B!e(B - << \ll $B!T(B - <- \leftarrow $B"+(B - <= \Leftarrow <= - -$B:8$+$i(B[$BF~NO%-!<(B]$B!"(B[$BBP1~$9$k(B LaTeX $B%3%^%s%I(B]$B!"(B[($B5<;w(B)$B5-9f?^<((B]$B!"$H$$$&=g$G(B -$B%a%K%e!<$,=P$FMh$k$N$G!"$h$/;H$&$b$N$r3P$($F$*$/$HNI$$$G$7$g$&!#$b$N$K$h$C(B -$B$F$O(BASCII$BJ8;z$GI=8=$9$k$3$H$,:$Fq$J$N$G!"$"$^$j3P$($d$9$$%-!l9g$O(B \maketitle $B7?Jd40$GF~NO$9$k$+!"0J(B -$B2<$K=R$Y$kBP1~I=$N@_Dj$r9T$C$FC1=c$J%-!l9g$O(B -Emacs-Lisp $BJQ?t(B `YaTeX-math-sign-alist-private' $B$KDj5A$7$F$/$@$5$$!#$=$NFb(B -$BMF$H%G%U%)%k%H$N$b$N$r9g$o$;$?$b$N$,BP1~I=$H$7$F;HMQ$5$l$^$9(B(private $B$NJ}(B -$B$,M%@h$5$l$k(B)$B!#$J$*!"$3$NJQ?t$N9=B$$K$D$$$F$O(B `yatexmth.el' $B$r;2>H$7$F$/$@(B -$B$5$$!#(B - - - -File: yatexj, Node: Greek letter completion, Prev: Image completion, Up: Completion - -$B%.%j%7%cJ8;zJd40(B -================ - - $B$b$&0l$D!"?t<04D6-Cf$G(B`:'$B$r2!$9$H%.%j%7%cJ8;zF~NO%b!<%I$KF~$j$^$9!#(B`:'$B$r(B -$B2!$7$?D>8e$K(B`a'$B$r2!$9$H(B`\alpha'$B$,!"(B`g' $B$r2!$9$H(B `\gamma'$B$,!"$J$I%"%k%U%!%Y%C(B -$B%H$KBP1~$7$?%.%j%7%cJ8;z$,A^F~$5$l$^$9!#A`:nJ}K!$O(B;$B$N?t<05-9fJd40$H$^$C$?(B -$B$/F1$8$G$9!#$^$:$O(B`:'$B$ND>8e$K(BTAB$B$r2!$7$F$I$N%"%k%U%!%Y%C%H$K$I$N%.%j%7%cJ8(B -$B;z$,BP1~$7$F$$$k$+D4$Y$F$_$F$/$@$5$$!#(B - - `;'$B$H(B`:'$B$r?t<04D6-Cf$G2!$7$F$$$k$K$b$+$+$o$i$:!"%$%a!<%8Jd40$,F/$+$J$$>l(B -$B9g$O!"(B`C-u ;'$B$N$h$&$K(B universal-argument $B$r$D$1$F%-!<$r2!$9$3$H$K$h$j!"6/(B -$B@)E*$K%$%a!<%8Jd40$KF~$k$3$H$,$G$-$^$9!#$^$?!"$3$N;~$K$I$N$h$&$J>uBV$G?t<0(B -$B4D6-FbH=Dj$K<:GT$7$?$+$r$4O"Mm2<$5$$!#(B - - - -File: yatexj, Node: Local dictionary, Next: Commenting out, Prev: Completion, Up: Top - -$B%m!<%+%k<-=q(B -************ - - $BJd40F~NOMQ$N8uJd$O;0oMQ$9$k%3%^%s%I$rJ]B8$9(B -$B$k!V%f!<%6<-=q!W!"$=$7$F$b$&$R$H$D$O$"$k%G%#%l%/%H%j$G$N$_M-8z$J%3%^%s%I$r(B -$BJ]B8$9$k!V%m!<%+%k<-=q!W$G$9!#(B - - $BJd40F~NO;~$K?7$7$$C18l$rF~$l$?>l9g$K!"$=$NC18l$r$I$N<-=q$KF~$l$k$+J9$$$F(B -$BMh$^$9!#(B - - `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard - -$B$H$$$&%W%m%s%W%H$KBP$7!"(B`u'$B$HEz$($k$H!V%f!<%6<-=q!W$r!"(B`l'$B$HEz$($k$H%m!<%+(B -$B%k<-=q$r99?7$7!"(B`n'$B$HEz$($k$H<-=q%U%!%$%k$O99?7$;$:8=:_$N(BEmacs $B%;%C%7%g%s(B -$B$N$_M-8z$JC18l$H$7!"(B`d'$B$HEz$($k$H?7$?$JC18l$r3X=,$;$:$Kl(B -$B9g$K$O(B`~/.emacs'$B$J$I$G!"(B - - (setq YaTeX-nervous nil) - -$B$H$7$F2<$5$$!#(B - - - -File: yatexj, Node: Commenting out, Next: Cursor jump, Prev: Local dictionary, Up: Top - -$B%3%a%s%H%"%&%H(B -************** - - - LaTeX$B$NJT=8$K$O;n9T:x8m$,$D$-$b$N$G$9!#$"$kItJ,$r0l3g$G%3%a%s%H%"%&%H$7(B -$B$?$j!"%3%a%s%H$r30$7$?$j$7$?$$$3$H$,$"$j$^$9!#(B - -`[prefix] >' - ... $B%j%8%g%s$r(B % $B$G%3%a%s%H%"%&%H(B -`[prefix] <' - ... $B%j%8%g%s$N(B % $B$N%3%a%s%H$r30$9(B - -$B$O!"$"$i$+$8$a@_Dj$7$?%j%8%g%s$KBP$7$F$NA`:n!"(B - -`[prefix] .' - ... $B8=:_$N%Q%i%0%i%U$r%3%a%s%H%"%&%H(B -`[prefix] ,' - ... $B8=:_$N%Q%i%0%i%U$N%3%a%s%H$r30$9(B - -$B$O!"%+!<%=%k$N0LCV$9$k%Q%i%0%i%UA4BN$KBP$7$F$NA`:n$G$9!#$J$*!"$3$3$G$$$&(B -$B!V%Q%i%0%i%U!W$O(B (`mark-paragraph') $B4X?t$K$h$j%^!<%/$5$l$kHO0O$r;X$7$^$9(B -($BI8=`@_Dj$G(B`ESC h'$B$K%P%$%s%I$5$l$F$$$k(B)$B!#$J$*!"4{$K(B`%'$B$G%3%a%s%H%"%&%H$5$l(B -$B$F$$$k%Q%i%0%i%U$KBP$7$F7+$jJV$7%Q%i%0%i%U$N%3%a%s%H$r;HMQ$7$?>l9g$NF0:n$O(B -$BJ]>Z$7$^$;$s$N$G8fCm0U$/$@$5$$!#(B - - $B$5$F!"J8>O$KBP$7$F$@$1$G$J$/!";~$K$O(B`\begin', `\end' $B<+BN$KBP$7$F$b%3%a(B -$B%s%H%"%&%H$NA`:n$r$7$?$$$H$-$,$"$j$^$9!#$3$N$h$&$J$H$-$O!"(B`\begin{}' $B$"$k(B -$B$$$O(B `\end{}' $B$N9T$K%+!<%=%k$r9g$o$;!"(B - -`[prefix] >' - ... `\begin{}'$B!A(B`\end{}' $BA4$F%3%a%s%H%"%&%H(B -`[prefix] <' - ... `\begin{}'$B!A(B`\end{}' $BA4$F%3%a%s%H$r30$9(B - -$B$H$9$k$3$H$G!"(B`\begin$B!A(B\end'$B$G0O$^$l$k4D6-A4$F$KBP$7$F%3%a%s%HA`:n$7!"(B - -`[prefix] .' - ... `\begin{}' $B$H(B `\end{}' $B$r%3%a%s%H%"%&%H(B -`[prefix] ,' - ... `\begin{}' $B$H(B `\end{}' $B$N%3%a%s%H$r30$9(B - -$B$O!"BP1~$9$k(B `\begin' $B$H(B `\end' 2$B9T$@$1$r!"%3%a%s%HA`:n$NBP>]$H$7$^$9!#%j(B -$B%8%g%s$r%3%a%s%H%"%&%H$7$h$&$H$7$F!"%^!<%/$r@_Dj$7$?$N$A$K%+!<%=%k$r0\F0$7(B -`[preifx] >' $B$r2!$7$F$b%+!<%=%k$,(B `\begin{}' $B$N>e$K$"$k$H(B`\begin{}'$B!A(B -`\end{}'$B%b!<%I$G%3%a%s%H5!G=$,F/$$$F$7$^$&$N$GCm0U$7$F2<$5$$!#(B - - - -File: yatexj, Node: Cursor jump, Next: Modifying/Deleting, Prev: Commenting out, Up: Top - -$B%+!<%=%k%8%c%s%W(B -**************** - - -* Menu: - -* $BBP1~%*%V%8%'%/%H$X$N%8%c%s%W(B:: -* $B$*3(IA$-%D!<%k5/F0(B:: -* $B%a%$%s%U%!%$%k$X$N%8%c%s%W(B:: -* $B4D6-$rC10L$H$7$?%8%c%s%W(B:: -* $B:G8e$NJd400LCV$X$N%8%c%s%W(B:: - - - -File: yatexj, Node: $BBP1~%*%V%8%'%/%H$X$N%8%c%s%W(B, Next: $B$*3(IA$-%D!<%k5/F0(B, Prev: Cursor jump, Up: Cursor jump - -$BBP1~%*%V%8%'%/%H$X$N%8%c%s%W(B -============================ - - $BJ8=qCf$N$$$m$$$m$J>l=j$G(B - -`[prefix] g' - ... $BBP1~$9$k%*%V%8%'%/%H$K%8%c%s%W(B - -$B$r2!$9$3$H$K$h$j!"%+!<%=%k0LCV$N(BLaTeX$B%3%^%s%I$KBP1~$9$k>l=j$K%8%c%s%W$7$^(B -$B$9!#BP1~4X78$,B8:_$9$k$H2rl9g$O%(%i!<$K(B -$B$J$j$^$9!#$^$?$3$l$O!"NN0h8GDj$N$?$a$N(B `%#BEGIN' $B$H(B `%#END' $B$N%Z%"$KBP$7$F(B -$B$bF1MM$KF0:n$7$^$9!#$J$*!"(B`label/ref'$B$d(B`cite/bibitem'$BBP1~$9$k$b$N$,JL%U%!(B -$B%$%k$K$"$k;~$O!"%8%c%s%W@h$H$J$k%U%!%$%k$,%*!<%W%s$5$l$F$$$J$1$l$P$J$j$^$;(B -$B$s!#(B*Note %#notation::. $B%a%$%s$N(B .tex $B%U%!%$%k$N(B `\include{chap1}' $B$J$I$K(B -$B%+!<%=%k$r9g$o$;!"(B`[prefix] g' $B$r2!$9$H!"(B`chap1.tex' $B$K%8%c%s%W$7$^$9!#(B - -$B$^$?!"(B - -`[prefix] 4 g' - ... $BJL%&%#%s%I%&$GBP1~%*%V%8%'%/%H$K%8%c%s%W(B - -$B$r2!$9$H!"BP1~$9$k%*%V%8%'%/%H$X$N%8%c%s%W$rJL%&%#%s%I%&$G9T$$$^$9!#$?$@$7!"(B -$B$3$N5!G=$O(B `begin/end', `%#BEGIN/%#END' $B4V$N%8%c%s%W$KBP$7$F$O(B($B0UL#$,$J$$(B -$B$H;W$o$l$k$N$G(B)$B5!G=$7$J$$$N$GCm0U$7$F$/$@$5$$!#(B - - - -File: yatexj, Node: $B$*3(IA$-%D!<%k5/F0(B, Next: $B%a%$%s%U%!%$%k$X$N%8%c%s%W(B, Prev: $BBP1~%*%V%8%'%/%H$X$N%8%c%s%W(B, Up: Cursor jump - -$B$*3(IA$-%D!<%k5/F0(B -================== - -$B>e5-$N!V2hA|%U%!%$%k$N$KAjEv$9$kItJ,$r(B \\(\\)$B$+(B - $B$iH4$-=P$7$F3P$($F$*$/(B($B2?HVL\$N(B\\(\\)$B$+$OJQ?t$N3F%j%9%H$N(B cdr $BIt$KF~(B - $B$l$F$*$/(B)$B!#%^%C%A$7$J$1$l$P2?$b$7$J$$!#(B - 2. $B9TKv$K!"JQ?t(B `YaTeX-file-processor-alist' $B$KEPO?$5$l$F$$$k%3%^%s%I$,(B - $B!V(B%$B%3%^%s%I!W(B $B$N$h$&$K=q$$$F$"$l$P6/@)E*$K!V%3%^%s%I(B $B%U%!%$%kL>(B.$B3HD%(B - $B;R!W$r5/F0!#(B - 3. $B$J$1$l$P!"JQ?t(B `YaTeX-file-processor-alist' $B$N3F%j%9%H$N(Bcdr$BIt$KF~$C$F(B - $B$$$k3HD%;R$r!V%U%!%$%kL>!W$N8e$m$KB-$7$?%U%!%$%k$,B8:_$9$k$+=gl9g(Bcar$BIt$KF~$C$F$$$k%3%^%s%I$r5/F0$9$k!#(B - 4. $B0J>e$I$l$+$K%^%C%A$7$J$1$l$P$"$-$i$a$k!#(B - - -$BJQ?t(B `YaTeX-file-processor-alist' $B$HJQ?t(B `YaTeX-file-processor-alist' $B$N@_(B -$BDjJ}K!$K$D$$$F$O$=$l$>$l$NJQ?t$K$D$$$F(B describe-variable $B$7$F@bL@$rFI$s$G(B -$B2<$5$$!#$&$^$/@_Dj$9$k$H!"2hA|%U%!%$%k$K$+$.$i$:!"G$0U$N7A<0$N%U%!%$%k$rG$(B -$B0U$N%W%m%;%C%5$G=hM}$9$k%3%^%s%I$r4JC1$K8F$S=P$9$3$H$,$G$-$^$9!#(B - - - -File: yatexj, Node: $B%a%$%s%U%!%$%k$X$N%8%c%s%W(B, Next: $B4D6-$rC10L$H$7$?%8%c%s%W(B, Prev: $B$*3(IA$-%D!<%k5/F0(B, Up: Cursor jump - -$B%a%$%s%U%!%$%k$X$N%8%c%s%W(B -========================== - -`chap1.tex'$B$N$h$&$J%5%V%U%!%$%k$G!"(B - -`[prefix] ^' - ... $B%a%$%s%U%!%$%k$K%8%c%s%W(B -`[prefix] 4 ^' - ... $BJL%&%#%s%I%&$G%a%$%s%U%!%$%k$K%8%c%s%W(B - -$B$r2!$9$H!"%a%$%s%U%!%$%k$NJT=8%P%C%U%!$K@ZBX$($^$9!#$b$7!"%a%$%s%U%!%$%k$r(B -$B%*!<%W%s$7$F$$$J$$>l9g$O!"%+%l%s%H%G%#%l%/%H%j$+$iC5$7$F<+F0E*$K%*!<%W%s$7(B -$B$^$9!#(B - - - -File: yatexj, Node: $B4D6-$rC10L$H$7$?%8%c%s%W(B, Next: $B:G8e$NJd400LCV$X$N%8%c%s%W(B, Prev: $B%a%$%s%U%!%$%k$X$N%8%c%s%W(B, Up: Cursor jump - -$B4D6-$rC10L$H$7$?%8%c%s%W(B -======================== - -$B$5$i$K8=:_$N4D6-$rC10L$H$7$F5!G=$9$k%3%^%s%I$K0J2<$N$b$N$,$"$j$^$9!#(B - -`M-C-a' - ... $B4D6-$N@hF,(B(`\begin')$B$X%8%c%s%W(B -`M-C-e' - ... $B4D6-$NKvHx(B(`\end')$B$X%8%c%s%W(B -`M-C-@' - ... $B4D6-A4BN$r%^!<%/(B - -$B>e5-$N%3%^%s%I$ODL>o$N(B`[prefix]'$B%-!<$G$O$J$/(B`META'$B%-!<$r%W%j%U%#%/%9$H$7$F(B -$B5!G=$9$k$N$G$4Cm0U2<$5$$!#(B - - - -File: yatexj, Node: $B:G8e$NJd400LCV$X$N%8%c%s%W(B, Prev: $B4D6-$rC10L$H$7$?%8%c%s%W(B, Up: Cursor jump - -$B:G8e$NJd400LCV$X$N%8%c%s%W(B -========================== - -$BLnD;$OJd40F~NO$7$?0LCV$r>o$K%l%8%9%?(B `3'$B$KJ]B8$7$F$$$^$9!#F~NOESCf$GG!2?$J(B -$B$k%U%!%$%k$NG!2?$J$k0LCV$K9T$C$?$H$7$F$b!"(B`C-x j 3'(`jump-to-register')$B$r(B -$B;H$C$FD>$A$K:G8e$NJd40F~NO0LCV$KLa$k$3$H$,$G$-$^$9!#(B - - - -File: yatexj, Node: Modifying/Deleting, Next: Filling, Prev: Cursor jump, Up: Top - -$BJQ99(B/$B:o=|(B -********* - - $B4{$KF~NO$5$l$F$$$k(B LaTeX $B%3%^%s%I$NJQ99(B/$B:o=|$N$?$a$K0J2<$N5!G=$,MQ0U$5$l(B -$B$F$$$^$9!#(B - -`[prefix] c' - ... $B%+!<%=%k0LCV$N(B LaTeX $B%3%^%s%I$NJQ99(B -`[prefix] k' - ... $B%+!<%=%k0LCV$N(B LaTeX $B%3%^%s%I$N:o=|(B - -$B$3$l$i$N%3%^%s%I$O!"%3%^%s%I$r5/F0$9$k>l=j$K$h$C$FF0:n$r7hDj$9$k$N$GCm0U$7(B -$B$F2<$5$$!#(B - -* Menu: - -* Changing LaTeX command:: LaTeX $B%3%^%s%I$NJQ99(B -* Killing LaTeX command:: LaTeX $B%3%^%s%I$N:o=|(B - - - -File: yatexj, Node: Changing LaTeX command, Next: Killing LaTeX command, Prev: Modifying/Deleting, Up: Modifying/Deleting - -LaTeX $B%3%^%s%I$NJQ99(B -==================== - -$BJQ99$7$?$$(B LaTeX $B%3%^%s%I$K%+!<%=%k$r9g$o$;$F(B `[prefix] c' $B$r2!$9$H$=$N%3(B -$B%^%s%I$rJd40F~NO$J$I$rMQ$$$F(B - * section$B7?%3%^%s%I$N%3%^%s%IL>(B - * section$B7?%3%^%s%I$N0z?t(B - * section$B7?%3%^%s%I$N%*%W%7%g%s%Q%i%a!<%?(B([]$B$G0O$^$l$?$b$N(B) - * large$B7?%3%^%s%I(B - * ($B%$%a!<%8Jd40$GF~NO2DG=$J(B)$B?t<0%b!<%I@lMQ$N(Bmaketitle$B7?%3%^%s%I(B - - $BJQ$($?$$(Bsection$B7?%3%^%s%I$N0z?t$,$5$i$K(B LaTeX $B%3%^%s%I$r4^$`>l9g$O!"$=$N(B -$B0z?t$r0O$`Cf3g8L$N>e$G(B `[prefix] c' $B$r2!$9$3$H$GCf$N%3%^%s%I$rJQ99BP>]H=Dj(B -$B$+$i=|30$9$k$3$H$,$G$-$^$9!#(B - - - - -File: yatexj, Node: Killing LaTeX command, Prev: Changing LaTeX command, Up: Modifying/Deleting - -LaTeX $B%3%^%s%I$N:o=|(B -==================== - -`[prefix] k' $B$O5/F0$9$k0LCV$K$h$je(B($BCf(B) section$B7?%3%^%s%I$N:o=|(B - $B%U%)%s%H;XDj3g8L$N>e(B $B%U%)%s%H;XDj$N:o=|(B - $B3g8L$N>e(B $BBP$r$J$93g8L$N:o=|(B - -`\begin, \end' $B$*$h$S(B `%#BEGIN, %#END' $B$r:o=|$9$k>l9g!"(B`\begin, \end' $B$d(B -`%#BEGIN, %#END' $B$NB8:_$9$k9T$O$^$k$4$H:o=|$5$l$k$N$G!"$=$l$i$N0l9T$K(B -`\begin' $B$J$I$rFs$D0J>eO"$M$F=q$+$J$$$h$&$KCm0U$7$F$/$@$5$$!#>e5-$N$b$N$O(B -$B$9$Y$FK\J8$r0O$&!VMF4o!W$r:o=|$9$k$h$&$KF/$-$^$9$,!"(Buniversal-argument -(`C-u') $B$rBG$C$?8e$G(B`[prefix] k'$B$r%?%$%W$9$k$H!"$=$l$>$l$N!VMF4o!W$K4^$^$l(B -$B$k!VCf?H!W$b0l5$$K:o=|$7$^$9!#0J2<$NNc$r;29M$K$7$F2<$5$$!#(B - - $B85$N%F%-%9%H(B: [prefix] k C-u [prefix] k - $BK\J8(B\footnote{$B5SCm(B}$B$G$9!#(B $BK\J85SCm$G$9!#(B $BK\J8$G$9!#(B - $B",(B($B%+!<%=%k0LCV(B) - - - -File: yatexj, Node: Filling, Next: Includeonly, Prev: Modifying/Deleting, Up: Top - -$B7eB7$((B -****** - - -item$B$N7eB7$((B -============ - - itemize $B4D6-Cf$K$"$k(B`\item'$B$N9`L\(B($BJ8>O(B)$B$,J#?t9T$KEO$k>l9g$K!"9`L\$N@hF,(B -$B$r7eB7$($7$?$$>l9g$K$O!"(B - - -`M-q' - ... $B7eB7$((B - -$B$K$h$C$F!"$=$N(B item $B$N%$%s%G%s%H$N?<$5$K1~$8$F(B fill $B$5$l$^$9!#$J$*!"8E$$(B -NTT jTeX $B$r;HMQ$7$F$$$k>l9g$K$O!"(BLisp $BJQ?t(B`NTT-jTeX'$B$r(B`t'$B$K%;%C%H$7$F2<$5(B -$B$$!#(B - - $B$3$N$H$-!"JQ?t(B`YaTeX-item-regexp'$B$NCM(B($BI8=`$G$O(B `"\\\\item"')$B$r9`L\;XDj%3(B -$B%^%s%I$N@55,I=8=$H$7$F8!:w$K;HMQ$7$^$9!#(Bitemize $B4D6-$G!"FH<+$N%3%^%s%I$rDj(B -$B5A$7$F9`L\$rNs5s$7$F$$$k>l9g(B($BNc$($P(B`\underlineitem')$B$O!"(B`~/.emacs' $B$Gl9g$O!"FH<+$N9`L\Ns5s%3%^%s%I$NL>A0$r(B -``"\item"'$B$G;O$^$k$b$N$K$7$F2<$5$$(B($BNc$($P(B"\itembf"')$B!#(B - -$BLnD;$N(B `M-q' $B$G$O(B `\item' $B$r4D6-$K1~$8$F0J2<$N$h$&$K!V%O%s%0%$%s%G%s%H!W$7(B -$B$^$9!#(B - - itemize, enumerate$B4D6-(B: - >\item[$B$[$2$[$2(B] $B1Q8l$G$O!"FC$K0UL#$N$J$$C18l$r(B `foo' $B$G$"$i$o$7$^(B - > $B$9$,!"$3$l$NF|K\8lHG$H$b$$$($kC18l$,!V$[$2$[$2!W(B - > $B$G$9!#(B - description$B4D6-(B: - > \item[$B$X$m$X$m(B] $B!V$[$2$[$2!W$r$G$?$i$a$,C18l$H$7$F;H$C$?;~$K!"Bh(B - > 2$B$N$G$?$i$a$JC18l$H$7$F!V$X$m$X$m!W$,;H$o$l$k$3$H$,B?(B - > $B$$$h$&$G$9!#(B - - -$B%Q%i%0%i%U$N7eB7$((B -================== - - itemize$B4D6-0J30$G$N%Q%i%0%i%U$N7eB7$((B(fill)$B$O!"4pK\E*$KB>$N%b!<%I$HF1$8(B -$B$h$&$K5!G=$7$^$9$,!"(Bverbatim$B4D6-$d!"(Btabular$B4D6-$J$I7eB7$($r$9$k$HHa;4$J>u(B -$B67$K$J$k$h$&$J4D6-Cf$G$O5!G=$7$^$;$s!#$^$?!"(B\verb $B$G3g$C$F$"$k$b$N$O7h$7$F(B -$B9TJ,3d$5$l$^$;$s(B($BJQ?t(B `YaTeX-verb-regexp' $B$G@)8f(B) )$B!#$5$i$K!"0l;~E*$K%$%s(B -$B%G%s%H$N?<$5$rJQ$($F$"$k2U=j$G$O!"$=$N%$%s%G%s%H$N@hF,$G(B`M-q'$B$r2!$9$3$H$K(B -$B$h$j(B fill-prefix $B$r$$$A$$$AJQ99$7$J$/$F7eB7$($,$G$-$^$9!#(B - - - - -File: yatexj, Node: Includeonly, Next: What column, Prev: Filling, Up: Top - -$B>!O$rF~NO$7$F$$$k;~$K$O!"%a%$%s%U%!%$%kCf$K(B - - \includeonly{$B8=:_JT=8Cf$N%U%!%$%kL>(B} - -$B$N$h$&$K=q$$$F$*$/$3$H$G!"%?%$%W%;%C%H$N;~4V$r@aLs$G$-$^$9$,!"$A$g$C$HB>$N(B -$B%U%!%$%k$r$7$7$?$$;~$K$O(B - - \includeonly{$B$A$g$C$H$7$7$?$$%U%!%$%kL>(B} - -$B$H=q$-D>$5$J$1$l$P$J$i$:$,%a%$%s%U%!%$%k$N(B`\includeonly'$B$K$J$$>l9g$K$O<+F0E*$K$3$l$r8!=P$7!"$l2!$7$F2<$5$$!#(B - - - -File: yatexj, Node: What column, Next: Intelligent newline, Prev: Includeonly, Up: Top - -$B$3$3$O$I$3(B? -*********** - - $B9`L\?t$NB?$$(B tabular $B$J$I$r$?$/$5$s=q$$$F$$$k$H2<$NJ}$N9T$G!"$$$^=q$$$F(B -$B$$$k7e$,$I$3$KBP1~$9$k$N$+$o$+$i$J$/$J$C$F$7$^$&$3$H$,$"$j$^$9!#Nc$($P!"0J(B -$B2<$N$h$&$J(B tabular $B$K$*$$$F!"(B - - \begin{tabular}{|c|c|c|c|c|c|c|c|}\hline - $B;aL>(B&$B=jB0(B&$B")(B&$B=;=j(B&$BEEOC(B&FAX&$B5">J@h(B&$B5">J@hEEOC(B\\ \hline - $BLp>eFsO:(B & 6 & 223 & $B2#IM;T9AKL6hF|5H(B & xxx-yyy & - zzz-www & $B%H%s%,(B & 9876-54321 \\ - $BF|5H>.AN(B & 2 & \multicolumn{2}{c|}{$B65$($J$$(B} - &&&(???) - \\ \hline - \end{tabular} - -(???)$B$NItJ,$,$I$N9`L\$J$N$+$9$0$KH=CG$9$k$N$OFq$7$$$G$7$g$&!#$3$s$J;~$O!"(B - -`[prefix] &' - ... $B8=:_$N%+%i%`I=<((B - -$B$r2!$9$H%+!<%=%k0LCV$N%+%i%`$,$I$N9`L\$K3:Ev$9$k$+$r%_%K%P%C%U%!$KI=<($7$^(B -$B$9!#(Btabular/array$B4D6-$NBh(B1$B9TL\$r9`L\L>$NJB$S$H$_$J$7$FBP1~$9$k$b$N$rC5$7$^(B -$B$9!#$b$79`L\L>$H$7$FJL$N$b$N$rI=<($7$FM_$7$$>l9g$O!"9TF,$r(B`%'$B$K$7$F%@%_!<(B -$B$N9`L\JB$S$r:n$C$F$*$/$HNI$$$G$7$g$&!#(B - - - -File: yatexj, Node: Intelligent newline, Next: Usepackage cheker, Prev: What column, Up: Top - -$B$*$^$+$;2~9T(B -************ - - tabular[*], array, itemize, enumerate, tabbing $B4D6-$r(Bbegin$B7?Jd40$GF~NO$7(B -$B$?;~!"$^$?$O3F4D6-Fb$G(B - -`ESC RET' - ... $B$*$^$+$;2~9T(B - -$B$r2!$9$H!"$=$N4D6-$K1~$8$?9T%(%s%H%j$rl9g$O(B undo $B$K$h$C$F>C5n$G$-$^$9(B)$B!#Nc$($P!"(B -tabular$B4D6-$G$O!"$=$N4D6-$N%+%i%`?t$KBP1~$7$?8D?t$N(B `&' $B$K2C$(!"9TKv$N(B -`\\' $B$rF~$l$^$9!#$3$N;~$=$l0JA0$K(B `\hline' $B$,$"$l$P$=$l$bIU$12C$($^$9!#4D(B -$B6-$H$=$l$K1~$8$F<+F0F~NO$9$k$b$N$NBP1~$O0J2<$N$h$&$K$J$j$^$9!#(B - - * `tabular', `tabular*', `array' - - $B%+%i%`?t(B-1 $B$@$1$N(B `&' $B$H(B `\\'$B!#I,MW$K1~$8$F(B `\hline' - - * `tabbing' - - $B0l9TL\$GDj5A$7$F$$$k(B `\=' $B$HF1$88D?t$N(B `\>'$B!#(B - - * `itemize', `enumerate', `description', `list' - - `\item' $B$^$?$O(B `item[]' - - tabular $B4D6-$NNc$N$h$&$K!"K\5!G=$O3F4D6-$N0l9TL\$NFbMF$r;29M$K$7$FF0:n$9(B -$B$k$N$G!"$J$k$Y$/Fs9TL\0J9_$G8F$S=P$9$h$&$K$7$F$/$@$5$$!#(B - - $B$b$7!"$=$NB>$N4D6-!"Nc$($P(B `foo'$B!"$KBP$7$F(B`$B$*$^$+$;2~9T(B'$B$rF0:n$5$;$?$$;~(B -$B$O!"(B`YaTeX-intelligent-newline-foo' $B$H$$$&L>A0$N4X?t$rDj5A$7$^$9!#Dj5A$7$?(B -$B4X?t$O!"8=:_$N9T$K2~9T$rA^F~$7$?D>8e$N9TF,$N0LCV$G8F$P$l$^$9!#4X?t(B -`YaTeX-indent-line' $B$r8F$V$H8=:_$N4D6-$N%M%9%H$K1~$8$??<$5$K%$%s%G%s%H$5$l(B -$B$k$N$G!"$3$l$r8F$s$G$+$i2?$+$rA^F~$9$k$h$&$J%3!<%I$r=q$/$H$h$$$G$7$g$&!#(B -`yatexenv.el'$BFb$N4X?t(B `YaTeX-intelligent-newline-itemize' $B$NDj5A$J$I$r;29M(B -$B$K$7$F$/$@$5$$!#(B - - - - -File: yatexj, Node: Usepackage cheker, Next: Changing mode of YaTeX, Prev: Intelligent newline, Up: Top - -$B@h2s$j(Busepackage -**************** - - begin$B7?!"(Bsection$B7?!"(Bmaketitle$B7?!"$$$:$l$+$N(BLaTeX2e$B%^%/%m$rJd40F~NO$9$k$H!"(B -$B$=$N%^%/%m$NMxMQ$K30It%Q%C%1!<%8$rI,MW$H$9$k>l9g!"$=$N%Q%C%1!<%8$rK\J8Cf$G(B -`\usepackage{}' $B$7$F$$$k$+$I$&$+$rD4::$7!"$b$7$7$F$$$J$1$l$P%W%j%"%s%V%k$K(B -$BBP1~$9$k%Q%C%1!<%8$r0z?t$K$7$?(B `\usepackage' $BJ8$r(B($B3NG'8e$K(B)$BA^F~$7$^$9!#(B - - $B$?$@$7$3$N5!G=$,F/$/$?$a$K$O!"%Q%C%1!<%8L>$H$=$NCf$GDj5A$5$l$F$$$k%^%/%m(B -$B72$r(Balist$B$N7A<0$GJQ?t(B `YaTeX-package-alist-private' $B$K@_Dj$7$F$*$/I,MW$,$"(B -$B$j$^$9!#(B - - - -File: yatexj, Node: Changing mode of YaTeX, Next: Online help, Prev: Usepackage cheker, Up: Top - -$BLnD;$NF0:n%b!<%I@Z$jBX$((B -************************ - -`[prefix] w' - ... $BLnD;F0:n%b!<%I@Z$jBX$(%a%K%e!<(B - -$B$GLnD;<+?H$NF0:n$r7hDj$9$k0J2<$N%b!<%I$r@Z$jBX$($^$9!#(B - - * $B=$@5%b!<%I(B - * $BLnD;?t<0%b!<%I(B - -$B=$@5%b!<%I$O!"3+$-3g8LF~NO;~$N=hM}$r%3%s%H%m!<%k$7!"=$@5%b!<%I(BON$B$N;~$O3+$-(B -$B3g8L$NF~NO$O3+$-3g8L$N$_$NF~NO$K$J$j!"=$@5%b!<%I(BOFF$B$N;~$O3+$-3g8L$NF~NO$@(B -$B$1$GJD$83g8L$^$GF~NO$7$^$9!#%G%U%)%k%H(B($B5/F0;~(B)$B$N@_Dj$O(B*OFF*$B$G$9!#(B - - $BLnD;?t<0%b!<%I$O!"JQ?t(B `YaTeX-auto-math-mode' $B$,(B `nil' $B$N;~$N$_M-8z$G!"(B -$B$3$N$H$-(B`;'$B$d(B`:'$B$r2!$7$?;~(B(*Note Image completion::$B;2>H(B)$B$K!"$I$N$h$&$J%$%a!<(B -$B%8Jd40$r5!G=$5$;$k$+!"DL>o$N%-!<$H$7$F5!G=$5$;$k$+$rH$5$l$k%X%k%W(B -$BMQ%U%!%$%k$K$O!V%0%m!<%P%k%X%k%W!W$H!V%W%i%$%Y!<%H%X%k%W!W$NFso8x6&$N>l=j(B($B%G%U%)%k(B -$B%H$G(B`$EMACSEXECPATH')$B$KCV$+$l!"C/$b$,$=$NFbMF$r99?7$G$-$k$h$&$KA40w$K=q$-(B -$B9~$_8"$,M?$($i$l$k$Y$-$b$N$G$9!#8el9g$O!"@bL@J8$NF~NO$r5a$a$F$/$k$N$G!"2DG=$G$"$l$P;29M=q$J$I$rD4(B -$B$Y$F$=$N%3%^%s%I$N@bL@$rF~NO$7$F$/$@$5$$!#$b$7!"$J$K$+I8=`E*$J%3%^%s%I$KBP(B -$B$9$k@bL@$r=q$$$?$J$i$P$<$R;d$^$G$=$N@bL@$r$*Aw$j2<$5$$!#l9g!"(B - -`[prefix] d' - ... $B%$%s%/%k!<%I9=B$%V%i%&%:(B - -$B$r2!$9$H!"$=$N%I%-%e%a%s%H$N?F%U%!%$%k$rJ9$$$FMh$^$9!#$3$3$GA4$F$N%U%!%$%k(B -$B$N?F$H$J$k%U%!%$%k(B($B%G%U%)%k%H$,<($5$l$F$$$k$N$GBgDq$O(BRET$B$N$_(B)$B$rF~NO$9$k$H(B -$B%$%s%/%k!<%I$7$F$$$kA4$F$N%U%!%$%k$r2r@O$7!"%$%s%/%k!<%I>u67$r;k3PE*$KI=<((B -$B$7$^$9!#$3$N%P%C%U%!$G$O0J2<$N%-!e$N9T$K0\F0$7BP1~$9$k%U%!%$%k$rNY$N%P%C%U%!$KI=<((B -`N' - ... $BF1$8%$%s%/%k!<%I%l%Y%k$Ne$N9T$K0\F0(B -`u' - ... $B0lBe?F$K$"$?$k%U%!%$%k$K0\F0(B -`.' - ... $B%+!<%=%k0LCV$N%U%!%$%k$rNY$N%P%C%U%!$KI=<((B -`SPC' - ... $BNY$N%P%C%U%!$NBP1~%U%!%$%k$r%9%/%m!<%k%"%C%W(B -`DEL, b' - ... $BNY$N%P%C%U%!$NBP1~%U%!%$%k$r%9%/%m!<%k%@%&%s(B -`<' - ... $BNY$N%P%C%U%!$NBP1~%U%!%$%k$N@hF,$rI=<((B -`>' - ... $BNY$N%P%C%U%!$NBP1~%U%!%$%k$NKvHx$rI=<((B -`'' - ... (`<'$B$d(B`>'$B$N8e$G(B)$B85$NI=<(0LCV$KLa$k(B -`RET, g' - ... $B%+!<%=%k0LCV$N%U%!%$%k$rNY$N%P%C%U%!$G%*!<%W%s(B -`mouse-2' - ... RET$B$HF1$8(B($B%&%#%s%I%&;HMQ;~$N$_(B) -`o' - ... $BNY$N%&%#%s%I%&$K0\F0(B -`1' - ... $BB>$N%&%#%s%I%&$r>C$9(B -`-' - ... $B%V%i%&%:%&%#%s%I%&$r>.$5$/$9$k(B -`+' - ... $B%V%i%&%:%&%#%s%I%&$rBg$-$/$9$k(B -`?' - ... $B%X%k%WI=<((B -`q' - ... $BI=<(A0$N>uBV$KLa$k(B - - $B$?$@$7!"NY$N%&%#%s%I%&$N%U%!%$%k$NFbMF$rI=<($9$k5!G=$K4X$7$F$O!"BP1~$9$k(B -$B%U%!%$%k$r%/%m!<%:$7$F$7$^$&$H$&$^$/F/$-$^$;$s$N$G$4Cm0U$/$@$5$$!#(B - - - -File: yatexj, Node: Cooperation with other packages, Next: Customizations, Prev: Inclusion hierarchy browser, Up: Top - -$BB>%Q%C%1!<%8$H$NO"7H(B -******************** - - -gmhist -====== - - `gmhist.el'$B$H(B`gmhist-mh.el' $B$r%m!<%I$7$F$$$k>l9g!"%W%l%t%e!<%3%^%s%I$NF~(B -$BNO(B(`[prefix] tp]')$B!"0u:~%3%^%s%I$NF~NO(B(`[prefix] tl')$B$N;~$KFHN)$7$?%R%9%H(B -$B%j$rMxMQ$G$-$^$9!#$=$l$>$l$N%W%m%s%W%H$G!"(B`M-p' $B$r2!$9$HD>A0$KMxMQ$7$?%3%^(B -$B%s%IJ8;zNs$r$/$jJV$78F$S=P$9$3$H$,$G$-$^$9!#(B - - -min-out -======= - - `min-out.el' (`outline-minor-mode') $B$HLnD;$rAH$_9g$o$;$F;H$&$3$H$b$b$A$m(B -$B$s2DG=$G$9!#@_Dj$NJ}K!$K4X$7$F$O(B`yatexm-o.el'$B$r$4Mw$/$@$5$$!#(B - - - -File: yatexj, Node: Customizations, Next: Etc, Prev: Cooperation with other packages, Up: Top - -$B%+%9%?%^%$%:(B -************ - - $BLnD;$NF0:n$r@)8f$9$k$NJd408uJd$r$5$i$K=<l9g$O!"(B`YaTeX-prefix'$B$K(B -prefix $B%-!<$K$7$?$$%7%s%\%k$rDj5A$7$F$/$@$5$$!#$5$i$K!"!V(B`C-c $B1Q;z(B'$B!W$H$$(B -$B$&%-!<%P%$%s%I$OFH<+$N4X?t$,3d$jEv$F$F$"$k$N$G;H$$$?$/$J$$!#$3$N$h$&$J;~$O!"(B -`YaTeX-inhibit-prefix-letter' $B$r(B `t' $B$K@_Dj$9$k$3$H$K$h$j!"(B`C-c $B1Q;z!D(B'$B$N(B -$B%P%$%s%I$,A4$F!"BP1~$9$k(B`C-c C-$B1Q;z!D(B'$B$KJQ$o$j$^$9(B($B$?$@$7!"(Bbegin$B7?(B large$B7?(B -$BJd40$NBgJ8;z5/F0$K$h$k%j%8%g%s;XDj$O2DG=$J$^$^$G$9!#$3$l$bL58z$K$7$?$$>l9g(B -$B$O(B`t'$B$G$O$J$/(B 1 $B$K%;%C%H$7$F2<$5$$!#(B)$B!#(B - -* Menu: - -* All customizable variables:: $B%+%9%?%^%$%:JQ?t0lMw(B -* Sample definitions:: $B%+%9%?%^%$%:JQ?t@_DjNc(B -* Hook variables:: hook$BJQ?t(B -* Hook file:: hook$BMQ%U%!%$%k(B - - - -File: yatexj, Node: All customizable variables, Next: Sample definitions, Prev: Lisp variables, Up: Lisp variables - -$B%+%9%?%^%$%:JQ?t0lMw(B --------------------- - - yatex-mode $B$K$*$1$kl9g$O(B `M-x describe-variable' $B$GJQ?t$N>\:Y$J@bL@$r;2>H(B -$B$7$F$/$@$5$$!#(B - - -- Variable: YaTeX-prefix - yatex-mode $BCf$N%W%j%U%#%/%9%-!<(B (`\C-c') - - -- Variable: YaTeX-inhibit-prefix-letter - prefix $B%-!<$ND>8e$N%-!<%P%$%s%I$G(B `$B1Q;z(B' $B$N$b$N$r(B `C-$B1Q;z(B' $B$KJQ99(B - (`nil') - - -- Variable: YaTeX-fill-prefix - $BK\J8$r=q$/;~$N9TF,$KA^F~$9$k@\F,<-$9$J$o$A(B fill-prefix (`""(nil)') - - -- Variable: YaTeX-user-completion-table - $B3X=,$7$?(BLaTeX$B%3%^%s%IJ]B8%U%!%$%kL>(B (`"~/.yatexrc"') - - -- Variable: YaTeX-kanji-code - $BJ8=q$r:n@.$9$k;~$N4A;z%3!<%I(Bnil=$B4{B8$N%3!<%I$N$^$^(B 0=no-conversion - 1=Shift JIS, 2=JIS, 3=EUC, 4=UTF-8 (2 (MS-DOS$B$G$O(B1)) - - -- Variable: tex-command - LaTeX$B%?%$%W%;%C%?%3%^%s%IL>(B (`"platex"') - - -- Variable: dvi2-command - $B%W%l%t%e!<%"%3%^%s%IL>(B (`"xdvi -geo +0+0 -s 4"') - - -- Variable: dviprint-command-format - dvi$B%U%!%$%k$N0u:~$K;H$o$l$k%3%^%s%I<0(B (`"dvi2ps %f %t %s | lpr"') - - -- Variable: dviprint-from-format - $B>e$N(B`%f'$B$KAjEv$9$k3+;O%Z!<%8;XDj=q<0!"(B`%b' $B$,3+;O%Z!<%8HV9f$KJQ$o$k(B - (`"-f %b"') - - -- Variable: dviprint-to-format - `%t' $B$KAjEv$9$k=*N;%Z!<%8;XDj=q<0!"(B`%e'$B$,=*N;%Z!<%8HV9f$KJQ$o$k(B (`"-t - %e"') - - -- Variable: makeindex-command - makeindex$B%3%^%s%I(B (`"makeindex"' (MS-DOS$B$G$O(B`"makeind"')) - - -- Variable: YaTeX-dvipdf-command - dvi$B$r(BPDF$B$KJQ49$9$k%3%^%s%I(B (`"dvipdfmx"') - - -- Variable: YaTeX-need-nonstop - `\nonstopmode{}'$B$r<+F0E*$KIU2C$9$k$+(B (`nil') - - -- Variable: latex-warning-regexp - latex$B%3%^%s%I$N=PNO$9$k%&%)!<%K%s%09T$N@55,I=8=(B (`"line.* [0-9]*"') - - -- Variable: latex-error-regexp - $BF1$8$/%(%i!<9T$N@55,I=8=(B (`"l\\.[1-9][0-9]*"') - - -- Variable: latex-dos-emergency-message - MS-DOS$B>e$GF0:n$9$k(B latex $B%3%^%s%I$,!"%(%i!<$K$h$jDd;_$9$k$H$-=PNO$9$k(B - $B%a%C%;!<%8(B (`"Emergency stop"') - - -- Variable: latex-message-kanji-code - $B%?%$%W%;%C%?$N=PNO$9$k%a%C%;!<%8$N4A;z%3!<%I(B.$B%?%$%W%;%C%H%P%C%U%!$N=P(B - $BNO$,2=$1$k;~$O!"$3$l$r@_Dj$9$k(B (2, Nemacs$B$G$N$_M-8z(B) - - -- Variable: NTT-jTeX - $B8E$$(BNTT-jTeX$B;HMQ;~$N$h$&$K%$%s%G%s%H$7$?9T$N@hF,$HA0$N9T$N(B($B%?%$%W%;%C(B - $B%H8e$N(B)$B;z4V$,6u$$$F$7$^$&$N$r7y$&>l9g$O(B`t'$B$K$9$k(B(`nil') - - -- Variable: YaTeX-item-regexp - item$B$N7eB7$($N;~$KMQ$$$k!"(Bitem$B$N@55,I=8=(B (`"\\\\(sub\\)*item"') - - -- Variable: YaTeX-verb-regexp - verb$B%3%^%s%I$N@55,I=8=!#@hF,$N(B\\\\$B$O$D$1$J$$(B (`"verb\\*?\\|path"') - - -- Variable: YaTeX-nervous - $B%m!<%+%k<-=q$rMQ$$$k;~(B `t' (`t') - - -- Variable: YaTeX-sectioning-regexp - $B%;%/%7%g%s6h@Z$j@_Dj%3%^%s%I$N@55,I=8=(B - (`"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"') - - -- Variable: YaTeX-fill-inhibit-environments - fill $B$rM^;_$9$k4D6-L>$N%j%9%H(B (`'("tabular" "tabular*" "array" - "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" - "verbatim" "verbatim*")') - - -- Variable: YaTeX-uncomment-once - $BNN0h(Buncomment$B$G9TF,$NJ#?t$N(B`%'$B$rA4$F:o=|$9$k$+(B (`nil') - - -- Variable: YaTeX-close-paren-always - $B3+$-3g8L$NF~NO$G>o$KJD$83g8L$rF~NO$9$k(B (`t') - - -- Variable: YaTeX-auto-math-mode - $B?t<0%b!<%I$N@Z$jBX$($r<+F0E*$K9T$&(B (`t') - - -- Variable: YaTeX-math-key-list-private - $B?t<0%$%a!<%8Jd40$GMQ$$$k(B ($B%W%j%U%#%/%9%-!<(B . $BBP1~Jd40%F!<%V%k(B) $B$N(B - alist (`nil')$B!#Jd40%F!<%V%k$N=q$-J}$K$D$$$F$O(B`yatexmth.el'$B$r;2>H!#(B - - -- Variable: YaTeX-default-pop-window-height - 1$B2hLL$N;~$K%?%$%W%;%C%H%P%C%U%!$r=i$a$F:n@.$9$k;~$N9b$5!#?tCM$G9T?t!"(B - $B?t;zJ8;zNs$G(BEmacs$B%&%#%s%I%&$KBP$9$kI4J,N((B (10) - - -- Variable: YaTeX-help-file - $B6&MQ%X%k%W%U%!%$%k(B (`$doc-directory/../../site-lisp/YATEXHLP.jp') - - -- Variable: YaTeX-help-file-private - $B8D?MMQ%X%k%W%U%!%$%k(B (`"~/YATEXHLP.jp"') - - -- Variable: YaTeX-no-begend-shortcut - `[prefix] b ??' $B$N%7%g!<%H%+%C%H$r;H$o$:!"(B`[prefix] b' $B$@$1$GJd40F~NO(B - $B$KF~$k(B (`nil') - - -- Variable: YaTeX-hilit-pattern-adjustment-private - $B@55,I=8=$H$=$l$K%^%C%A$9$k$b$N$NO@M}E*0UL#$r%7%s%\%k$G$"$i$o$7$?$b$N(B - $B$N%j%9%H!D$N%j%9%H!#(Bhilit19 $B$rAH$_9~$s$G$$$k;~$N$_M-8z!#>\$7$/$O(B - `(assq 'yatex-mode hilit-patterns-alist)' $B$7$?7k2L$H!"JQ?t(B - `YaTeX-hilit-pattern-adjustment-default' $B$NCM(B($B$H>l9g$K$h$C$F$O(B - hilit19 $B$N%I%-%e%a%s%H(B)$B$r;2>H$;$h!#(B - - -- Variable: YaTeX-sectioning-level - LaTeX$B$N%;%/%7%g%sC10L@k8@%3%^%s%I$H$=$NO@M}E*9b$5$N(Balist$B!#(B - - -- Variable: YaTeX-hierarchy-ignore-heading-regexp - Hierarchy $B%P%C%U%!$ODL>o%U%!%$%k%X%C%@$H$7$F!"(BLaTeX$B$N%;%/%7%g%s@k8@%3(B - $B%^%s%I$N0z?t$r8!:w$7!"$=$l$,$J$1$l$P%3%a%s%H9T$rC5$9$,!"$=$N:]$K%X%C(B - $B%@$H$7$F$O0UL#$r;}$?$J$$%Q%?!<%s$r$3$NJQ?t$K@_Dj$9$k!#%G%U%)%k%H$G$O(B - RCS $B%X%C%@$H%b!<%I;XDj9T(B(-*- xxx -*-)$B$,@_Dj$5$l$F$$$k!#(B - - -- Variable: YaTeX-skip-default-reader - Non-nil $B$K@_Dj$9$k$H(Bsection$B7?%3%^%s%I$N0z?tF~NO;~!"%"%I%$%s4X?t$,$J$1(B - $B$l$P%_%K%P%C%U%!$G$NFI$_9~$_$r$;$:$KF~NO$r40N;$5$;$k(B (`nil') - - -- Variable: YaTeX-create-file-prefix-g - `\include'$B$J$I$G(B `prefix g'$B$7$?;~$K!"%8%c%s%W@h$,B8:_$7$J$$%U%!%$%k$G(B - $B$"$C$F$b%*!<%W%s$9$k(B (`nil') - - -- Variable: YaTeX-simple-messages - $B3FH!#(B - - -- Variable: YaTeX-use-AMS-LaTeX - AMS-LaTeX $B$r;HMQ$9$k>l9g$O(B `t' $B$K@_Dj$9$k(B (`nil') - - -- Variable: YaTeX-use-LaTeX2e - LaTeX2e $B$r;HMQ$9$k>l9g$O(B `t' $B$K@_Dj$9$k(B (`t') - - -- Variable: YaTeX-template-file - $B?75,%U%!%$%k:n@.;~$K<+F0A^F~$9$k%U%!%$%kL>(B (`~/work/template.tex') - - -- Variable: YaTeX-search-file-from-top-directory - input$B$9$k%U%!%$%k$rC5$9$H$-$N4p=`%G%#%l%/%H%j$r(Bmain$B%U%!%$%k$N$"$k%G%#(B - $B%l%/%H%j$K$9$k$+(B (`t') - -- Variable: YaTeX-use-font-lock - $B%=!<%9$N?'$E$1%Q%C%1!<%8$H$7$F(B font-lock $B$rMxMQ$9$k$+$I$&$+(B - (`(featurep 'font-lock)') - - -- Variable: YaTeX-use-hilit19 - $B%=!<%9$N?'$E$1%Q%C%1!<%8$H$7$F(B hilit19 $B$rMxMQ$9$k$+$I$&$+(B(`(featurep - 'hilit19)') - - -- Variable: YaTeX-use-italic-bold - italic, bold$B%U%)%s%H$rLnD;$,C5$9$+$I$&$+(B (Emacs20$B0J9_$J$i(B`t') - font-lock$BMxMQ;~$N$_M-8z!#(B(`(featurep 'hilit19)' - - -- Variable: YaTeX-singlecmd-suffix - $BA4$F$N(Bmaketitle$B7?%3%^%s%I$NJd40F~NOD>8e$KA^F~$9$kJ8;zNs!#(B`"{}"' $B$J$I(B - $B$,$*4+$a!#(B - - -- Variable: YaTeX-package-alist-private - LaTeX2e$B$N%Q%C%1!<%8L>$H$=$NCf$K4^$^$l$k%^%/%m$N%j%9%H!#E,@Z$K@_Dj$7$F(B - $B$*$/$HK\J8F~NO;~$K%^%/%m$rJd40F~NO$9$k$H$=$N%^%/%m$KI,MW$J%Q%C%1!<%8(B - $B$r(B usepackage $B$9$k$+<+F0E*$K8!::$7$F$/$l$k!#$7$F$$$J$1$l$P(B - \usepackage $B$r<+F0DI2C$9$k$3$H$b$G$-$k!#%j%9%H$O(B'(($B%Q%C%1!<%8L>(B1 ($BJd(B - $B40%?%$%W(B $B%^%/%m$N%j%9%H!D!D(B) ($BJd40%?%$%W(B $B%^%/%m$N%j%9%H!D!D(B)) ($B%Q%C%1!<(B - $B%8L>(B2 ($BJd40%?%$%W(B $B%^%/%m$N%j%9%H!D!D(B) ($BJd40%?%$%W(B $B%^%/%m$N%j%9(B - $B%H!D!D(B))$B!D!D!D(B) $B$H$$$&7A<0$K$9$k!#Jd40%?%$%W$O(B `env, section, - maketitle' $B$N$I$l$+!#6qBNNc$OJQ?t(B `YaTeX-package-alist-default' $B$NCM(B - $B;2>H!#(B - - -- Variable: YaTeX-tabular-indentation - tabular/array $B4D6-$G8=:_9T$N@hF,0LCV$,I=$NBh(BN$B%+%i%`$N$H$-$OI8=`%$%s%G(B - $B%s%H0LCV$+$i(B N*YaTeX-tabular-indentation $B7e2<$2$?%$%s%G%s%H$K$9$k!#(B - - -- Variable: YaTeX-noindent-env-regexp - $BJL$N4D6-Fb$K$"$C$F$b(B \begin{} $B$,9TF,$+$i;O$^$k$Y$-4D6-L>$N@55,I=8=!#(B - verbatim$B4D6-$J$I$r;XDj$9$k!#(B - - -- Variable: YaTeX-ref-default-label-string - \ref{} $B$N%i%Y%kJd40$G%i%Y%kL$@_Dj$N$b$N$K<+F0E*$K@8@.$9$k%i%Y%kL>$N=q(B - $B<0!#(Bstrftime(3)$B4X?t$K;w$?F|IU%Y!<%9$G;XDj$9$k!#MxMQ$G$-$k=q<0$O0J2<$N(B - $B$H$*$j!#(B%y -> $B@>Nq2 $B7n$N1QL>(B, %m -> $B7n(B(1$B!A(B12) %d -> $BF|(B, - %H -> $B;~(B, %M -> $BJ,(B, %S -> $BIC(B, %qx -> $B%"%k%U%!%Y%C%H$G(B26$B?J?t2=$7$?(B - yymmdd. %qX -> $B%"%k%U%!%Y%C%H$G(B26$B?J?t2=$7$?(B HHMMSS. $B%G%U%)%k%H$O(B - "%H%M%S_%d%b%y" - - -- Variable: YaTeX-ref-generate-label-function - \ref{}$B$N%i%Y%kL><+F0@8@.$N$H$-$K;H$&4X?t$N%7%s%\%k!#%G%U%)%k%H$OI8=`(B - $B$N(B YaTeX::ref-generate-label $B4X?t$,3d$jEv$F$F$"$k!#0z?t$r(B2$B$D8uJd$H$9$k!#@_DjNc(B: - (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label) - (defun my-yatex-generate-label (command value) - (and (string= command "caption") - (re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t) - (setq command (match-string 1))) - (let ((alist '(("chapter" . "chap") - ("section" . "sec") - ("subsection" . "subsec") - ("figure" . "fig") - ("table" . "tbl")))) - (if (setq command (cdr (assoc command alist))) - (concat command ":" value) - (YaTeX::ref-generate-label nil nil)))) - - - -File: yatexj, Node: Sample definitions, Next: Hook variables, Prev: All customizable variables, Up: Lisp variables - -$B%+%9%?%^%$%:JQ?t@_DjNc(B ----------------------- - - $B$?$H$($P!"(Bprefix $B%-!<$H$7$F(B`ESC'$B$r;HMQ$7!"?7$?$JJd408uJd$r3JG<$9$k%U%!%$(B -$B%k$r!"(B`~/src/emacs/yatexrc' $B$K$7!"9TF,$N(B prefix $B$r%?%VJ8;z0l$D$KJQ$($?$$$H(B -$B$-$O!"(B - - (setq YaTeX-prefix "\e" - YaTeX-user-completion-table "~/src/emacs/yatexrc" - YaTeX-fill-prefix " ") - -$B$r(B `~/.emacs' $B$K2C$($^$9!#(B - - - -File: yatexj, Node: Hook variables, Next: Hook file, Prev: Sample definitions, Up: Lisp variables - -hook$BJQ?t(B --------- - - $B$^$?!"(Bhook $BJQ?t(B `yatex-mode-hook', `yatex-mode-load-hook' $B$rMQ0U$7$F$$$^(B -$B$9!#$9$Y$F$N(B yatex-mode $B$N%P%C%U%!$G:nMQ$5$;$?$$$b$N$O!"(B`yatex-mode-hook' -$B$K5-=R$7!"(B`yatex.el' $B$r%m!<%I$9$k;~$@$1:nMQ$5$;$?$$$b$N$O(B -`yatex-mode-load-hook' $B$K5-=R$7$^$9!#Nc$($P!"(B`outline-minor-mode' $B$rMxMQ$9(B -$B$k>l9g!"$=$l$>$l$N%P%C%U%!$G(B `outline-minor-mode' $B$rM-8z$K$7$?$$$N$G!"(B -`yatex-mode-hook' $B$r$b(B -$B%7%g!<%H%+%C%H%-!<$GF~$l$?$$$J$I$H$$$&;~$O!"$d%3%^%s%IL>$K1~$8$?$-$a:Y$d$+$JJd40F~NO5!G=$r(B -****** - - $BLnD;$NI8=`$N(B LaTeX $B%3%^%s%I$N<-=q$K$O!":n:\Ey$K4X$7$F$O@)8B$$$?(B -$B$7$^$;$s!#>o<1E*$K07$C$F$/$@$5$$!#$^$?!"K\%W%m%0%i%`$K4^$^$l$k%3!<%I$rMxMQ(B -$B$9$k$3$H!"2~B$$9$k$3$H$b<+M3$K9T$J$C$F9=$$$^$;$s$,!"N.MQ$9$k$3$H$K$h$j7@Ls(B -$BDy7k$NI,MW$,@8$8$k>l9g!";d$O$$$+$J$k7@Ls$bDy7k$7$^$;$s!#6qBNE*$K$O(BGPL$B$X$N(B -$B%5%$%s$O$7$^$;$s$N$G!"(BGNU$B$K4sB#$9$k$b$N$r:n$C$F$$$k>l9g;d$N:nIJ$+$ip!"4uK>!"%P%0Js9p!"46A[Ey$O4?7^$$$?$7$^$9!#O"Mm$O(B yuuji@yatex.org $B$^(B -$B$G(B(2004$BG/(B1$B7n8=:_(B)$B!#7QB3E*$K;HMQ$7$F$/$@$5$kJ}$O%a%$%j%s%0%j%9%H!V(Bfj$BLnD;$N(B -$B2q!W$K@'Hs2CF~$7$F$/$@$5$$!#2CF~J}K!$K$D$$$F$OK\%Q%C%1!<%8$N(B `docs/qanda' -$B%U%!%$%k$N!V$=$NB>!W$N>O$r8fMw$/$@$5$$!#(B - -$B;EMM$O!"M=9p$J$/3N: Commenting out. 4. -* prefix /: Online help. 4. -* prefix ?: Online help. 4. -* prefix &: What column. 4. -* prefix a: Accent mark completion. 4. -* prefix b: begin型補(J.(B. 4. -* prefix c: Modifying/Deleting. 4. -* prefix d: Inclusion hierarchy browser. 4. -* prefix e: end補(J.(B. 4. -* prefix g: Cursor jump. 4. -* prefix i: Filling. 8. -* prefix k: Modifying/Deleting. 4. -* prefix key: Invocation. 4. -* prefix l: large型補(J.(B. 4. -* prefix m: maketitle型補(J.(B. 4. -* prefix s: section型補(J.(B. 4. -* prefix SPC: Arbitrary completion. 4. -* prefix w: Changing mode of YaTeX. 4. -* prefixキー変更[prefix,B+"Vq1$(B]: Lisp variables. 4. -* ページ確認省略lpr起動[,BV&5)-Iq5f$hb-(Blpr,B+F$(B]: Print out. 12. -* section型補(J.(B[section,B)=Y)q(B]: section型補(J.(B. 4. -* 複雑,BH(Btabular[,BS-3BH(Btabular]: What column. 4. -* 先(Iq,Bh(Busepackage[,B3+\mh(B]: Usepackage cheker. 4. -* YaTeX-help-file: Online help. 16. -* YaTeX-help-file-private: Online help. 16. -* YaTeX-item-regexp: Filling. 20. -* YaTeX-math-sign-alist-private: Image completion. 56. -* yatex-mode-hook: Hook variables. 4. -* yatex-mode-load-hook: Hook variables. 4. -* YaTeX-nervous: Local dictionary. 22. -* .yatexrc: Local dictionary. 4. - - - - - -Tag table: -Node: Top146 -Node: Intro1200 -Node: Terminology1503 -Node: Main features2138 -Node: Installation3171 -Node: Invocation4390 -Node: Calling typesetter5214 -Node: Calling previewer6452 -Node: Print out6768 -Node: %#notation7034 -Node: Changing typesetter7408 -Node: Splitting input files7666 -Node: Fix region for typesetting8615 -Node: lpr format9516 -Node: Editing %# notation10309 -Node: Completion10742 -Node: begin$B7?Jd40(B11215 -Node: section$B7?Jd40(B13800 -Node: 2$B8D0J>e$N0z?t$r$H$k(B section$B7?%3%^%s%I(B14895 -Node: Enclose section-type command15712 -Node: Recursive completion15949 -Node: view-sectioning16255 -Node: label-generation17451 -Node: large$B7?Jd40(B17801 -Node: maketitle$B7?Jd40(B18381 -Node: Arbitrary completion18680 -Node: end$BJd40(B18993 -Node: Accent mark completion19335 -Node: Image completion19761 -Node: Greek letter completion21578 -Node: Local dictionary22038 -Node: Commenting out22643 -Node: Cursor jump23802 -Node: $BBP1~%*%V%8%'%/%H$X$N%8%c%s%W(B24039 -Node: $B$*3(IA$-%D!<%k5/F0(B25027 -Node: $B%a%$%s%U%!%$%k$X$N%8%c%s%W(B25947 -Node: $B4D6-$rC10L$H$7$?%8%c%s%W(B26283 -Node: $B:G8e$NJd400LCV$X$N%8%c%s%W(B26640 -Node: Modifying/Deleting26877 -Node: Changing LaTeX command27282 -Node: Killing LaTeX command27833 -Node: Filling28703 -Node: Includeonly30031 -Node: What column30590 -Node: Intelligent newline31368 -Node: Usepackage cheker32400 -Node: Changing mode of YaTeX32826 -Node: Online help33402 -Node: Inclusion hierarchy browser34378 -Node: Cooperation with other packages35656 -Node: Customizations36111 -Node: Lisp variables36408 -Node: All customizable variables37015 -Node: Sample definitions44315 -Node: Hook variables44749 -Node: Hook file45642 -Node: Add-in functions45848 -Node: Etc46075 -Node: Copying46359 -Node: Concept Index46990 - -End tag table +Info file: yatexj, -*-Text-*- +produced by `texinfo-format-buffer' +from file `yatexj.tex' +using `texinfmt.el' version 2.38 of 3 July 1998. + +START-INFO-DIR-ENTRY +* YaTeX: (yatexj). Yet Another tex-mode for Emacs (Japanese). +END-INFO-DIR-ENTRY + + + + + + +File: yatexj, Node: Top, Next: Intro, Prev: (dir), Up: (dir) + +* Menu: + +* Intro:: はじめに +* Terminology:: マニュアル参照上の注意 +* Main features:: 主な機能 +* Installation:: インストール +* Invocation:: プロセス起動 +* %#notation :: %#記法 +* Completion:: 補完入力 +* Local dictionary:: ローカル辞書 +* Commenting out:: コメントアウト +* Cursor jump:: カーソルジャンプ +* Modifying/Deleting:: LaTeXコマンドの変更/削除 +* Filling:: 桁揃え +* Includeonly:: 勝手に includeonly +* What column:: カラム位置ガイド +* Intelligent newline:: おまかせ改行 +* Usepackage cheker:: 先回りusepackage +* Changing mode of YaTeX:: 野鳥動作モード変更 +* Online help:: LaTeXオンラインヘルプ +* Inclusion hierarchy browser:: ファイル分割階層構造の表示 +* Cooperation with other packages:: 他パッケージとの連携 +* Customizations:: カスタマイズ +* Etc:: その他 +* Copying:: 取り扱い +* Concept Index:: 索引 + + + + +File: yatexj, Node: Intro, Next: Terminology, Prev: Top, Up: Top + +はじめに +******** + + 野鳥は、GNU Emacs で LaTeX 用の文書を作成する時に pLaTeX などのタイプセッ +トコマンドや、プレヴューアの起動を Emacs 編集画面中から行えるようにすると +共に、拡張性の高い種々の補完機能によりソーステキストの編集を支援します。さ +らに LaTeX コマンドのオンラインヘルプによりマニュアルを調べる手間を軽減し +ます。 + + English manual *Note Top: (yatexe)Top. + + + +File: yatexj, Node: Terminology, Next: Main features, Prev: Intro, Up: Top + +本マニュアル参照上の注意 +************************ + + 本マニュアルでは以下の表記を用います。 + + * begin型コマンド + + `\begin{環境} 〜 \end{環境}'という形式のLaTeXコマンドを指します。 + begin型コマンドを補完入力することをbegin型補完と呼びます。 + + * section型コマンド + + `\section{タイトル}'や`\mbox{内容}'のように引数を取るLaTeXコマンドを + 指します。 + + * maketitle型コマンド + + `\maketitle'や`\tableofcontents'のように引数を取らないLaTeXコマンドを + 指します。 + + * large型コマンド + + `{\large ...}' や `{\tt ...}' のようなフォント/サイズ指定子を指します。 + + * `[prefix]' + + 野鳥の機能を呼び出すためのプリフィクスキー。デフォルトでは`C-c'に割り + 当てられているので、特に変更していない場合本マニュアルの `[prefix]' + という表記は、`C-c' と読み換えてください。 + + + +File: yatexj, Node: Main features, Next: Installation, Prev: Terminology, Up: Top + +主な機能 +******** + + * タイプセッタやプレヴューアなどの編集画面からの起動(`C-c t') + * カーソル位置によらない固定リジョンの部分タイプセット + * \includeonlyのワンタッチ更新 + * エラー箇所への自動ジャンプ(`C-c '') + * `\begin{}, \end{}, \section...' などの LaTeX コマンドの補完入力(`C-c + b', `C-c s', `C-c l', `C-c m') + * 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完(`C-u' + +通常補完キー) + * セクション区切り入力時の文書構造アウトライン表示 + * セクションコマンドの一括シフト (*Note view-sectioning::) + * 補完辞書の学習 + * LaTeX の環境やコマンドに応じたガイド付き引数入力 + * 野鳥にないガイド付き引数入力関数の自動生成(`yatexgen.el') + * LaTeX コマンドの削除/変更(`C-c k', `C-c c') + * ファイル間、`\begin'<->`\end'間、`\ref'<->`\label'間、 + `\cite'<->`\bibitem'ジャンプ(`C-c g') + * 一括コメントアウト/アンコメントアウト(`C-c >', `C-c <', `C-c ,', `C-c + .') + * アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援(`C-c a', + `;', `/') + * tabular/array環境のカラム位置ガイド + * 標準的 LaTeX コマンドのオンラインヘルプ(`C-c ?', `C-c /') + * ドキュメントのインクルード構造の視覚的表示とバッファ切り替え(`C-c d') + * 補完入力したマクロに応じて必要な \userpackage を入れてくれる先回り + userpackage + * \labelを打つことはもう忘れよう! refやcite補完入力で自動生成します + + + +File: yatexj, Node: Installation, Next: Invocation, Prev: Main features, Up: Top + +起動法 +****** + +野鳥起動のための設定 +==================== + + ~/.emacsに下の2項目を加えます。 + + (setq auto-mode-alist + (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) + (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) + +次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に加えます。 +たとえば、 `~/src/emacs/yatex'に置くのであれば、 + + (setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path)) + +などとします。 + + 以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野鳥が +ロードされます。野鳥が正常に起動できたときはモードラインの表示が「やてふ」 +に変わります。 + + +タイプセッタ/プレヴューア環境の設定 +=================================== + + 利用する外部プログラムに関する以下の変数を確認し、必要なら正しい値に変更 +します。 +`tex-command' + ... 起動するタイプセッタのコマンド名 +`dvi2-command' + ... 起動するプレヴューアのコマンド名 +`NTT-jTeX' + ... 改行+インデントによって、タイプセット後の字間が空いてしま + うのを抑制する場合にtにする(古いNTT-jTeXで顕著に現れる)。具体的には、 + fillするときに各行の終わりに%を付加するようになる。 +`YaTeX-kanji-code' + ... 文書を作成する時の漢字コード +`dviprint-command-format' + ... ファイルの印刷に使われるコマンド列の書式 +`makeindex-command' + ... makeindexコマンド + +これらを変更する場合は、やはり`~/.emacs'にて、たとえば(setq tex-command +"pdflatex") のようにしてください。どのような値をセットすれば良いかについて +は、*Note All customizable variables::を参照してください。 + + + + +File: yatexj, Node: Invocation, Next: %#notation, Prev: Installation, Up: Top + +latexコマンド起動 +***************** + +LaTeXソースの編集中、次のキー入力により、platex などのタイプセットプログラ +ム(以後タイプセッタと呼ぶ)、プレヴューアなどの起動ができます。 + +`[prefix] t j' + ... タイプセッタ(platex)起動 +`[prefix] t r' + ... タイプセッタ起動(領域指定) +`[prefix] t e' + ... タイプセッタ起動(ポイント位置の環境または数式モードのみ対 + 象) +`[prefix] t k' + ... 動作中のタイプセッタの停止 +`[prefix] t b' + ... jbibtex起動 +`[prefix] t i' + ... makeindex起動 +`[prefix] t d' + ... タイプセット完了後dvipdfmx起動 +`[prefix] t p' + ... プレヴューア起動 +`[prefix] t l' + ... lpr(プリントアウト用)コマンド起動 +`[prefix] t s' + ... xdvi -remote でのサーチ + +* Menu: + +* Calling typesetter:: タイプセッタ起動 +* Calling previewer:: プレヴューア起動 +* Print out:: プリントアウト用コマンドの起動 + + + +File: yatexj, Node: Calling typesetter, Next: Calling previewer, Prev: Invocation, Up: Invocation + +タイプセッタ起動 +================ + + タイプセッタを起動すると、編集ウィンドウが2つに分割され、片方のウィンド +ウにタイプセット画面が表示されます。出力されるメッセージと連動しタイプセッ +トバッファは自動的にスクロールします。もし、途中でエラーが起こって止まって +しまった場合にはタイプセットバッファに移り、(`C-x o') タイプセッタの出して +いる ? プロンプトに対して、`x' (処理の中断)などの指示を送ることができます。 +エラーを修正する場合は、 + +`[prefix] '' +`(prefix+アポストロフィ)' + ... 直前のエラー発生行へジャンプ + +を入力することにより、タイプセッタがエラーを発生した行に移ることができます。 +また、タイプセッタの出力する overfull hbox などのウォーニング行にも対応し +ていますので、順次 `[prefix] '' を押すことにより、一つ前のウォーニング発生 +行にジャンプしていきます。 + + もし、気になるエラー行があった場合は、タイプセットバッファで、エラーの表 +示されている行にカーソルを合わせスペースキーを押すと LaTeX ソースの対応す +る行にジャンプします。 + + +領域タイプセット +---------------- + + ポイントとマークの間、あるいはテキスト中に埋め込んだ `%#BEGIN' と`%#END' +の間の領域(*Note %#notation::)だけを切り取ってタイプセットすることができま +す。この場合メインファイルのプリアンブルが一時ファイルのプリアンブルとして +使われます。したがってプリアンブルにないマクロ定義が領域内にあるとエラーに +なります。領域タイプセットを使う場合、必ずマクロ定義はプリアンブル +(`\begin{document}'より前)に置くようにして下さい。一時ファイルはメインファ +イルのあるディレクトリの`texput.tex'という名前で出力されるので、上書きには +注意してください。 + + +環境タイプセット +---------------- + + `[prefix] te' を押すと、ポイント位置の最も内側の環境、または数式モード内 +の場合はその数式モード全体が自動的に領域選択されて、領域タイプセットを呼び +出します。tabular環境や数式モードで複雑なものを作っている場合は確かめたい +部分だけを確認できるので便利です。これも `texput.tex' に該当部分を書き出し +ます。プレヴューアで `texput.dvi' を開いたままにしておけば修正と確認が素早 +くできるでしょう。 + + + +File: yatexj, Node: Calling previewer, Next: Print out, Prev: Calling typesetter, Up: Invocation + +プレヴューア起動 +================ + `[prefix] t p' によりプレヴューアの起動ができます。さらに、もしあなたが、- +remote 機能つきのxdviを利用している場合は `[prefix] t s' を押すことにより +カーソル位置の文字列を検索してそのページを表示するようにすでに起動中のxdvi +に命令を送ります。これにより、現在編集中の箇所のタイプセット結果を即座に見 +ることができます。 + + + + +File: yatexj, Node: Print out, Prev: Calling previewer, Up: Invocation + +プリントアウト +============== + + `[prefix] t l'を押してプリントアウトを指示すると、出力開始/終了ページを +聞いてくるので、それぞれに答えます。これを省略したい時は、 +universal-argument をつけ、 + + +`C-u [prefix] t l' + ... ページ確認省略lpr起動 + +のように起動してください。 + + + +File: yatexj, Node: %#notation, Next: Completion, Prev: Invocation, Up: Top + +%#記法 +****** + + 本文中に`%#'ではじまるキーワードを埋め込むことでタイプセッタ起動等の制御 +をすることができます。 + +* Menu: + +* Changing typesetter:: タイプセット用コマンドの変更 +* Splitting input files:: 入力ファイル分割 +* Fix region for typesetting:: 領域の固定 +* lpr format:: プリントアウトコマンド用フォーマット +* Controlling which command to invoke:: その他の起動コマンド制御 +* Editing %# notation:: %#記法の編集 + + + +File: yatexj, Node: Changing typesetter, Next: Splitting input files, Prev: %#notation, Up: %#notation + +タイプセット用コマンド変更 +========================== + + 起動するコマンドを変えたい時は本文中に次のような行を書きます。 + + + %#!jlatex-ntt + +NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。 + + + + +File: yatexj, Node: Splitting input files, Next: Fix region for typesetting, Prev: Changing typesetter, Up: %#notation + +入力ファイル分割 +================ + +また、章毎に別ファイルの .tex を作成している場合で、`main.tex'から +`sub.tex' を `\include'しているような時は、`sub.tex'の任意の位置に次のよう +な行を埋め込みます。 + + %#!platex main.tex + + +上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま +shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時に便 +利です。 + + + %#!platex main && dvi2ps main.dvi > main + +なお、この行の最後の単語のピリオド以前を「メインファイル」のベースネームで +あると仮定します(上の2つの場合どちらも`main')。この行に記述した、`%f'はメ +インファイル名に、 `%r' はメインファイルの拡張子を取り除いた部分に置換され +ます。ただし、`%f,%r'を利用した場合、初回タイプセット時に必ずメインファイ +ル名の入力を促されます。 + + `[prefix] g' (*Note Cursor jump::参照) でのファイル間ジャンプを有効に機 +能させるため、入力ファイル分割時には次のことに注意して下さい。 + + 1. サブディレクトリを作って、その中にサブファイルを置くことはできるがサ + ブディレクトリのサブディレクトリには置けない。 + 2. メインファイルからサブディレクトリ内のファイルを include する時には、 + 相対パス指定を用いて、`\include{chap1/sub}'のように記述。 + 3. メインファイルが一つ上のディレクトリにある場合も、サブファイルには + %#!platex main.tex のように記述する(../mainではない)。 + + + + + +File: yatexj, Node: Fix region for typesetting, Next: lpr format, Prev: Splitting input files, Up: %#notation + +領域の固定 +========== + + `[prefix] tr' の領域指定のタイプセットでは、とくに指定のないかぎり、 +`C-SPC'でマークした位置と、ポイント(カーソル位置)の間を領域とみなしますが、 +必ず決まった領域をタイプセットしたい場合は、その領域を + + %#BEGIN + <渡したい領域> + %#END + +のように`%#BEGIN'と`%#END'で囲み、カーソルを「`%#BEGIN'以降」に置いてくだ +さい。この時の領域決定規則をまとめると次のようになります。 + + + 1. カーソル位置よりバッファの先頭方向に`%#BEGIN'というキーワードがある場 + 合 + + 1. `%#BEGIN'よりバッファの末尾方向に`%#END'というキーワードが見つかっ + た場合。 + =>`%#BEGIN' から、その `%#END' のある位置まで。 + 2. `%#END' が見つからなかった場合。=>バッファの最後尾まで。 + + 2. カーソル位置よりバッファの先頭方向に `%#BEGIN' というキーワードが + 見つからなかった場合。 + =>マーク(`C-SPC'位置)とポイント(カーソル位置)の間の領域。 + + tabular 環境を何度も試行錯誤しているような場合は、`\begin'の前の行に +`%#BEGIN' と書き、`\end' の次の行に `%#END' と書いておくと簡単に作表結果を +テストすることができます。また、長い .tex ファイルの後半に `%#BEGIN' を書 +いておけば、前半の部分は無視できます。このBEGINとEND の消し忘れには十分ご +注意下さい。 + + + + +File: yatexj, Node: lpr format, Next: Controlling which command to invoke, Prev: Fix region for typesetting, Up: %#notation + +lprフォーマット +=============== + + まず、プリントアウト用コマンド列のフォーマットについて説明します。コマン +ド列フォーマットは、3つの Lisp 変数によって表現されます。デフォルトの +dvi2ps 用のフォーマットを例に説明します。 + +`(1)dviprint-command-format' + `"dvi2ps %f %t %s | lpr"' + +`(2)dviprint-from-format' + `"-f %b"' + +`(3)dviprint-to-format' + `"-t %e"' + +実際にプリントアウトする時は、(1)中の %s がファイル名に置き換えられ、%f が +(2)の内容、%t が(3)の内容に置き換えられます。その際に(2)の文字列中の %b は +「出力開始ページ」、(3)の文字列中の %e は「出力終了ページ」に置き換えられ +ます。もし、ページを指定しない時には、%f, %t 両方とも無視されます。 + + この、dviprint-command-format を臨時に変えたい時は、LaTeX のソーステキス +ト中の任意の場所に、 + + %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2 + +のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせないよう +にする時に + + %#LPR dvi2ps %s | lpr + +などとするのも便利かもしれません。 + + + +File: yatexj, Node: Controlling which command to invoke, Next: Editing %# notation, Prev: lpr format, Up: %#notation + +その他の起動コマンド制御 +======================== + +LaTeX 文書に関連するコマンドは以下の %# 記法で指定することができます。 + + `%#BIBTEX' + + ... makeindexを行なうコマンドライン([prefix] t b) + `%#MAKEINDEX' + + ... bibtexを行なうコマンドライン([prefix] t i) + +行頭がこれらのキーワードで始まる行をLaTeX文書の先頭付近に書いておけば、そ +れで指定したコマンドを起動できます。 + + + +File: yatexj, Node: Editing %# notation, Prev: Controlling which command to invoke, Up: %#notation + +%#記法自体の編集 +================ + +以上のような`%#'で始まる各種制御記法を編集するためには + +`[prefix] %' + ... `%#'記法編集メニュー + +を押します。 + + !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR + +というメニューが出て来るので、`%#!'に続くコマンドを変更したい時には`!'を、 +`%#LPR'で lpr フォーマットを変えたい時は`l'を、あらかじめ設定したリジョン +を `%#BEGIN' 〜 `%#END' で括りたい時は、`b'を押します。`b'を選んだ時には、 +それまでバッファ中に置かれていた`%#BEGIN', `%#END' が自動的に消去されます。 + + + +File: yatexj, Node: Completion, Next: Local dictionary, Prev: %#notation, Up: Top + +補完入力 +******** + + LaTeX での環境名などは、野鳥の補完機能を利用して能率的に入力することがで +きます。 + +* Menu: + +* begin型補完:: +* section型補完:: +* large型補完:: +* maketitle型補完:: +* Arbitrary completion:: 随時補完 +* end補完:: +* Accent mark completion:: アクセント記号補完 +* Image completion:: 数式記号イメージ補完 +* Greek letter completion:: ギリシャ文字補完 + + + +File: yatexj, Node: begin型補完, Next: section型補完, Prev: Completion, Up: Completion + +begin型補完 +=========== + + `\begin{env}...\end{env}'の様な形式の入力の補完をbegin型補完と呼ぶことに +します。begin 型補完は、 + +`[prefix] b' + ... begin 型補完開始(標準では `C-c b') + +で始まります。頻繁に用いられる次の LaTeX 環境の補完は、[prefix] `b' に続く +次の1文字を入力するだけで、`\begin{xxx}...\end{xxx}'を完成させます。 + +`[prefix] b c' + ... `\begin{center}...\end{center}' +`[prefix] b d' + ... `\begin{document}...\end{document}' +`[prefix] b D' + ... `\begin{description}...\end{description}' +`[prefix] b e' + ... `\begin{enumerate}...\end{enumerate}' +`[prefix] b E' + ... `\begin{equation}...\end{equation}' +`[prefix] b i' + ... `\begin{itemize}...\end{itemize}' +`[prefix] b l' + ... `\begin{flushleft}...\end{flushleft}' +`[prefix] b m' + ... `\begin{minipage}...\end{minipage}' +`[prefix] b t' + ... `\begin{tabbing}...\end{tabbing}' +`[prefix] b T' + ... `\begin{tabular}...\end{tabular}' +`[prefix] b ^T' + ... `\begin{table}...\end{table}' +`[prefix] b p' + ... `\begin{picture}...\end{picture}' +`[prefix] b q' + ... `\begin{quote}...\end{quote}' +`[prefix] b Q' + ... `\begin{quotation}...\end{quotation}' +`[prefix] b r' + ... `\begin{flushright}...\end{flushright}' +`[prefix] b v' + ... `\begin{verbatim}...\end{verbatim}' +`[prefix] b V' + ... `\begin{verse}...\end{verse}' + + 上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用いて +入力します(上記の環境名も以下の補完入力可能)。 + +`[prefix] b SPC' + ... begin 型補完入力 + +`[prefix] b SPC' と入力すると、最下行のミニバッファに + + Begin environment(default document): + +と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出てい +るデフォルトの環境名が入力されますが、適当な環境名を入力すると、`\begin{環 +境名} … \end{環境名}'が文書中に挿入されます。ミニバッファで環境名を入力す +るときに、環境名の頭文字を入力し「スペース」をたたくと、一致する環境名が内 +部テーブルに存在した場合、正しい環境名に補完されるので、入力の手間が省けま +す。内部テーブルに存在しない環境名を入力した時はユーザ専用のテーブルに登録 +され、さらにそのテーブルを自動的に、ユーザ辞書(デフォルトでは +`~/.yatexrc')に保存します。 + +さらに、特定の環境を補完入力した時にはその環境で必ず用いられるエントリを自 +動挿入します(例: `itemize'環境における`\item'など)。挿入されたエントリが不 +要な場合にはundoによって消去して下さい。 + + +既に書いたテキストを環境で括る +------------------------------ + + ところで、最初に書いてしまったブロックを後から、itemize 環境の中に閉じこ +めたいと思うことがありますが、そのようなときは、あらかじめ閉じこめたい段落 +をマークして、begin 型補完の各コマンドの `[prefix]' の次の『小文字の 'b'』 +を『大文字』に変えて起動して下さい。(または、`C-u' を先に打ち、universal +argument をつけても可能です) + + 例えばあるパラグラフを description 環境の中に入れたいときは、そのパラグ +ラフをマークしてから、 + +`[prefix] B D' +`(または ESC 1 [prefix] b D)' +`(または C-u [prefix] b D など)' + +とタイプしてください。これは、`[prefix] b SPC'の補完入力にもあてはまり、 +`b' を大文字に変えて、`[prefix] B SPC' とタイプすれば、あらかじめマークし +ておいたリジョンを、begin と end の環境で括ります。 + + + +File: yatexj, Node: section型補完, Next: large型補完, Prev: begin型補完, Up: Completion + +section型補完 +============= + + `\section{目的}' のような形式の入力の補完を section 型補完と呼ぶことにし +ます。section 型補完は、 + +`[prefix] s' + ... section 型補完 + + +で実行します。`[prefix] s' を入力するとミニバッファに、 + + (C-v for view-section) \???{} (default documentclass): + +というプロンプトが現れるので、そこで `section' のような LaTeX コマンド名を +入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択されるほか、 +`chapter'などのような頻度の高い名称入力にはスペースキーによる補完機能が有 +効です。 次に、{}の中身の入力を促す、 + + \section{???}: + +というプロンプトが現れるので、セクションのタイトルなどを入力します。たとえ +ば、 + + (C-v for view-section) \???{} (default documentclass): section + \section{???}: 目的 + +のように入力した場合は、文章中に + + \section{目的} + +が挿入され、 + + (C-v for view-section) \???{} (default section): vspace* + \vspace*{???}: + +のように{}の中身を省略したときは、 + + \vspace*{} + +だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。 + +* Menu: + +* 2個以上の引数をとる section型コマンド:: +* Enclose section-type command:: 括り補完 +* Recursive completion:: 再帰補完 +* view-sectioning:: セクション区切りのアウトライン表示 +* label-generation:: ラベル自動生成 + + + +File: yatexj, Node: 2個以上の引数をとる section型コマンド, Next: Enclose section-type command, Prev: section型補完, Up: section型補完 + +2個以上の引数をとる section型コマンド +------------------------------------- + + ところで、`\addtolength{\topmargin}{8mm}' などのように、引数を二つ以上取 +る LaTeX コマンドがあります。このようなコマンドの補完入力には、 section 型 +補完呼び出しに引数を付けてください。例えば上の`addtolength' の例であれば、 +引数2を指定します。つまり、 + + C-u 2 [prefix] s (または、ESC 2 [prefix] s) + +と section 型補完を呼び出した後、 + + (Ctrl-v for view-section) \???{} (default vspace*): addtolength + \addtolength{???}: \topmargin + Argument 2: 8mm + +のように入力してください。最初の addtolength の部分と、第一引数である +\topmargin の入力は当然スペースによる補完入力が可能です。ユーザ辞書に登録 +される LaTeX コマンドには、この引数の数も学習されるので、最初の補完の時引 +数の数を指定して起動しておけば、以後の補完時には、記憶された個数だけ引数を +聞いて来るようになります。あとで引数の個数を変えたい時は、再び `C-u' を用 +いて個数を指定し直すことで、自動的に辞書中の引数の個数の部分を更新します。 + + + + +File: yatexj, Node: Enclose section-type command, Next: Recursive completion, Prev: 2個以上の引数をとる section型コマンド, Up: section型補完 + +既に書いたテキストを括る +------------------------ + + また、起動コマンドの`s'を大文字に変えて起動すると、あらかじめ書いた文章 +を section 型コマンドの第一引数として括ります。 + + + +File: yatexj, Node: Recursive completion, Next: view-sectioning, Prev: Enclose section-type command, Up: section型補完 + +再帰補完 +-------- + + 高度な使い方になるかもしれませんが、section型補完の引数の入力時にさらに +補完入力を利用することができます(section/large/maketitle型に限る)。section +型コマンドの引数に更に LaTeX コマンドが来る場合にはミニバッファで野鳥の補 +完キーを再帰的に入力することで引数の入力も効率的に行なえます。 + + + +File: yatexj, Node: view-sectioning, Next: label-generation, Prev: Recursive completion, Up: section型補完 + +セクション区切りのアウトライン表示 +---------------------------------- + + 通常のsection型補完の時にミニバッファで`C-v'を押すと現在存在するセクショ +ン区切りコマンド全てを `*Sectioning Lines*'というバッファに一覧表示します +(「<<--」のついている行がもっとも近いセクション区切り)。この時ミニバッファ +で`C-p', `C-n' を押すと`part', `chapter', ..., `subparagraph' のコマンドが +論理階層の高さにしたがって上下します。また、`C-v', `M-v' を押すとセクショ +ン区切り一覧バッファがスクロールし、数字の`0'〜`7'を押すとある高さ以上のセ +クション区切りだけを選んで表示します(実際にやって見れば分かります)。 + +`*Sectioning Lines*'バッファは、 + +`M-x YaTeX-section-overview' + ... セクション区切り一覧バッファを生成 + +で作成することができます。このバッファを選択し任意の行でスペースを押すと、 +該当するセクション区切りのある本文中の場所にジャンプします。さらに、同バッ +ファで `u' を押すと、ソーステキストの対応するセクションコマンドが一階層上 +がり(例: subsection が section に変わる)、`d'を押すと一階層下がります。 +`*Sectioning Lines*'バッファにあるセクション区切りの行をマークしておいて +`U'を押すとリジョン内のものに対応するソーステキストのセクションコマンドす +べてが一階層上がり、`D'を押すと下がります。セクション区切り一覧バッファで +利用できるキーコマンドには以下のものがあります。 + +`SPC' + ... 対応するソース行へジャンプ +`.' + ... 対応するソース行を表示 +`u' + ... カーソル位置に対応するセクションコマンドを一階層上げる +`d' + ... カーソル位置に対応するセクションコマンドを一階層下げる +`U' + ... マークしたセクションコマンドを一階層上げる +`D' + ... マークしたセクションコマンドを一階層上げる +`0〜6' + ... レベル n 以下のセクションコマンドを隠して表示 + + + + +File: yatexj, Node: label-generation, Prev: view-sectioning, Up: section型補完 + +ラベル自動生成 +-------------- + + `\ref{}' や `\cite{}' マクロをsection型補完で入れた場合参照先となり得る +ものを全て探してメニューにして選択できます。参照先には`\label{}'をつけてお +く必要はありません。もしあれば、そのラベルを使い、なければその場で参照先に +`\label{}'を作らせてくれます。ラベル名を考えるのは苦痛に感じるものです。全 +てのカウンタにラベルをつけるのもたいへんです。もうラベル名に何をつけるか、 +ラベルをつけるかつけまいか、などということは忘れましょう! + + + +File: yatexj, Node: large型補完, Next: maketitle型補完, Prev: section型補完, Up: Completion + +large型補完 +=========== + + `{\large }' のような形式の補完を large 型補完と呼ぶことにします。 + +`[prefix] l' + ... large 型補完開始 + +がlarge型補完の開始です。`[prefix] l' を押すと、ミニバッファに + + {\??? } (default large): + + +と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に用意 +されているのは、`footnotesize' や `huge' のような文字サイズ指定子と、`bf' +や`dg'のようなフォント指定子です。 + + +既に書いた文字を括る +-------------------- + + また、begin型補完の時と同様、先に書いてしまった一連の文章の文字のサイズ +を変えたいと思う時がありますが、そのような時は、サイズや大きさを変えたい文 +字の範囲をマークしてから、呼び出しキーを `[prefix] L' と、大文字の L に変 +えて呼び出せば、そのリジョン全体が、ブレースで囲まれます。 + + + +File: yatexj, Node: maketitle型補完, Next: Arbitrary completion, Prev: large型補完, Up: Completion + +maketitle型補完 +=============== + + `\maketitle' の形式の補完を maketitle 型補完と呼ぶことにします。 + +`[prefix] m' + ... maketitle 型補完開始 + +で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同じで +す。LaTeX 用のコマンド名が補完候補として用意されています。 + + + +File: yatexj, Node: Arbitrary completion, Next: end補完, Prev: maketitle型補完, Up: Completion + +随時補完 +======== + + さて、今まで述べた典型的な LaTeX コマンド形式の補完入力を用いずに、今入 +力しようとしている LaTeX コマンドを文書中の任意の位置で随時補完することも +できます。LaTeX コマンド(先頭が\で始まる)を入力している途中で、 + +`[prefix] SPC' + ... 随時補完 + +を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に挿入 +されます。 + + + +File: yatexj, Node: end補完, Next: Accent mark completion, Prev: Arbitrary completion, Up: Completion + +end補完 +======= + + 現在開いたままの環境名を自動的に検出し、`\end{環境名}'を挿入します。 +begin 型補完を用いれば環境の閉じ忘れはないのですが、時にはついつい手で +`\begin{環境名}' を入れてしまい、悲しい思いをすることがあります。そのよう +な時には気にせず続けて文章を入力し、しかるのちに + +`[prefix] e' + ... end 補完 + +とすることで、現在開いている環境名で \end{} が補われます。 + + + +File: yatexj, Node: Accent mark completion, Next: Image completion, Prev: end補完, Up: Completion + +アクセント記号補完 +================== + + 欧文のアクセント記号(`\`{o}'など)を入力する時は、 + +`[prefix] a' + ... アクセント記号入力 + +を押すと、ミニバッファに + + 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b + +というメニューが出て来るので、数字、または対応する記号/英字を入力して下さ +い。すると編集バッファに、 + + \`{} + +が現われ、カーソルが{}内に位置するので、さらに一文字入力する事で、 + + \`{o} + +が完成され、カーソルは{}の外に戻ります。 + + + +File: yatexj, Node: Image completion, Next: Greek letter completion, Prev: Accent mark completion, Up: Completion + +数式記号イメージ補完 +==================== + + 主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力 +で、LaTeX コマンドを入力できます。これは野鳥自身の「数式モード」でのみ動作 +します。野鳥はカーソルがTeXの数式環境の中にある時に`;'や、`:'に特殊な機能 +を持たせます。 + + さて、例えば、←(leftarrow)をASCII文字だけで表現する場合、一般的には「<-」 +のようにしますが、これを利用して、数式記号イメージ入力モードで`\leftarrow' +を入力するには、`;'(セミコロン)を打ってから`<-'と入力します。同様に、長い +矢印←-(long-leftarrow) をASCII文字だけで表現する場合「<--」とするので、 +`\longleftarrow'を入力するためには、`;<--' と入力します。あるいは無限大記 +号をASCII文字だけで表現する時は「oo」のようにすることから、`\infty' を入力 +する時は、`;oo'とキー入力します。 + + これらの操作をまとめると次のようになります。 + + INPUT 入力される LaTeX コマンド + ; < - `\leftarrow' + ; < - - `\longleftarrow' + ; < - - > `\longleftrightarrow' + ; o `\circ' + ; o o `\infty' + + + + いずれの場合も、イメージ入力を行っている途中で望みのものがバッファに表示 +されたなら、そこでイメージ入力を止めて次の編集動作に移っても構いません。 + + 数式環境中で`;'自身を入力するには`;;'のようにします。イメージ入力の途中 +でTABを押すと、それまで入力した文字で始まるもの一覧が表示されます。ここで +目的の LaTeX コマンドまでカーソルを移動し再度TABを押すことでその LaTeX コ +マンドがバッファに挿入されます。 + + どのキー入力にどの記号が対応しているか全て知りたい時は、`;'を押した直後 +にTABを押してください。以下の例は、`;<'と押した後にTABを押したものです。 + + KEY LaTeX sequence sign + < \leq ≦ + << \ll 《 + <- \leftarrow ← + <= \Leftarrow <= + +左から[入力キー]、[対応する LaTeX コマンド]、[(擬似)記号図示]、という順で +メニューが出て来るので、よく使うものを覚えておくと良いでしょう。ものによっ +てはASCII文字で表現することが困難なので、あまり覚えやすいキー並びではない +ものがあるでしょうから、そのような場合は \maketitle 型補完で入力するか、以 +下に述べる対応表の設定を行って単純なキー並びのものを設定すると良いでしょう。 + + 入力キーと LaTeX コマンド、記号の対応表を個人的に設定したい場合は +Emacs-Lisp 変数 `YaTeX-math-sign-alist-private' に定義してください。その内 +容とデフォルトのものを合わせたものが対応表として使用されます(private の方 +が優先される)。なお、この変数の構造については `yatexmth.el' を参照してくだ +さい。 + + + +File: yatexj, Node: Greek letter completion, Prev: Image completion, Up: Completion + +ギリシャ文字補完 +================ + + もう一つ、数式環境中で`:'を押すとギリシャ文字入力モードに入ります。`:'を +押した直後に`a'を押すと`\alpha'が、`g' を押すと `\gamma'が、などアルファベッ +トに対応したギリシャ文字が挿入されます。操作方法は;の数式記号補完とまった +く同じです。まずは`:'の直後にTABを押してどのアルファベットにどのギリシャ文 +字が対応しているか調べてみてください。 + + `;'と`:'を数式環境中で押しているにもかかわらず、イメージ補完が働かない場 +合は、`C-u ;'のように universal-argument をつけてキーを押すことにより、強 +制的にイメージ補完に入ることができます。また、この時にどのような状態で数式 +環境内判定に失敗したかをご連絡下さい。 + + + +File: yatexj, Node: Local dictionary, Next: Commenting out, Prev: Completion, Up: Top + +ローカル辞書 +************ + + 補完入力用の候補は三種類の辞書から構成されています。一つは`yatex.el'に組 +み込まれた「標準辞書」、もう一つはユーザが個人的に常用するコマンドを保存す +る「ユーザ辞書」、そしてもうひとつはあるディレクトリでのみ有効なコマンドを +保存する「ローカル辞書」です。 + + 補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞いて +来ます。 + + `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard + +というプロンプトに対し、`u'と答えると「ユーザ辞書」を、`l'と答えるとローカ +ル辞書を更新し、`n'と答えると辞書ファイルは更新せず現在のEmacs セッション +のみ有効な単語とし、`d'と答えると新たな単語を学習せずに捨てることになりま +す。 + + もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言う場 +合には`~/.emacs'などで、 + + (setq YaTeX-nervous nil) + +として下さい。 + + + +File: yatexj, Node: Commenting out, Next: Cursor jump, Prev: Local dictionary, Up: Top + +コメントアウト +************** + + + LaTeXの編集には試行錯誤がつきものです。ある部分を一括でコメントアウトし +たり、コメントを外したりしたいことがあります。 + +`[prefix] >' + ... リジョンを % でコメントアウト +`[prefix] <' + ... リジョンの % のコメントを外す + +は、あらかじめ設定したリジョンに対しての操作、 + +`[prefix] .' + ... 現在のパラグラフをコメントアウト +`[prefix] ,' + ... 現在のパラグラフのコメントを外す + +は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでいう +「パラグラフ」は (`mark-paragraph') 関数によりマークされる範囲を指します +(標準設定で`ESC h'にバインドされている)。なお、既に`%'でコメントアウトされ +ているパラグラフに対して繰り返しパラグラフのコメントを使用した場合の動作は +保証しませんので御注意ください。 + + さて、文章に対してだけでなく、時には`\begin', `\end' 自体に対してもコメ +ントアウトの操作をしたいときがあります。このようなときは、`\begin{}' ある +いは `\end{}' の行にカーソルを合わせ、 + +`[prefix] >' + ... `\begin{}'〜`\end{}' 全てコメントアウト +`[prefix] <' + ... `\begin{}'〜`\end{}' 全てコメントを外す + +とすることで、`\begin〜\end'で囲まれる環境全てに対してコメント操作し、 + +`[prefix] .' + ... `\begin{}' と `\end{}' をコメントアウト +`[prefix] ,' + ... `\begin{}' と `\end{}' のコメントを外す + +は、対応する `\begin' と `\end' 2行だけを、コメント操作の対象とします。リ +ジョンをコメントアウトしようとして、マークを設定したのちにカーソルを移動し +`[preifx] >' を押してもカーソルが `\begin{}' の上にあると`\begin{}'〜 +`\end{}'モードでコメント機能が働いてしまうので注意して下さい。 + + + +File: yatexj, Node: Cursor jump, Next: Modifying/Deleting, Prev: Commenting out, Up: Top + +カーソルジャンプ +**************** + + +* Menu: + +* 対応オブジェクトへのジャンプ:: +* お絵描きツール起動:: +* メインファイルへのジャンプ:: +* 環境を単位としたジャンプ:: +* 最後の補完位置へのジャンプ:: + + + +File: yatexj, Node: 対応オブジェクトへのジャンプ, Next: お絵描きツール起動, Prev: Cursor jump, Up: Cursor jump + +対応オブジェクトへのジャンプ +============================ + + 文書中のいろいろな場所で + +`[prefix] g' + ... 対応するオブジェクトにジャンプ + +を押すことにより、カーソル位置のLaTeXコマンドに対応する場所にジャンプしま +す。対応関係が存在すると解釈されるコマンドには以下のものがあります。 + + * `\begin{}' ←→ `\end{}' + * `%#BEGIN' ←→ `%#END' + * 画像ファイルの取り込みマクロ → 対応するviewer/お絵かきツール起動 + * `\label{}' ←→ `\ref{}' + * `\include(\input)' → 対応するファイル + * `\bibitem{}' ←→ `\cite{}' + + `\begin{}' か `\end{}' の行で`[prefix] g'を押すことにより、対応する +`end/begin'の行にジャンプします。もちろん対応するものがない場合はエラーに +なります。またこれは、領域固定のための `%#BEGIN' と `%#END' のペアに対して +も同様に動作します。なお、`label/ref'や`cite/bibitem'対応するものが別ファ +イルにある時は、ジャンプ先となるファイルがオープンされていなければなりませ +ん。*Note %#notation::. メインの .tex ファイルの `\include{chap1}' などに +カーソルを合わせ、`[prefix] g' を押すと、`chap1.tex' にジャンプします。 + +また、 + +`[prefix] 4 g' + ... 別ウィンドウで対応オブジェクトにジャンプ + +を押すと、対応するオブジェクトへのジャンプを別ウィンドウで行います。ただし、 +この機能は `begin/end', `%#BEGIN/%#END' 間のジャンプに対しては(意味がない +と思われるので)機能しないので注意してください。 + + + +File: yatexj, Node: お絵描きツール起動, Next: メインファイルへのジャンプ, Prev: 対応オブジェクトへのジャンプ, Up: Cursor jump + +お絵描きツール起動 +================== + +上記の「画像ファイルの取り込みマクロ」とは、例えば `\epsfile{file=foo}' の +ような挿絵取り込みコマンドのことで、この行にカーソルを合わせて`[prefix] g' +を押すとその画像ファイルの元となったファイルを対応するお絵描きツールを起動 +してオープンします。起動するツールの判定は以下のようになされます。 + + 1. カレント行が変数 `YaTeX-processed-file-regexp-alist' に定義されている + 正規表現のいずれかとマッチしたら、ファイル名に相当する部分を \\(\\)か + ら抜き出して覚えておく(何番目の\\(\\)かは変数の各リストの cdr 部に入 + れておく)。マッチしなければ何もしない。 + 2. 行末に、変数 `YaTeX-file-processor-alist' に登録されているコマンドが + 「%コマンド」 のように書いてあれば強制的に「コマンド ファイル名.拡張 + 子」を起動。 + 3. なければ、変数 `YaTeX-file-processor-alist' の各リストのcdr部に入って + いる拡張子を「ファイル名」の後ろに足したファイルが存在するか順次調べ + て、存在した場合car部に入っているコマンドを起動する。 + 4. 以上どれかにマッチしなければあきらめる。 + + +変数 `YaTeX-file-processor-alist' と変数 `YaTeX-file-processor-alist' の設 +定方法についてはそれぞれの変数について describe-variable して説明を読んで +下さい。うまく設定すると、画像ファイルにかぎらず、任意の形式のファイルを任 +意のプロセッサで処理するコマンドを簡単に呼び出すことができます。 + + + +File: yatexj, Node: メインファイルへのジャンプ, Next: 環境を単位としたジャンプ, Prev: お絵描きツール起動, Up: Cursor jump + +メインファイルへのジャンプ +========================== + +`chap1.tex'のようなサブファイルで、 + +`[prefix] ^' + ... メインファイルにジャンプ +`[prefix] 4 ^' + ... 別ウィンドウでメインファイルにジャンプ + +を押すと、メインファイルの編集バッファに切替えます。もし、メインファイルを +オープンしていない場合は、カレントディレクトリから探して自動的にオープンし +ます。 + + + +File: yatexj, Node: 環境を単位としたジャンプ, Next: 最後の補完位置へのジャンプ, Prev: メインファイルへのジャンプ, Up: Cursor jump + +環境を単位としたジャンプ +======================== + +さらに現在の環境を単位として機能するコマンドに以下のものがあります。 + +`M-C-a' + ... 環境の先頭(`\begin')へジャンプ +`M-C-e' + ... 環境の末尾(`\end')へジャンプ +`M-C-@' + ... 環境全体をマーク + +上記のコマンドは通常の`[prefix]'キーではなく`META'キーをプリフィクスとして +機能するのでご注意下さい。 + + + +File: yatexj, Node: 最後の補完位置へのジャンプ, Prev: 環境を単位としたジャンプ, Up: Cursor jump + +最後の補完位置へのジャンプ +========================== + +野鳥は補完入力した位置を常にレジスタ `3'に保存しています。入力途中で如何な +るファイルの如何なる位置に行ったとしても、`C-x j 3'(`jump-to-register')を +使って直ちに最後の補完入力位置に戻ることができます。 + + + +File: yatexj, Node: Modifying/Deleting, Next: Filling, Prev: Cursor jump, Up: Top + +変更/削除 +********* + + 既に入力されている LaTeX コマンドの変更/削除のために以下の機能が用意され +ています。 + +`[prefix] c' + ... カーソル位置の LaTeX コマンドの変更 +`[prefix] k' + ... カーソル位置の LaTeX コマンドの削除 + + +これらのコマンドは、コマンドを起動する場所によって動作を決定するので注意し +て下さい。 + +* Menu: + +* Changing LaTeX command:: LaTeX コマンドの変更 +* Killing LaTeX command:: LaTeX コマンドの削除 + + + +File: yatexj, Node: Changing LaTeX command, Next: Killing LaTeX command, Prev: Modifying/Deleting, Up: Modifying/Deleting + +LaTeX コマンドの変更 +==================== + +変更したい LaTeX コマンドにカーソルを合わせて `[prefix] c' を押すとそのコ +マンドを補完入力などを用いて手軽に変えることができます。`[prefix] c' で変 +更できるコマンドには以下のものがあります。 + + * `begin/end' の環境名 + * section型コマンドのコマンド名 + * section型コマンドの引数 + * section型コマンドのオプションパラメータ([]で囲まれたもの) + * large型コマンド + * (イメージ補完で入力可能な)数式モード専用のmaketitle型コマンド + + 変えたいsection型コマンドの引数がさらに LaTeX コマンドを含む場合は、その +引数を囲む中括弧の上で `[prefix] c' を押すことで中のコマンドを変更対象判定 +から除外することができます。 + + + + +File: yatexj, Node: Killing LaTeX command, Prev: Changing LaTeX command, Up: Modifying/Deleting + +LaTeX コマンドの削除 +==================== + +`[prefix] k' は起動する位置により次のような動作を行います。 + + + 起動位置 動作 + \begin, \endの行 `\begin\end'ペアの削除 + %#BEGIN, %#END の行 %#BEGIN,%#ENDペアの削除 + section型コマンドの上(中) section型コマンドの削除 + フォント指定括弧の上 フォント指定の削除 + 括弧の上 対をなす括弧の削除 + + +`\begin, \end' および `%#BEGIN, %#END' を削除する場合、`\begin, \end' や +`%#BEGIN, %#END' の存在する行はまるごと削除されるので、それらの一行に +`\begin' などを二つ以上連ねて書かないように注意してください。上記のものは +すべて本文を囲う「容器」を削除するように働きますが、universal-argument +(`C-u') を打った後で`[prefix] k'をタイプすると、それぞれの「容器」に含まれ +る「中身」も一気に削除します。以下の例を参考にして下さい。 + + 元のテキスト: [prefix] k C-u [prefix] k + 本文\footnote{脚注}です。 本文脚注です。 本文です。 + ↑(カーソル位置) + + + +File: yatexj, Node: Filling, Next: Includeonly, Prev: Modifying/Deleting, Up: Top + +桁揃え +****** + + +itemの桁揃え +============ + + itemize 環境中にある`\item'の項目(文章)が複数行に渡る場合に、項目の先頭 +を桁揃えしたい場合には、 + + +`M-q' + ... 桁揃え + +によって、その item のインデントの深さに応じて fill されます。なお、古い +NTT jTeX を使用している場合には、Lisp 変数`NTT-jTeX'を`t'にセットして下さ +い。 + + このとき、変数`YaTeX-item-regexp'の値(標準では `"\\\\item"')を項目指定コ +マンドの正規表現として検索に使用します。itemize 環境で、独自のコマンドを定 +義して項目を列挙している場合(例えば`\underlineitem')は、`~/.emacs' で次の +ように指定して下さい。 + + (setq YaTeX-item-regexp + "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)") + + +この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を +``"\item"'で始まるものにして下さい(例えば"\itembf"')。 + +野鳥の `M-q' では `\item' を環境に応じて以下のように「ハングインデント」し +ます。 + + itemize, enumerate環境: + >\item[ほげほげ] 英語では、特に意味のない単語を `foo' であらわしま + > すが、これの日本語版ともいえる単語が「ほげほげ」 + > です。 + description環境: + > \item[へろへろ] 「ほげほげ」をでたらめが単語として使った時に、第 + > 2のでたらめな単語として「へろへろ」が使われることが多 + > いようです。 + + +パラグラフの桁揃え +================== + + itemize環境以外でのパラグラフの桁揃え(fill)は、基本的に他のモードと同じ +ように機能しますが、verbatim環境や、tabular環境など桁揃えをすると悲惨な状 +況になるような環境中では機能しません。また、\verb で括ってあるものは決して +行分割されません(変数 `YaTeX-verb-regexp' で制御) )。さらに、一時的にイン +デントの深さを変えてある箇所では、そのインデントの先頭で`M-q'を押すことに +より fill-prefix をいちいち変更しなくて桁揃えができます。 + + + + +File: yatexj, Node: Includeonly, Next: What column, Prev: Filling, Up: Top + +勝手にincludeonly +***************** + + ファイルを分割して文章を入力している時には、メインファイル中に + + \includeonly{現在編集中のファイル名} + +のように書いておくことで、タイプセットの時間を節約できますが、ちょっと他の +ファイルを手直ししたい時には + + \includeonly{ちょっと手直ししたいファイル名} + + +と書き直さなければならず手間がかかります。野鳥では現在編集しているファイル +名がメインファイルの`\includeonly'にない場合には自動的にこれを検出し、次の +指示を仰ぎます。 + + A)dd R)eplace %)comment? + + +現在編集中のファイルを `\includeonly' のリストに加えたい時には`a' を、現在 +編集中のファイルだけを `\includeonly' にしたい時は`r'を、`\includeonly' の +行をコメントアウトして無効化したい時には、`%'をそれぞれ押して下さい。 + + + +File: yatexj, Node: What column, Next: Intelligent newline, Prev: Includeonly, Up: Top + +ここはどこ? +*********** + + 項目数の多い tabular などをたくさん書いていると下の方の行で、いま書いて +いる桁がどこに対応するのかわからなくなってしまうことがあります。例えば、以 +下のような tabular において、 + + \begin{tabular}{|c|c|c|c|c|c|c|c|}\hline + 氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline + 矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy & + zzz-www & トンガ & 9876-54321 \\ + 日吉小僧 & 2 & \multicolumn{2}{c|}{教えない} + &&&(???) + \\ \hline + \end{tabular} + + +(???)の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時は、 + +`[prefix] &' + ... 現在のカラム表示 + +を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示しま +す。tabular/array環境の第1行目を項目名の並びとみなして対応するものを探しま +す。もし項目名として別のものを表示して欲しい場合は、行頭を`%'にしてダミー +の項目並びを作っておくと良いでしょう。 + + + +File: yatexj, Node: Intelligent newline, Next: Usepackage cheker, Prev: What column, Up: Top + +おまかせ改行 +************ + + tabular[*], array, itemize, enumerate, tabbing 環境をbegin型補完で入力し +た時、または各環境内で + +`ESC RET' + ... おまかせ改行 + + +を押すと、その環境に応じた行エントリを次の行に挿入します(begin型補完時に自 +動挿入されたエントリが不要な場合は undo によって消去できます)。例えば、 +tabular環境では、その環境のカラム数に対応した個数の `&' に加え、行末の +`\\' を入れます。この時それ以前に `\hline' があればそれも付け加えます。環 +境とそれに応じて自動入力するものの対応は以下のようになります。 + + * `tabular', `tabular*', `array' + + カラム数-1 だけの `&' と `\\'。必要に応じて `\hline' + + * `tabbing' + + 一行目で定義している `\=' と同じ個数の `\>'。 + + * `itemize', `enumerate', `description', `list' + + `\item' または `item[]' + + tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動作す +るので、なるべく二行目以降で呼び出すようにしてください。 + + もし、その他の環境、例えば `foo'、に対して`おまかせ改行'を動作させたい時 +は、`YaTeX-intelligent-newline-foo' という名前の関数を定義します。定義した +関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれます。関数 +`YaTeX-indent-line' を呼ぶと現在の環境のネストに応じた深さにインデントされ +るので、これを呼んでから何かを挿入するようなコードを書くとよいでしょう。 +`yatexenv.el'内の関数 `YaTeX-intelligent-newline-itemize' の定義などを参考 +にしてください。 + + + + +File: yatexj, Node: Usepackage cheker, Next: Changing mode of YaTeX, Prev: Intelligent newline, Up: Top + +先回りusepackage +**************** + + begin型、section型、maketitle型、いずれかのLaTeX2eマクロを補完入力すると、 +そのマクロの利用に外部パッケージを必要とする場合、そのパッケージを本文中で +`\usepackage{}' しているかどうかを調査し、もししていなければプリアンブルに +対応するパッケージを引数にした `\usepackage' 文を(確認後に)挿入します。 + + ただしこの機能が働くためには、パッケージ名とその中で定義されているマクロ +群をalistの形式で変数 `YaTeX-package-alist-private' に設定しておく必要があ +ります。 + + + +File: yatexj, Node: Changing mode of YaTeX, Next: Online help, Prev: Usepackage cheker, Up: Top + +野鳥の動作モード切り替え +************************ + +`[prefix] w' + ... 野鳥動作モード切り替えメニュー + +で野鳥自身の動作を決定する以下のモードを切り替えます。 + + * 修正モード + * 野鳥数式モード + +修正モードは、開き括弧入力時の処理をコントロールし、修正モードONの時は開き +括弧の入力は開き括弧のみの入力になり、修正モードOFFの時は開き括弧の入力だ +けで閉じ括弧まで入力します。デフォルト(起動時)の設定は*OFF*です。 + + 野鳥数式モードは、変数 `YaTeX-auto-math-mode' が `nil' の時のみ有効で、 +このとき`;'や`:'を押した時(*Note Image completion::参照)に、どのようなイメー +ジ補完を機能させるか、通常のキーとして機能させるかを手動で切り替えます。自 +動判定が遅いマシンでは`YaTeX-auto-math-mode' `nil'にセットし、野鳥数式モー +ドを手動で切り替えると良いでしょう。 + + + + +File: yatexj, Node: Online help, Next: Inclusion hierarchy browser, Prev: Changing mode of YaTeX, Up: Top + +オンラインヘルプ +**************** + + 使おうとする LaTeX コマンドの用法がよく分からない時は、オンラインヘルプ +をひきましょう。ヘルプに関するキーには以下のものがあります。 + +`[prefix] ?' + ... オンラインヘルプ +`[prefix] /' + ... オンラインapropos + + +オンラインヘルプ +================ + + 「オンラインヘルプ」は、一般的な LaTeX コマンド(デフォルトでカーソル位置 +のコマンド)に対する説明を隣のバッファに表示します。この時参照されるヘルプ +用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二種類があり、 +前者は LaTeX の標準コマンドの主なものの説明を含むファイルで、変数 +`YaTeX-help-file'の値で指定されます。このファイルは通常公共の場所(デフォル +トで`$EMACSEXECPATH')に置かれ、誰もがその内容を更新できるように全員に書き +込み権が与えられるべきものです。後者は、非標準もしくは個人的なマクロ定義に +関する説明が書かれているファイルで、変数`YaTeX-help-file-private'の値で指 +定されます。こちらはユーザのホームディレクトリの下などに置かれます。 + + +オンラインapropos +================= + + 「オンラインapropos」は GNU Emacs の apropos と同様、ユーザが指定したキー +ワードを説明文に含む項目すべてを隣のバッファに表示します。 + + もし、調べようとしたLaTeXコマンドに対する説明がヘルプファイル中に見つか +らなかった場合は、説明文の入力を求めてくるので、可能であれば参考書などを調 +べてそのコマンドの説明を入力してください。もし、なにか標準的なコマンドに対 +する説明を書いたならばぜひ私までその説明をお送り下さい。次回の配布に含めた +いと思います。 + + + +File: yatexj, Node: Inclusion hierarchy browser, Next: Cooperation with other packages, Prev: Online help, Up: Top + +インクルード構造ブラウザ +************************ + +複数のファイルに分割しているドキュメントを書いている場合、 + +`[prefix] d' + ... インクルード構造ブラウズ + +を押すと、そのドキュメントの親ファイルを聞いて来ます。ここで全てのファイル +の親となるファイル(デフォルトが示されているので大抵はRETのみ)を入力すると +インクルードしている全てのファイルを解析し、インクルード状況を視覚的に表示 +します。このバッファでは以下のキー操作が有効です。 + +`n' + ... 次の行に移動し対応するファイルを隣のバッファに表示 +`p' + ... 上の行に移動し対応するファイルを隣のバッファに表示 +`N' + ... 同じインクルードレベルの次のファイルに移動 +`P' + ... 同じインクルードレベルの前のファイルに移動 +`j' + ... 次の行に移動 +`k' + ... 上の行に移動 +`u' + ... 一代親にあたるファイルに移動 +`.' + ... カーソル位置のファイルを隣のバッファに表示 +`SPC' + ... 隣のバッファの対応ファイルをスクロールアップ +`DEL, b' + ... 隣のバッファの対応ファイルをスクロールダウン +`<' + ... 隣のバッファの対応ファイルの先頭を表示 +`>' + ... 隣のバッファの対応ファイルの末尾を表示 +`'' + ... (`<'や`>'の後で)元の表示位置に戻る +`RET, g' + ... カーソル位置のファイルを隣のバッファでオープン +`mouse-2' + ... RETと同じ(ウィンドウ使用時のみ) +`o' + ... 隣のウィンドウに移動 +`1' + ... 他のウィンドウを消す +`-' + ... ブラウズウィンドウを小さくする +`+' + ... ブラウズウィンドウを大きくする +`?' + ... ヘルプ表示 +`q' + ... 表示前の状態に戻る + + ただし、隣のウィンドウのファイルの内容を表示する機能に関しては、対応する +ファイルをクローズしてしまうとうまく働きませんのでご注意ください。 + + + +File: yatexj, Node: Cooperation with other packages, Next: Customizations, Prev: Inclusion hierarchy browser, Up: Top + +他パッケージとの連携 +******************** + + +gmhist +====== + + `gmhist.el'と`gmhist-mh.el' をロードしている場合、プレヴューコマンドの入 +力(`[prefix] tp]')、印刷コマンドの入力(`[prefix] tl')の時に独立したヒスト +リを利用できます。それぞれのプロンプトで、`M-p' を押すと直前に利用したコマ +ンド文字列をくり返し呼び出すことができます。 + + +min-out +======= + + `min-out.el' (`outline-minor-mode') と野鳥を組み合わせて使うことももちろ +ん可能です。設定の方法に関しては`yatexm-o.el'をご覧ください。 + + + +File: yatexj, Node: Customizations, Next: Etc, Prev: Cooperation with other packages, Up: Top + +カスタマイズ +************ + + 野鳥の動作を制御する種々の変数を独自に設定することにより、補完入力を起動 +するキーアサインを変えたり、環境名の補完候補をさらに充実させることなどがで +きます。 + +* Menu: + +* Lisp variables:: lisp 変数 +* Add-in functions:: 付加関数(アドイン関数) + + + +File: yatexj, Node: Lisp variables, Next: Add-in functions, Prev: Customizations, Up: Customizations + +lisp 変数 +========= + + 例えば prefix キーを `C-c' 以外のキーにしたい場合は、`YaTeX-prefix'に +prefix キーにしたいシンボルを定義してください。さらに、「`C-c 英字'」とい +うキーバインドは独自の関数が割り当ててあるので使いたくない。このような時は、 +`YaTeX-inhibit-prefix-letter' を `t' に設定することにより、`C-c 英字…'の +バインドが全て、対応する`C-c C-英字…'に変わります(ただし、begin型 large型 +補完の大文字起動によるリジョン指定は可能なままです。これも無効にしたい場合 +は`t'ではなく 1 にセットして下さい。)。 + +* Menu: + +* All customizable variables:: カスタマイズ変数一覧 +* Sample definitions:: カスタマイズ変数設定例 +* Hook variables:: hook変数 +* Hook file:: hook用ファイル + + + +File: yatexj, Node: All customizable variables, Next: Sample definitions, Prev: Lisp variables, Up: Lisp variables + +カスタマイズ変数一覧 +-------------------- + + yatex-mode における次の変数がカスタマイズ可能です。`~/.emacs' で `setq' +しておけば、そちらの定義が優先されます。括弧の中はデフォルト値です。実際に +変数の値を変更する場合は `M-x describe-variable' で変数の詳細な説明を参照 +してください。 + + -- Variable: YaTeX-prefix + yatex-mode 中のプリフィクスキー (`\C-c') + + -- Variable: YaTeX-inhibit-prefix-letter + prefix キーの直後のキーバインドで `英字' のものを `C-英字' に変更 + (`nil') + + -- Variable: YaTeX-fill-prefix + 本文を書く時の行頭に挿入する接頭辞すなわち fill-prefix (`""(nil)') + + -- Variable: YaTeX-user-completion-table + 学習したLaTeXコマンド保存ファイル名 (`"~/.yatexrc"') + + -- Variable: YaTeX-kanji-code + 文書を作成する時の漢字コードnil=既存のコードのまま 0=no-conversion + 1=Shift JIS, 2=JIS, 3=EUC, 4=UTF-8 (2 (MS-DOSでは1)) + + -- Variable: tex-command + LaTeXタイプセッタコマンド名 (`"platex"') + + + -- Variable: dvi2-command + プレヴューアコマンド名 (`"xdvi -geo +0+0 -s 4"') + + -- Variable: dviprint-command-format + dviファイルの印刷に使われるコマンド式 (`"dvi2ps %f %t %s | lpr"') + + -- Variable: dviprint-from-format + 上の`%f'に相当する開始ページ指定書式、`%b' が開始ページ番号に変わる + (`"-f %b"') + + -- Variable: dviprint-to-format + `%t' に相当する終了ページ指定書式、`%e'が終了ページ番号に変わる (`"-t + %e"') + + -- Variable: makeindex-command + makeindexコマンド (`"makeindex"' (MS-DOSでは`"makeind"')) + + -- Variable: YaTeX-dvipdf-command + dviをPDFに変換するコマンド (`"dvipdfmx"') + + -- Variable: YaTeX-need-nonstop + `\nonstopmode{}'を自動的に付加するか (`nil') + + -- Variable: latex-warning-regexp + latexコマンドの出力するウォーニング行の正規表現 (`"line.* [0-9]*"') + + -- Variable: latex-error-regexp + 同じくエラー行の正規表現 (`"l\\.[1-9][0-9]*"') + + -- Variable: latex-dos-emergency-message + MS-DOS上で動作する latex コマンドが、エラーにより停止するとき出力する + メッセージ (`"Emergency stop"') + + -- Variable: latex-message-kanji-code + タイプセッタの出力するメッセージの漢字コード.タイプセットバッファの出 + 力が化ける時は、これを設定する (2, Nemacsでのみ有効) + + -- Variable: NTT-jTeX + 古いNTT-jTeX使用時のようにインデントした行の先頭と前の行の(タイプセッ + ト後の)字間が空いてしまうのを嫌う場合は`t'にする(`nil') + + -- Variable: YaTeX-item-regexp + itemの桁揃えの時に用いる、itemの正規表現 (`"\\\\(sub\\)*item"') + + -- Variable: YaTeX-verb-regexp + verbコマンドの正規表現。先頭の\\\\はつけない (`"verb\\*?\\|path"') + + -- Variable: YaTeX-nervous + ローカル辞書を用いる時 `t' (`t') + + -- Variable: YaTeX-sectioning-regexp + セクション区切り設定コマンドの正規表現 + (`"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"') + + -- Variable: YaTeX-fill-inhibit-environments + fill を抑止する環境名のリスト (`'("tabular" "tabular*" "array" + "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" + "verbatim" "verbatim*")') + + -- Variable: YaTeX-uncomment-once + 領域uncommentで行頭の複数の`%'を全て削除するか (`nil') + + -- Variable: YaTeX-close-paren-always + 開き括弧の入力で常に閉じ括弧を入力する (`t') + + -- Variable: YaTeX-auto-math-mode + 数式モードの切り替えを自動的に行う (`t') + + -- Variable: YaTeX-math-key-list-private + 数式イメージ補完で用いる (プリフィクスキー . 対応補完テーブル) の + alist (`nil')。補完テーブルの書き方については`yatexmth.el'を参照。 + + -- Variable: YaTeX-default-pop-window-height + 1画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行数、 + 数字文字列でEmacsウィンドウに対する百分率 (10) + + -- Variable: YaTeX-help-file + 共用ヘルプファイル (`$doc-directory/../../site-lisp/YATEXHLP.jp') + + -- Variable: YaTeX-help-file-private + 個人用ヘルプファイル (`"~/YATEXHLP.jp"') + + -- Variable: YaTeX-no-begend-shortcut + `[prefix] b ??' のショートカットを使わず、`[prefix] b' だけで補完入力 + に入る (`nil') + + -- Variable: YaTeX-hilit-pattern-adjustment-private + 正規表現とそれにマッチするものの論理的意味をシンボルであらわしたもの + のリスト…のリスト。hilit19 を組み込んでいる時のみ有効。詳しくは + `(assq 'yatex-mode hilit-patterns-alist)' した結果と、変数 + `YaTeX-hilit-pattern-adjustment-default' の値(と場合によっては + hilit19 のドキュメント)を参照せよ。 + + -- Variable: YaTeX-sectioning-level + LaTeXのセクション単位宣言コマンドとその論理的高さのalist。 + + -- Variable: YaTeX-hierarchy-ignore-heading-regexp + Hierarchy バッファは通常ファイルヘッダとして、LaTeXのセクション宣言コ + マンドの引数を検索し、それがなければコメント行を探すが、その際にヘッ + ダとしては意味を持たないパターンをこの変数に設定する。デフォルトでは + RCS ヘッダとモード指定行(-*- xxx -*-)が設定されている。 + + -- Variable: YaTeX-skip-default-reader + Non-nil に設定するとsection型コマンドの引数入力時、アドイン関数がなけ + ればミニバッファでの読み込みをせずに入力を完了させる (`nil') + + -- Variable: YaTeX-create-file-prefix-g + `\include'などで `prefix g'した時に、ジャンプ先が存在しないファイルで + あってもオープンする (`nil') + + -- Variable: YaTeX-simple-messages + 各種補完時のメッセージ出力を簡素化する (`nil') + + -- Variable: YaTeX-hilit-sectioning-face + 色付けが有効な時の `\part' の色 (`'(yellow/dodgerblue + yellow/slateblue)')。リストの第一要素は `hilit-background-mode' が + `'light' の時の、第二要素は `'dark' の時の `\chapter' の色で、文字色/ + 背景色 のように指定する。 + + -- Variable: YaTeX-hilit-sectioning-attenuation-rate + 色付けが有効な時の、`\subparagraph' の色を `\chapter' の濃度の何%薄く + したものにするか (`'(15 40)') `YaTeX-hilit-sectioning-face' の項参照。 + + -- Variable: YaTeX-use-AMS-LaTeX + AMS-LaTeX を使用する場合は `t' に設定する (`nil') + + -- Variable: YaTeX-use-LaTeX2e + LaTeX2e を使用する場合は `t' に設定する (`t') + + -- Variable: YaTeX-template-file + 新規ファイル作成時に自動挿入するファイル名 (`~/work/template.tex') + + -- Variable: YaTeX-search-file-from-top-directory + inputするファイルを探すときの基準ディレクトリをmainファイルのあるディ + レクトリにするか (`t') + -- Variable: YaTeX-use-font-lock + ソースの色づけパッケージとして font-lock を利用するかどうか + (`(featurep 'font-lock)') + + -- Variable: YaTeX-use-hilit19 + ソースの色づけパッケージとして hilit19 を利用するかどうか(`(featurep + 'hilit19)') + + -- Variable: YaTeX-use-italic-bold + italic, boldフォントを野鳥が探すかどうか (Emacs20以降なら`t') + font-lock利用時のみ有効。(`(featurep 'hilit19)' + + -- Variable: YaTeX-singlecmd-suffix + 全てのmaketitle型コマンドの補完入力直後に挿入する文字列。`"{}"' など + がお勧め。 + + -- Variable: YaTeX-package-alist-private + LaTeX2eのパッケージ名とその中に含まれるマクロのリスト。適切に設定して + おくと本文入力時にマクロを補完入力するとそのマクロに必要なパッケージ + を usepackage するか自動的に検査してくれる。していなければ + \usepackage を自動追加することもできる。リストは'((パッケージ名1 (補 + 完タイプ マクロのリスト……) (補完タイプ マクロのリスト……)) (パッケー + ジ名2 (補完タイプ マクロのリスト……) (補完タイプ マクロのリス + ト……))………) という形式にする。補完タイプは `env, section, + maketitle' のどれか。具体例は変数 `YaTeX-package-alist-default' の値 + 参照。 + + -- Variable: YaTeX-tabular-indentation + tabular/array 環境で現在行の先頭位置が表の第Nカラムのときは標準インデ + ント位置から N*YaTeX-tabular-indentation 桁下げたインデントにする。 + + -- Variable: YaTeX-noindent-env-regexp + 別の環境内にあっても \begin{} が行頭から始まるべき環境名の正規表現。 + verbatim環境などを指定する。 + + -- Variable: YaTeX-ref-default-label-string + \ref{} のラベル補完でラベル未設定のものに自動的に生成するラベル名の書 + 式。strftime(3)関数に似た日付ベースで指定する。利用できる書式は以下の + とおり。%y -> 西暦下二桁, %b -> 月の英名, %m -> 月(1〜12) %d -> 日, + %H -> 時, %M -> 分, %S -> 秒, %qx -> アルファベットで26進数化した + yymmdd. %qX -> アルファベットで26進数化した HHMMSS. デフォルトは + "%H%M%S_%d%b%y" + + -- Variable: YaTeX-ref-generate-label-function + \ref{}のラベル名自動生成のときに使う関数のシンボル。デフォルトは標準 + の YaTeX::ref-generate-label 関数が割り当ててある。引数を2つ取る関数 + を定義して、この変数にセットするとその関数を呼んだ結果をデフォルトの + ラベル名候補とする。設定例: + (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label) + (defun my-yatex-generate-label (command value) + (and (string= command "caption") + (re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t) + (setq command (match-string 1))) + (let ((alist '(("chapter" . "chap") + ("section" . "sec") + ("subsection" . "subsec") + ("figure" . "fig") + ("table" . "tbl")))) + (if (setq command (cdr (assoc command alist))) + (concat command ":" value) + (YaTeX::ref-generate-label nil nil)))) + + + +File: yatexj, Node: Sample definitions, Next: Hook variables, Prev: All customizable variables, Up: Lisp variables + +カスタマイズ変数設定例 +---------------------- + + たとえば、prefix キーとして`ESC'を使用し、新たな補完候補を格納するファイ +ルを、`~/src/emacs/yatexrc' にし、行頭の prefix をタブ文字一つに変えたいと +きは、 + + (setq YaTeX-prefix "\e" + YaTeX-user-completion-table "~/src/emacs/yatexrc" + YaTeX-fill-prefix " ") + +を `~/.emacs' に加えます。 + + + +File: yatexj, Node: Hook variables, Next: Hook file, Prev: Sample definitions, Up: Lisp variables + +hook変数 +-------- + + また、hook 変数 `yatex-mode-hook', `yatex-mode-load-hook' を用意していま +す。すべての yatex-mode のバッファで作用させたいものは、`yatex-mode-hook' +に記述し、`yatex.el' をロードする時だけ作用させたいものは +`yatex-mode-load-hook' に記述します。例えば、`outline-minor-mode' を利用す +る場合、それぞれのバッファで `outline-minor-mode' を有効にしたいので、 +`yatex-mode-hook' を次のように設定します。 + + (setq yatex-mode-hook + '(lambda () (outline-minor-mode t))) + + +逆に、独自のキー定義を行いたい時などは、`yatex-mode-load-hook' を利用しま +す。例えば、begin 型補完において、 document や、enumerate 以外の環境名も +ショートカットキーで入れたいなどという時は、次のようにします。以下の例は、 +`[prefix] ba' で `\begin{abstract}', `\end{abstract}' を挿入します。 + + (setq yatex-mode-load-hook + '(lambda() (YaTeX-define-begend-key "ba" "abstract"))) + +なお、新たなキーの定義には、関数 `YaTeX-define-key' +`YaTeX-define-begend-key'を利用するようにしてください。 + + + +File: yatexj, Node: Hook file, Prev: Hook variables, Up: Lisp variables + +hook用ファイル +-------------- + + 変数 `yatex-mode-load-hook' で定義する内容が多い時は、`yatexhks.el'とい +うファイルを作り、その中に野鳥関連の設定を書く事で、初期化の時に自動的にロー +ドします。 + + + + +File: yatexj, Node: Add-in functions, Prev: Lisp variables, Up: Customizations + +付加関数(アドイン関数) +====================== + + 各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実現す +るための関数を作成することができます。この関数の作成方法や、組み込み方法に +関しては、`yatexadd.doc' をご覧ください。 + + + +File: yatexj, Node: Etc, Next: Copying, Prev: Customizations, Up: Top + +その他 +****** + + 野鳥の標準の LaTeX コマンドの辞書には、作者が頻繁に使うものしか登録され +ていません。これは、補完候補に使いそうもないコマンドが存在して、補完したい +コマンドを出すまでのストローク数を増やしてしまう事を防止するためです。標準 +辞書にないコマンドも、できるだけ補完入力方式を利用し、ユーザ辞書を充実させ +ることで、あなたの LaTeX スタイルにあった野鳥へと育っていくことでしょう。 + + + +File: yatexj, Node: Copying, Next: Concept Index, Prev: Etc, Up: Top + +取り扱い +******** + + 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな +る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた +しません。常識的に扱ってください。また、本プログラムに含まれるコードを利用 +すること、改造することも自由に行なって構いませんが、流用することにより契約 +締結の必要が生じる場合、私はいかなる契約も締結しません。具体的にはGPLへの +サインはしませんので、GNUに寄贈するものを作っている場合私の作品から取り込 +んだコードを流用すると苦労するかもしれません。いかなるコード流用も拒否しま +せんが契約締結は辞退します。 + + 苦情、希望、バグ報告、感想等は歓迎いたします。連絡は yuuji@yatex.org ま +で(2004年1月現在)。継続的に使用してくださる方はメイリングリスト「fj野鳥の +会」に是非加入してください。加入方法については本パッケージの `docs/qanda' +ファイルの「その他」の章を御覧ください。 + +仕様は、予告なく確実に(気分次第で)変更されます:-p。 + + 広瀬雄二 + + + +File: yatexj, Node: Concept Index, Prev: Copying, Up: Top + +索引 +**** + +* Menu: + +* :: Greek letter completion. 4. +* ;: Image completion. 4. +* Σ[しくま]: Image completion. 4. +* 括る[くくる]: Enclose section-type command. 4. +* 括る[くくる]: large型補完. 22. +* 引数[ひきすう]: 2個以上の引数をとる section型コマンド. 4. +* 欧文[おうふん]: Accent mark completion. 4. +* ;自身[;ししん]: Image completion. 32. +* ∞[むけんたい]: Image completion. 4. +* 矢印[やしるし]: Image completion. 4. +* ブロック[ふろつく]: begin型補完. 81. +* ヒストリ[ひすとり]: Cooperation with other packages. 8. +* 桁揃え[けたそろえ]: Filling. 4. +* やちょう[やちよう]: Intro. 4. +* ジャンプ[しやんふ]: view-sectioning. 42. +* &入力[&にゆうりよく]: Intelligent newline. 4. +* 設定例[せつていれい]: Sample definitions. 4. +* 随時補完[すいしほかん]: Arbitrary completion. 4. +* 閉じ込める[としこめる]: begin型補完. 81. +* 再帰補完[さいきほかん]: Recursive completion. 4. +* ユーザ辞書[ゆうさししよ]: begin型補完. 71. +* 論理階層[ろんりかいそう]: view-sectioning. 42. +* ここはどこ?[ここはとこ?]: What column. 4. +* お絵描きツール起動[おえかきつうるきとう]: お絵描きツール起動. 4. +* 環境の先頭へ[かんきようのせんとうへ]: 環境を単位としたジャンプ. 7. +* 環境の末尾へ[かんきようのまつひへ]: 環境を単位としたジャンプ. 7. +* 環境をマーク[かんきようをまあく]: 環境を単位としたジャンプ. 7. +* カスタマイズ[かすたまいす]: Customizations. 4. +* キーアサイン[きいあさいん]: Customizations. 4. +* 数式モード[すうしきもおと]: Image completion. 4. +* インストール[いんすとおる]: Installation. 4. +* タイプセッタ[たいふせつた]: Invocation. 4. +* プレヴューア[ふれひゆうあ]: Invocation. 4. +* アウトライン[あうとらいん]: view-sectioning. 4. +* 引数の個数を変える[ひきすうのこすうをかえる]: 2個以上の引数をとる section型コマンド. 24. +* アクセント記号補完[あくせんときこうほかん]: Accent mark completion. 4. +* カスタマイズ変数一覧[かすたまいすへんすういちらん]: All customizable variables. 4. +* 環境名の補完[かんきようめいのほかん]: begin型補完. 4. +* エラー修正[えらあしゆうせい]: Calling typesetter. 4. +* タイプセッタ起動[たいふせつたきとう]: Calling typesetter. 4. +* タイプセットエラー[たいふせつとえらあ]: Calling typesetter. 4. +* 環境名の変更[かんきようめいのへんこう]: Changing LaTeX command. 20. +* モード切り替え[もうときりかえ]: Changing mode of YaTeX. 4. +* タイプセッタの使い分け[たいふせつたのつかいわけ]: Changing typesetter. 12. +* 起動するコマンドを変える[きとうするこまんとをかえる]: Changing typesetter. 7. +* コメントアウト[こめんとあうと]: Commenting out. 4. +* その他のコマンド制御[そのたのこまんとせいきよ]: Controlling which command to invoke. 4. +* 他パッケージとの連携[たはつけえしとのれんけい]: Cooperation with other packages. 4. +* コマンドヒストリ[こまんとひすとり]: Cooperation with other packages. 8. +* カーソルジャンプ[かあそるしやんふ]: Cursor jump. 4. +* %#記法自体の編集[%#きほうしたいのへんしゆう]: Editing %# notation. 4. +* パラグラフの桁揃え[はらくらふのけたそろえ]: Filling. 47. +* 領域決定規則[りよういきけつていきそく]: Fix region for typesetting. 25. +* 長いファイルの編集[なかいふあいるのへんしゆう]: Fix region for typesetting. 34. +* 固定領域のタイプセット[こていりよういきのたいふせつと]: Fix region for typesetting. 4. +* ギリシャ文字補完[きりしやもしほかん]: Greek letter completion. 4. +* イメージ補完[いめえしほかん]: Image completion. 4. +* 数式記号イメージ補完[すうしききこういめえしほかん]: Image completion. 4. +* 他のファイルの手直し[ほかのふあいるのてなおし]: Includeonly. 11. +* インクルード構造[いんくるうとこうそう]: Inclusion hierarchy browser. 4. +* おまかせ改行[おまかせかいきよう]: Intelligent newline. 4. +* プリントアウト[ふりんとあうと]: Invocation. 4. +* 環境の削除[かんきようのさくしよ]: Killing LaTeX command. 6. +* ラベル自動生成[らへるしとうせいせい]: label-generation. 4. +* フォント指定子[ふおんとしていし]: large型補完. 18. +* 文字サイズ指定子[もしさいすしていし]: large型補完. 18. +* ローカル辞書[ろおかるししよ]: Local dictionary. 4. +* 変更/削除[へんこう/さくしよ]: Modifying/Deleting. 4. +* グローバルヘルプ[くろおはるへるふ]: Online help. 16. +* オンラインヘルプ[おんらいんへるふ]: Online help. 4. +* キーワード検索[きいわあとけんさく]: Online help. 4. +* プライベートヘルプ[ふらいへえとへるふ]: Online help. 16. +* 入力ファイル分割[にゆうりよくふあいるふんかつ]: Splitting input files. 11. +* セクション区切り一覧バッファ[せくしよんくきりいちらんはつふあ]: view-sectioning. 18. +* セクション区切り[せくしよんくきり]: view-sectioning. 42. +* 現在のカラム表示[けんさいのからむひようし]: What column. 23. +* apropos: Online help. 4. +* autoload: Installation. 4. +* auto-mode-alist: Installation. 4. +* %#BEGIN: Fix region for typesetting. 4. +* begin型補完[beginかたほかん]: begin型補完. 4. +* C-c: Invocation. 4. +* Demacs: Intro. 4. +* .emacs: Installation. 4. +* %#END: Fix region for typesetting. 4. +* end補完[endほかん]: end補完. 4. +* ghostview: Splitting input files. 16. +* gmhist: Cooperation with other packages. 8. +* hook変数[hookへんすう]: Hook variables. 4. +* 出力終了ページ[しゆつりよくしゆうりようへえし]: Print out. 9. +* includeonly: Includeonly. 4. +* Install: Installation. 4. +* itemなどの桁揃え[itemなとのけたそろえ]: Filling. 8. +* 出力開始ページ[しゆつりよくかいしへえし]: Print out. 9. +* jlatex: Invocation. 4. +* large型補完[largeかたほかん]: large型補完. 4. +* LaTeX: Intro. 4. +* leftarrow: Image completion. 4. +* lpr format: lpr format. 4. +* lprフォーマットの変更[lprふおおまつとのへんこう]: Editing %# notation. 18. +* lprふぉーまっと[lprふおおまつと]: lpr format. 4. +* lprフォーマット[lprふおおまつと]: lpr format. 4. +* maketitle型補完[maketitleかたほかん]: maketitle型補完. 4. +* M-C-@: 環境を単位としたジャンプ. 7. +* M-C-a: 環境を単位としたジャンプ. 7. +* M-C-e: 環境を単位としたジャンプ. 7. +* min-out: Cooperation with other packages. 17. +* M-q: Filling. 47. +* Mule: Intro. 4. +* 勝手にincludeonly[かつてにincludeonly]: Includeonly. 4. +* NTT-jTeX[えぬていいていいしえいてつく]: Filling. 15. +* platex: Invocation. 4. +* prefix ,: Commenting out. 4. +* prefix .: Commenting out. 4. +* prefix <: Commenting out. 4. +* prefix >: Commenting out. 4. +* prefix /: Online help. 4. +* prefix ?: Online help. 4. +* prefix &: What column. 4. +* prefix a: Accent mark completion. 4. +* prefix b: begin型補完. 4. +* prefix c: Modifying/Deleting. 4. +* prefix d: Inclusion hierarchy browser. 4. +* prefix e: end補完. 4. +* prefix g: Cursor jump. 4. +* prefix i: Filling. 8. +* prefix k: Modifying/Deleting. 4. +* prefix key: Invocation. 4. +* prefix l: large型補完. 4. +* prefix m: maketitle型補完. 4. +* prefix s: section型補完. 4. +* prefix SPC: Arbitrary completion. 4. +* prefix w: Changing mode of YaTeX. 4. +* prefixキー変更[prefixきいへんこう]: Lisp variables. 4. +* ページ確認省略lpr起動[へえしかくにんしようりやくlprきとう]: Print out. 12. +* section型補完[sectionかたほかん]: section型補完. 4. +* 複雑なtabular[ふくさつなtabular]: What column. 4. +* 先回りusepackage[さきまわり]: Usepackage cheker. 4. +* YaTeX-help-file: Online help. 16. +* YaTeX-help-file-private: Online help. 16. +* YaTeX-item-regexp: Filling. 20. +* YaTeX-math-sign-alist-private: Image completion. 57. +* yatex-mode-hook: Hook variables. 4. +* yatex-mode-load-hook: Hook variables. 4. +* YaTeX-nervous: Local dictionary. 22. +* .yatexrc: Local dictionary. 4. + + + + +Tag table: +Node: Top257 +Node: Intro1311 +Node: Terminology1614 +Node: Main features2249 +Node: Installation3282 +Node: Invocation4500 +Node: Calling typesetter5319 +Node: Calling previewer6556 +Node: Print out6872 +Node: %#notation7138 +Node: Changing typesetter7566 +Node: Splitting input files7824 +Node: Fix region for typesetting8776 +Node: lpr format9677 +Node: Controlling which command to invoke10486 +Node: Editing %# notation10887 +Node: Completion11344 +Node: begin型補完11817 +Node: section型補完14401 +Node: 2個以上の引数をとる section型コマンド15496 +Node: Enclose section-type command16314 +Node: Recursive completion16551 +Node: view-sectioning16857 +Node: label-generation18053 +Node: large型補完18402 +Node: maketitle型補完18982 +Node: Arbitrary completion19281 +Node: end補完19594 +Node: Accent mark completion19936 +Node: Image completion20361 +Node: Greek letter completion22178 +Node: Local dictionary22638 +Node: Commenting out23243 +Node: Cursor jump24402 +Node: 対応オブジェクトへのジャンプ24639 +Node: お絵描きツール起動25627 +Node: メインファイルへのジャンプ26547 +Node: 環境を単位としたジャンプ26883 +Node: 最後の補完位置へのジャンプ27240 +Node: Modifying/Deleting27477 +Node: Changing LaTeX command27883 +Node: Killing LaTeX command28434 +Node: Filling29305 +Node: Includeonly30634 +Node: What column31195 +Node: Intelligent newline31974 +Node: Usepackage cheker33007 +Node: Changing mode of YaTeX33433 +Node: Online help34009 +Node: Inclusion hierarchy browser34985 +Node: Cooperation with other packages36263 +Node: Customizations36718 +Node: Lisp variables37015 +Node: All customizable variables37622 +Node: Sample definitions44923 +Node: Hook variables45357 +Node: Hook file46251 +Node: Add-in functions46457 +Node: Etc46684 +Node: Copying46968 +Node: Concept Index47599 + +End tag table diff -r 5d8f03ba4285 -r 29ab3f4fcd9e docs/yatexj.tex --- a/docs/yatexj.tex Thu Jan 12 12:27:20 2012 +0900 +++ b/docs/yatexj.tex Mon May 14 18:39:05 2012 +0900 @@ -1,2237 +1,2259 @@ -\def\lang{jp} % -*- texinfo -*- for Texinfo V.3.1 -\input texinfo -@setfilename yatexj -@settitle Yet Another tex-mode for Emacs - -@iftex -@c @syncodeindex fn cp -@c いつも忘れるのでここに書いとくか。 -@c C-l C-c n でノード入れ -@c ノードいじったら C-l C-u C-n 全部のノード更新 C-l C-u C-e -@c メニュー増やしたら C-l C-u C-m 全部のメニュー更新 C-l C-u C-a -@c フォーマットするときは C-l C-e C-b -@c Last modified Thu May 27 18:24:30 2010 on firestorm -@syncodeindex vr cp -@end iftex - -@titlepage -@sp 10 -@center -@subtitle Yet Another tex-mode for emacs -@title 『野鳥』 -@subtitle // YaTeX // -@author @copyright{} 1991-2004 by HIROSE, Yuuji [yuuji@@yatex.org] -@end titlepage - -@node Top, Intro, (dir), (dir) -@comment node-name, next, previous, up - -@menu -* Intro:: はじめに -* Terminology:: マニュアル参照上の注意 -* Main features:: 主な機能 -* Installation:: インストール -* Invocation:: プロセス起動 -* %#notation :: %#記法 -* Completion:: 補完入力 -* Local dictionary:: ローカル辞書 -* Commenting out:: コメントアウト -* Cursor jump:: カーソルジャンプ -* Modifying/Deleting:: LaTeXコマンドの変更/削除 -* Filling:: 桁揃え -* Includeonly:: 勝手に includeonly -* What column:: カラム位置ガイド -* Intelligent newline:: おまかせ改行 -* Usepackage cheker:: 先回りusepackage -* Changing mode of YaTeX:: 野鳥動作モード変更 -* Online help:: LaTeXオンラインヘルプ -* Inclusion hierarchy browser:: ファイル分割階層構造の表示 -* Cooperation with other packages:: 他パッケージとの連携 -* Customizations:: カスタマイズ -* Etc:: その他 -* Copying:: 取り扱い -* Concept Index:: 索引 - -@end menu - -@node Intro, Terminology, Top, Top -@comment node-name, next, previous, up -@chapter はじめに -@cindex Demacs -@cindex Mule -@cindex LaTeX -@cindex やちょう[やちよう] - - 野鳥は、GNU Emacs で La@TeX{} 用の文書を作成する時に pLa@TeX{} などの -タイプセットコマンドや、プレヴューアの起動を Emacs 編集画面中から -行えるようにすると共に、拡張性の高い種々の補完機能によりソーステキ -ストの編集を支援します。さらに La@TeX{} コマンドのオンラインヘルプに -よりマニュアルを調べる手間を軽減します。 - - English manual @xref{Top, , , yatexe,YaTeX English info}. - -@node Terminology, Main features, Intro, Top -@comment node-name, next, previous, up -@chapter 本マニュアル参照上の注意 - - 本マニュアルでは以下の表記を用います。 - -@itemize @bullet -@item -begin型コマンド - -@code{\begin@{環境@} 〜 \end@{環境@}}という形式のLaTeXコマンドを指します。 -begin型コマンドを補完入力することをbegin型補完と呼びます。 - -@item -section型コマンド - -@code{\section@{タイトル@}}や@code{\mbox@{内容@}}のように -引数を取るLaTeXコマンドを指します。 - -@item -maketitle型コマンド - -@code{\maketitle}や@code{\tableofcontents}のように引数を取らないLaTeXコマ -ンドを指します。 - -@item -large型コマンド - -@code{@{\large ...@}} や @code{@{\tt ...@}} のようなフォント/サイズ指定子 -を指します。 - -@item @kbd{[prefix]} - -野鳥の機能を呼び出すためのプリフィクスキー。デフォルトでは@kbd{C-c}に割り -当てられているので、特に変更していない場合本マニュアルの @kbd{[prefix]} と -いう表記は、@kbd{C-c} と読み換えてください。 -@end itemize - -@node Main features, Installation, Terminology, Top -@comment node-name, next, previous, up -@chapter 主な機能 - -@itemize @bullet -@item タイプセッタやプレヴューアなどの編集画面からの起動(@kbd{C-c t}) -@item カーソル位置によらない固定リジョンの部分タイプセット -@item \includeonlyのワンタッチ更新 -@item エラー箇所への自動ジャンプ(@kbd{C-c '}) -@item @code{\begin@{@}, \end@{@}, \section...} などの La@TeX{} -コマンドの補完入力 -(@kbd{C-c b}, @kbd{C-c s}, @kbd{C-c l}, @kbd{C-c m}) -@item 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完 -(@kbd{C-u} +通常補完キー) -@item セクション区切り入力時の文書構造アウトライン表示 -@item セクションコマンドの一括シフト (@ref{view-sectioning}) -@item 補完辞書の学習 -@item La@TeX{} の環境やコマンドに応じたガイド付き引数入力 -@item 野鳥にないガイド付き引数入力関数の自動生成(@file{yatexgen.el}) -@item La@TeX{} コマンドの削除/変更(@kbd{C-c k}, @kbd{C-c c}) -@item ファイル間、@code{\begin}<->@code{\end}間、 - @code{\ref}<->@code{\label}間、 - @code{\cite}<->@code{\bibitem}ジャンプ(@kbd{C-c g}) -@item 一括コメントアウト/アンコメントアウト - (@kbd{C-c >}, @kbd{C-c <}, @kbd{C-c ,}, @kbd{C-c .}) -@item アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援 - (@kbd{C-c a}, @kbd{;}, @kbd{/}) -@item tabular/array環境のカラム位置ガイド -@item 標準的 La@TeX{} コマンドのオンラインヘルプ(@kbd{C-c ?}, @kbd{C-c /}) -@item ドキュメントのインクルード構造の視覚的表示とバッファ切り替え -(@kbd{C-c d}) -@item 補完入力したマクロに応じて必要な \userpackage を入れてくれる先回り -userpackage -@item \labelを打つことはもう忘れよう! refやcite補完入力で自動生成します -@end itemize - -@node Installation, Invocation, Main features, Top -@comment node-name, next, previous, up -@chapter 起動法 -@cindex Install -@cindex インストール[いんすとおる] -@cindex .emacs -@cindex auto-mode-alist -@cindex autoload -@section 野鳥起動のための設定 - - ~/.emacsに下の2項目を加えます。 - -@lisp -(setq auto-mode-alist - (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) -(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) -@end lisp - -次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に加えます。 -たとえば、 @file{~/src/emacs/yatex}に置くのであれば、 - -@lisp -(setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path)) -@end lisp - -@noindent -などとします。 - - 以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野鳥が -ロードされます。野鳥が正常に起動できたときはモードラインの表示が「やてふ」 -に変わります。 - -@section タイプセッタ/プレヴューア環境の設定 - - 利用する外部プログラムに関する以下の変数を確認し、必要なら正しい値に変更 -します。 -@table @code -@item tex-command - @dots{} 起動するタイプセッタのコマンド名 -@item dvi2-command - @dots{} 起動するプレヴューアのコマンド名 -@item NTT-jTeX - @dots{} 改行+インデントによって、タイプセット後の字間が空いてしま - うのを抑制する場合にtにする(古いNTT-jTeXで顕著に現れる)。具体的には、 - fillするときに各行の終わりに%を付加するようになる。 -@item YaTeX-kanji-code - @dots{} 文書を作成する時の漢字コード -@item dviprint-command-format - @dots{} ファイルの印刷に使われるコマンド列の書式 -@item makeindex-command - @dots{} makeindexコマンド -@end table - -これらを変更する場合は、やはり@file{~/.emacs}にて、たとえば -@lisp -(setq tex-command "bigjlatex") -@end lisp -のようにしてください。どのような値をセットすれば良いかについては、 -@ref{All customizable variables}を参照してください。 - - -@node Invocation, %#notation , Installation, Top -@comment node-name, next, previous, up -@chapter latexコマンド起動 -@cindex prefix key -@cindex C-c -@cindex タイプセッタ[たいふせつた] -@cindex プレヴューア[ふれひゆうあ] -@cindex jlatex -@cindex platex -@cindex プリントアウト[ふりんとあうと] - -LaTeXソースの編集中、次のキー入力により、platex などのタイプセットプログラ -ム(以後タイプセッタと呼ぶ)、プレヴューアなどの起動ができます。 - -@table @kbd -@item [prefix] t j - @dots{} タイプセッタ(platex)起動 -@item [prefix] t r - @dots{} タイプセッタ起動(領域指定) -@item [prefix] t e - @dots{} タイプセッタ起動 - (ポイント位置の環境または数式モードのみ対称) -@item [prefix] t k - @dots{} 動作中のタイプセッタの停止 -@item [prefix] t b - @dots{} jbibtex起動 -@item [prefix] t i - @dots{} makeindex起動 -@item [prefix] t d - @dots{} タイプセッタとdvipdfmx起動 -@item [prefix] t p - @dots{} プレヴューア起動 -@item [prefix] t l - @dots{} lpr(プリントアウト用)コマンド起動 -@item [prefix] t s - @dots{} xdvi -remote でのサーチ -@end table - -@menu -* Calling typesetter:: タイプセッタ起動 -* Calling previewer:: プレヴューア起動 -* Print out:: プリントアウト用コマンドの起動 -@end menu - -@node Calling typesetter, Calling previewer, Invocation, Invocation -@comment node-name, next, previous, up -@section タイプセッタ起動 -@cindex タイプセッタ起動[たいふせつたきとう] -@cindex タイプセットエラー[たいふせつとえらあ] -@cindex エラー修正[えらあしゆうせい] - - タイプセッタを起動すると、編集ウィンドウが2つに分割され、片方のウィンド -ウにタイプセット画面が表示されます。出力されるメッセージと連動しタイプセッ -トバッファは自動的にスクロールします。もし、途中でエラーが起こって止まって -しまった場合にはタイプセットバッファに移り、(@kbd{C-x o}) タイプセッタの出 -している ? プロンプトに対して、@kbd{x} (処理の中断)などの指示を送ることが -できます。エラーを修正する場合は、 - -@table @kbd -@item [prefix] ' -@itemx (prefix+アポストロフィ) - @dots{} 直前のエラー発生行へジャンプ -@end table - -を入力することにより、タイプセッタがエラーを発生した行に移ることができます。 -また、タイプセッタの出力する overfull hbox などのウォーニング行にも対応し -ていますので、順次 @kbd{[prefix] '} を押すことにより、一つ前のウォーニング -発生行にジャンプしていきます。 - - もし、気になるエラー行があった場合は、タイプセットバッファで、エ -ラーの表示されている行にカーソルを合わせスペースキーを押すと La@TeX{} -ソースの対応する行にジャンプします。 - -@subsection 領域タイプセット - - ポイントとマークの間、あるいはテキスト中に埋め込んだ @code{%#BEGIN} と -@code{%#END}の間の領域(@ref{%#notation})だけを切り取ってタイプセットすることが -できます。この場合メインファイルのプリアンブルが一時ファイルの -プリアンブルとして使われます。したがってプリアンブルにないマクロ定義が -領域内にあるとエラーになります。領域タイプセットを使う場合、 -必ずマクロ定義はプリアンブル(@code{\begin{document}}より前)に置くよう -にして下さい。一時ファイルはメインファイルのある -ディレクトリの@file{texput.tex}という名前で出力されるので、 -上書きには注意してください。 - -@subsection{環境タイプセット} - - @kbd{[prefix] te} を押すと、ポイント位置の最も内側の環境、または数式モー -ド内の場合はその数式モード全体が自動的に領域選択されて、領域タイプセットを -呼び出します。tabular環境や数式モードで複雑なものを作っている場合は確かめた -い部分だけを確認できるので便利です。これも @file{texput.tex} に該当部分を -書き出します。プレヴューアで @file{texput.dvi} を開いたままにしておけば -修正と確認が素早くできるでしょう。 - -@node Calling previewer, Print out, Calling typesetter, Invocation -@comment node-name, next, previous, up -@section プレヴューア起動 - @kbd{[prefix] t p} によりプレヴューアの起動ができます。さらに、もしあな -たが、-remote 機能つきのxdviを利用している場合は @kbd{[prefix] t s} を押す -ことによりカーソル位置の文字列を検索してそのページを表示するようにすでに起 -動中のxdviに命令を送ります。これにより、現在編集中の箇所のタイプセット結果 -を即座に見ることができます。 - -@c なお、-remote 機能付きの xdvi は -@c @code{ftp://ftp.ae.keio.ac.jp/pub/text/xdvi/xdvi-remote} -@c などから入手することができます。 - -@node Print out, , Calling previewer, Invocation -@comment node-name, next, previous, up -@section プリントアウト - - @kbd{[prefix] t l}を押してプリントアウトを指示すると、出力開始/終了ペー -ジを聞いてくるので、それぞれに答えます。これを省略したい時は、 -universal-argument をつけ、 - -@cindex 出力開始ページ[しゆつりよくかいしへえし] -@cindex 出力終了ページ[しゆつりよくしゆうりようへえし] - -@table @kbd -@item C-u [prefix] t l - @dots{} ページ確認省略lpr起動 -@end table -@cindex ページ確認省略lpr起動[へえしかくにんしようりやくlprきとう] - -@noindent -のように起動してください。 - -@node %#notation , Completion, Invocation, Top -@comment node-name, next, previous, up -@chapter %#記法 - - 本文中に@code{%#}ではじまるキーワードを埋め込むことでタイプセッタ起動等 -の制御をすることができます。 - -@menu -* Changing typesetter:: タイプセット用コマンドの変更 -* Splitting input files:: 入力ファイル分割 -* Fix region for typesetting:: 領域の固定 -* lpr format:: プリントアウトコマンド用フォーマット -* Editing %# notation:: %#記法の編集 -@end menu - -@node Changing typesetter, Splitting input files, %#notation , %#notation -@comment node-name, next, previous, up -@section タイプセット用コマンド変更 - - 起動するコマンドを変えたい時は本文中に次のような行を書きます。 - -@cindex 起動するコマンドを変える[きとうするこまんとをかえる] - -@example - %#!jlatex-ntt -@end example - -NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。 - -@cindex タイプセッタの使い分け[たいふせつたのつかいわけ] - -@node Splitting input files, Fix region for typesetting, Changing typesetter, %#notation -@comment node-name, next, previous, up -@section 入力ファイル分割 - -また、章毎に別ファイルの .tex を作成している場合で、@file{main.tex}から -@file{sub.tex}を @code{\include}しているような時は、@file{sub.tex}の任意の -位置に次のような行を埋め込みます。 - -@example - %#!platex main.tex -@end example - -@cindex 入力ファイル分割[にゆうりよくふあいるふんかつ] - -上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま -shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時に便 -利です。 - -@cindex ghostview - -@example - %#!platex main ; dvi2ps main.dvi > main -@end example - -なお、この行の最後の単語のピリオド以前を「メインファイル」のベース -ネームであると仮定します(上の2つの場合どちらも@file{main})。 -この行に記述した、@code{%f}はメインファイル名に、 -@code{%r} はメインファイルの拡張子を取り除いた部分に置換されます。 -ただし、@code{%f,%r}を利用した場合、初回タイプセット時に必ずメインファイル -名の入力を促されます。 - - @kbd{[prefix] g} (@ref{Cursor jump}参照) での -ファイル間ジャンプを有効に機能させるため、入力ファイル分割時には次のことに -注意して下さい。 - -@enumerate -@item -サブディレクトリを作って、その中にサブファイルを置くことはできるが -サブディレクトリのサブディレクトリには置けない。 -@item -メインファイルからサブディレクトリ内のファイルを include -する時には、相対パス指定を用いて、 -@code{\include@{chap1/sub@}}のように記述。 -@item -メインファイルが一つ上のディレクトリにある場合も、サブファイルには -%#!platex main.tex のように記述する(../mainではない)。 -@end enumerate - - - -@node Fix region for typesetting, lpr format, Splitting input files, %#notation -@comment node-name, next, previous, up -@section 領域の固定 -@cindex 固定領域のタイプセット[こていりよういきのたいふせつと] -@cindex %#BEGIN -@cindex %#END - - @kbd{[prefix] tr} の領域指定のタイプセットでは、とくに指定のないかぎり、 -@kbd{C-SPC}でマークした位置と、ポイント(カーソル位置)の間を領域とみなしま -すが、必ず決まった領域をタイプセットしたい場合は、その領域を - -@example - %#BEGIN - <渡したい領域> - %#END -@end example - -@noindent -のように@code{%#BEGIN}と@code{%#END}で囲み、カーソルを「@code{%#BEGIN}以降」 -に置いてください。この時の領域決定規則をまとめると次のようになります。 - - -@enumerate -@item -カーソル位置よりバッファの先頭方向に@code{%#BEGIN}というキーワードが -ある場合 - -@enumerate -@item -@code{%#BEGIN}よりバッファの末尾方向に@code{%#END}というキーワードが見つかっ -た場合。 -@result{}@code{%#BEGIN} から、その @code{%#END} のある位置まで。 -@item -@code{%#END} が見つからなかった場合。 -@result{}バッファの最後尾まで。 -@end enumerate -@cindex 領域決定規則[りよういきけつていきそく] - -@item -カーソル位置よりバッファの先頭方向に @code{%#BEGIN} というキーワードが -見つからなかった場合。 -@result{}マーク(@kbd{C-SPC}位置)とポイント(カーソル位置)の間の領域。 -@end enumerate - - tabular 環境を何度も試行錯誤しているような場合は、@code{\begin}の前の行 -に @code{%#BEGIN} と書き、@code{\end} の次の行に @code{%#END} と書いておく -と簡単に作表結果をテストすることができます。また、長い .tex ファイルの後半 -に @code{%#BEGIN} を書いておけば、前半の部分は無視できます。このBEGINとEND -の消し忘れには十分ご注意下さい。 -@cindex 長いファイルの編集[なかいふあいるのへんしゆう] - -@c @node Require, lpr format, Fix region for typesetting, %#notation -@comment node-name, next, previous, up - -@node lpr format, Editing %# notation, Fix region for typesetting, %#notation -@comment node-name, next, previous, up -@section lprフォーマット -@cindex lprふぉーまっと[lprふおおまつと] -@cindex lprフォーマット[lprふおおまつと] -@cindex lpr format - - まず、プリントアウト用コマンド列のフォーマットについて説明します。 -コマンド列フォーマットは、3つの Lisp 変数によって表現されます。デ -フォルトの dvi2ps 用のフォーマットを例に説明します。 - -@table @code -@item (1)dviprint-command-format -@code{"dvi2ps %f %t %s | lpr"} - -@item (2)dviprint-from-format -@code{"-f %b"} - -@item (3)dviprint-to-format -@code{"-t %e"} -@end table - -実際にプリントアウトする時は、(1)中の %s がファイル名に置き換えられ、%f が -(2)の内容、%t が(3)の内容に置き換えられます。その際に(2)の文字列中の %b は -「出力開始ページ」、(3)の文字列中の %e は「出力終了ページ」に置き換えられ -ます。もし、ページを指定しない時には、%f, %t 両方とも無視されます。 - - この、dviprint-command-format を臨時に変えたい時は、La@TeX{} の -ソーステキスト中の任意の場所に、 - -@example - %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2 -@end example - -@noindent -のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせないよう -にする時に - -@example - %#LPR dvi2ps %s | lpr -@end example - -@noindent -などとするのも便利かもしれません。 - -@node Editing %# notation, , lpr format, %#notation -@comment node-name, next, previous, up -@section %#記法自体の編集 -@cindex %#記法自体の編集[%#きほうしたいのへんしゆう] - -以上のような@code{%#}で始まる各種制御記法を編集するためには - -@table @kbd -@item [prefix] % - @dots{} @code{%#}@var{記法編集メニュー} -@end table - -@noindent -を押します。 - -@example - !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR -@end example - -@noindent -というメニューが出て来るので、@code{%#!}に続くコマンドを変更したい時には -@kbd{!}を、@code{%#LPR}で lpr フォーマットを変えたい時は@kbd{l}を、あらか -じめ設定したリジョンを @code{%#BEGIN} 〜 @code{%#END} で括りたい時は、 -@kbd{b}を押します。@kbd{b}を選んだ時には、それまでバッファ中に置かれていた -@code{%#BEGIN}, @code{%#END} が自動的に消去されます。 -@cindex lprフォーマットの変更[lprふおおまつとのへんこう] - -@node Completion, Local dictionary, %#notation , Top -@comment node-name, next, previous, up -@chapter 補完入力 - - La@TeX{} での環境名などは、野鳥の補完機能を利用して能率的に入力すること -ができます。 - -@menu -* begin型補完:: -* section型補完:: -* large型補完:: -* maketitle型補完:: -* Arbitrary completion:: 随時補完 -* end補完:: -* Accent mark completion:: アクセント記号補完 -* Image completion:: 数式記号イメージ補完 -* Greek letter completion:: ギリシャ文字補完 -@end menu - -@node begin型補完, section型補完, Completion, Completion -@comment node-name, next, previous, up -@section begin型補完 -@cindex begin型補完[beginかたほかん] -@cindex 環境名の補完[かんきようめいのほかん] -@cindex prefix b - - @code{\begin@{env@}...\end@{env@}}の様な形式の入力の補完をbegin型補完と -呼ぶことにします。begin 型補完は、 - -@table @kbd -@item [prefix] b - @dots{} begin 型補完開始(標準では @kbd{C-c b}) -@end table - -@noindent -で始まります。頻繁に用いられる次の La@TeX{} 環境の補完は、[prefix] @kbd{b} -に続く次の1文字を入力するだけで、@code{\begin@{xxx@}...\end@{xxx@}}を完成 -させます。 - -@table @kbd -@item [prefix] b c - @dots{} @code{\begin@{center@}...\end@{center@}} -@item [prefix] b d - @dots{} @code{\begin@{document@}...\end@{document@}} -@item [prefix] b D - @dots{} @code{\begin@{description@}...\end@{description@}} -@item [prefix] b e - @dots{} @code{\begin@{enumerate@}...\end@{enumerate@}} -@item [prefix] b E - @dots{} @code{\begin@{equation@}...\end@{equation@}} -@item [prefix] b i - @dots{} @code{\begin@{itemize@}...\end@{itemize@}} -@item [prefix] b l - @dots{} @code{\begin@{flushleft@}...\end@{flushleft@}} -@item [prefix] b m - @dots{} @code{\begin@{minipage@}...\end@{minipage@}} -@item [prefix] b t - @dots{} @code{\begin@{tabbing@}...\end@{tabbing@}} -@item [prefix] b T - @dots{} @code{\begin@{tabular@}...\end@{tabular@}} -@item [prefix] b ^T - @dots{} @code{\begin@{table@}...\end@{table@}} -@item [prefix] b p - @dots{} @code{\begin@{picture@}...\end@{picture@}} -@item [prefix] b q - @dots{} @code{\begin@{quote@}...\end@{quote@}} -@item [prefix] b Q - @dots{} @code{\begin@{quotation@}...\end@{quotation@}} -@item [prefix] b r - @dots{} @code{\begin@{flushright@}...\end@{flushright@}} -@item [prefix] b v - @dots{} @code{\begin@{verbatim@}...\end@{verbatim@}} -@item [prefix] b V - @dots{} @code{\begin@{verse@}...\end@{verse@}} -@end table - - 上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用いて -入力します(上記の環境名も以下の補完入力可能)。 - -@table @kbd -@item [prefix] b @key{SPC} - @dots{} begin 型補完入力 -@end table - -@kbd{[prefix] b @key{SPC}} と入力すると、最下行のミニバッファに - -@example - Begin environment(default document): -@end example - -@noindent -と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出てい -るデフォルトの環境名が入力されますが、適当な環境名を入力すると、 -@code{\begin@{環境名@} … \end@{環境名@}}が文書中に挿入されます。ミニバッ -ファで環境名を入力するときに、環境名の頭文字を入力し「スペース」をたたくと、 -一致する環境名が内部テーブルに存在した場合、正しい環境名に補完されるので、 -入力の手間が省けます。内部テーブルに存在しない環境名を入力した時はユーザ専 -用のテーブルに登録され、さらにそのテーブルを自動的に、ユーザ辞書(デフォル -トでは @file{~/.yatexrc})に保存します。 - -さらに、特定の環境を補完入力した時にはその環境で必ず用いられるエントリを自 -動挿入します(例: @code{itemize}環境における@code{\item}など)。挿入されたエ -ントリが不要な場合にはundoによって消去して下さい。 -@cindex ユーザ辞書[ゆうさししよ] - -@subsection 既に書いたテキストを環境で括る - - ところで、最初に書いてしまったブロックを後から、itemize 環境の中 -に閉じこめたいと思うことがありますが、そのようなときは、あらかじめ -閉じこめたい段落をマークして、begin 型補完の各コマンドの @kbd{[prefix]} -の次の『小文字の 'b'』 を『大文字』に変えて起動して下さい。(または、 -@kbd{C-u} を先に打ち、universal argument をつけても可能です) -@cindex ブロック[ふろつく] -@cindex 閉じ込める[としこめる] - - 例えばあるパラグラフを description 環境の中に入れたいときは、 -そのパラグラフをマークしてから、 - -@table @kbd -@item [prefix] B D -@itemx (または ESC 1 [prefix] b D) -@itemx (または C-u [prefix] b D など) -@end table - -とタイプしてください。これは、@kbd{[prefix] b SPC}の補完入力にもあてはまり、 -@kbd{b} を大文字に変えて、@kbd{[prefix] B SPC} とタイプすれば、あらかじめ -マークしておいたリジョンを、begin と end の環境で括ります。 - -@node section型補完, large型補完, begin型補完, Completion -@comment node-name, next, previous, up -@section section型補完 -@cindex section型補完[sectionかたほかん] -@cindex prefix s - - @code{\section@{目的@}} のような形式の入力の補完を section 型補完と呼ぶこ -とにします。section 型補完は、 - -@table @kbd -@item [prefix] s - @dots{} section 型補完 -@end table - -@noindent -で実行します。@kbd{[prefix] s} を入力するとミニバッファに、 - -@example - (C-v for view-section) \???@{@} (default documentclass): -@end example - -@noindent -というプロンプトが現れるので、そこで @samp{section} のような La@TeX{} コマ -ンド名を入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択さ -れるほか、@samp{chapter}などのような頻度の高い名称入力にはスペースキーによ -る補完機能が有効です。 次に、@{@}の中身の入力を促す、 - -@example - \section@{???@}: -@end example - -@noindent -というプロンプトが現れるので、セクションのタイトルなどを入力します。 -たとえば、 - -@example - (C-v for view-section) \???@{@} (default documentclass): section - \section@{???@}: 目的 -@end example - -@noindent -のように入力した場合は、文章中に - -@example - \section@{目的@} -@end example - -@noindent -が挿入され、 - -@example - (C-v for view-section) \???@{@} (default section): vspace* - \vspace*@{???@}: -@end example - -@noindent -のように@{@}の中身を省略したときは、 - -@example - \vspace*@{@} -@end example - -@noindent -だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。 - -@menu -* 2個以上の引数をとる section型コマンド:: -* Enclose section-type command:: 括り補完 -* Recursive completion:: 再帰補完 -* view-sectioning:: セクション区切りのアウトライン表示 -* label-generation:: ラベル自動生成 -@end menu - -@node 2個以上の引数をとる section型コマンド, Enclose section-type command, section型補完, section型補完 -@comment node-name, next, previous, up -@subsection 2個以上の引数をとる section型コマンド -@cindex 引数[ひきすう] - - ところで、@samp{\addtolength@{\topmargin@}@{8mm@}} などのように、引数を二つ -以上取る La@TeX{} コマンドがあります。このようなコマンドの補完入力には、 -section 型補完呼び出しに引数を付けてください。例えば上の@samp{addtolength} -の例であれば、引数2を指定します。つまり、 - -@example - C-u 2 [prefix] s (または、ESC 2 [prefix] s) -@end example - -@noindent -と section 型補完を呼び出した後、 - -@example - (Ctrl-v for view-section) \???@{@} (default vspace*): addtolength - \addtolength@{???@}: \topmargin - Argument 2: 8mm -@end example - -@noindent -のように入力してください。最初の addtolength の部分と、第一引数である -\topmargin の入力は当然スペースによる補完入力が可能です。ユーザ辞書に登録 -される La@TeX{} コマンドには、この引数の数も学習されるので、最初の補完の時 -引数の数を指定して起動しておけば、以後の補完時には、記憶された個数だけ引数 -を聞いて来るようになります。あとで引数の個数を変えたい時は、再び @kbd{C-u} -を用いて個数を指定し直すことで、自動的に辞書中の引数の個数の部分を更新しま -す。 -@cindex 引数の個数を変える[ひきすうのこすうをかえる] - - -@node Enclose section-type command, Recursive completion, 2個以上の引数をとる section型コマンド, section型補完 -@subsection 既に書いたテキストを括る -@cindex 括る[くくる] - - また、起動コマンドの@kbd{s}を大文字に変えて起動すると、あらかじめ書 -いた文章を section 型コマンドの第一引数として括ります。 - -@node Recursive completion, view-sectioning, Enclose section-type command, section型補完 -@comment node-name, next, previous, up -@subsection 再帰補完 -@cindex 再帰補完[さいきほかん] - - 高度な使い方になるかもしれませんが、section型補完の引数の入力時にさらに -補完入力を利用することができます(section/large/maketitle型に限る)。section -型コマンドの引数に更に La@TeX{} コマンドが来る場合にはミニバッファで野鳥の -補完キーを再帰的に入力することで引数の入力も効率的に行なえます。 - -@node view-sectioning, label-generation, Recursive completion, section型補完 -@comment node-name, next, previous, up -@subsection セクション区切りのアウトライン表示 -@cindex アウトライン[あうとらいん] - - 通常のsection型補完の時にミニバッファで@kbd{C-v}を押すと現在存在するセク -ション区切りコマンド全てを @code{*Sectioning Lines*}というバッファに一覧表 -示します(「<<--」のついている行がもっとも近いセクション区切り)。この時ミニ -バッファで@kbd{C-p}, @kbd{C-n} を押すと@samp{part}, @samp{chapter}, ..., -@samp{subparagraph} のコマンドが論理階層の高さにしたがって上下します。また、 -@kbd{C-v}, @kbd{M-v} を押すとセクション区切り一覧バッファがスクロールし、 -数字の@kbd{0}〜@kbd{7}を押すとある高さ以上のセクション区切りだけを選んで表 -示します(実際にやって見れば分かります)。 - -@code{*Sectioning Lines*}バッファは、 - -@table @kbd -@item M-x YaTeX-section-overview - @dots{} セクション区切り一覧バッファを生成 -@end table - -@cindex セクション区切り一覧バッファ[せくしよんくきりいちらんはつふあ] -で作成することができます。このバッファを選択し任意の行でスペースを押すと、 -該当するセクション区切りのある本文中の場所にジャンプします。さらに、同バッ -ファで @kbd{u} を押すと、ソーステキストの対応するセクションコマンドが一階 -層上がり(例: subsection が section に変わる)、@kbd{d}を押すと一階層下がり -ます。@code{*Sectioning Lines*}バッファにあるセクション区切りの行をマーク -しておいて@kbd{U}を押すとリジョン内のものに対応するソーステキストのセクショ -ンコマンドすべてが一階層上がり、@kbd{D}を押すと下がります。セクション区切 -り一覧バッファで利用できるキーコマンドには以下のものがあります。 - -@table @kbd -@item SPC - @dots{} 対応するソース行へジャンプ -@item . - @dots{} 対応するソース行を表示 -@item u - @dots{} カーソル位置に対応するセクションコマンドを一階層上げる -@item d - @dots{} カーソル位置に対応するセクションコマンドを一階層下げる -@item U - @dots{} マークしたセクションコマンドを一階層上げる -@item D - @dots{} マークしたセクションコマンドを一階層上げる -@item 0〜6 - @dots{} レベル n 以下のセクションコマンドを隠して表示 -@end table - -@cindex 論理階層[ろんりかいそう] -@cindex セクション区切り[せくしよんくきり] -@cindex ジャンプ[しやんふ] - -@node label-generation, , view-sectioning, section型補完 -@comment node-name, next, previous, up -@subsection ラベル自動生成 -@cindex ラベル自動生成[らへるしとうせいせい] - - @code{\ref@{@}} や @code{\cite{@@}} マクロをsection型補完で入れた場合 -参照先となり得るものを全て探してメニューにして選択できます。参照先には -@code{\label@{@}}をつけておく必要はありません。もしあれば、そのラベルを -使い、なければその場で参照先に@code{\label@{@}}を作らせてくれます。 -ラベル名を考えるのは苦痛に感じるものです。全てのカウンタにラベルを -つけるのもたいへんです。もうラベル名に何をつけるか、ラベルをつけるかつけま -いか、などということは忘れましょう! - -@node large型補完, maketitle型補完, section型補完, Completion -@comment node-name, next, previous, up -@section large型補完 -@cindex large型補完[largeかたほかん] -@cindex prefix l - - @code{@{\large @}} のような形式の補完を large 型補完と呼ぶことにします。 - -@table @kbd -@item [prefix] l - @dots{} large 型補完開始 -@end table - -@noindent -がlarge型補完の開始です。@kbd{[prefix] l} を押すと、ミニバッファに - -@example - @{\??? @} (default large): -@end example - -@noindent -と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に用意 -されているのは、@samp{footnotesize} や @samp{huge} のような文字サイズ指定 -子と、@samp{bf}や@samp{dg}のようなフォント指定子です。 -@cindex 文字サイズ指定子[もしさいすしていし] -@cindex フォント指定子[ふおんとしていし] - -@subsection 既に書いた文字を括る -@cindex 括る[くくる] - - また、begin型補完の時と同様、先に書いてしまった一連の文章の文字のサイズ -を変えたいと思う時がありますが、そのような時は、サイズや大きさを変えたい文 -字の範囲をマークしてから、呼び出しキーを @kbd{[prefix] L} と、大文字の L -に変えて呼び出せば、そのリジョン全体が、ブレースで囲まれます。 - -@node maketitle型補完, Arbitrary completion, large型補完, Completion -@comment node-name, next, previous, up -@section maketitle型補完 -@cindex maketitle型補完[maketitleかたほかん] -@cindex prefix m - - @code{\maketitle} の形式の補完を maketitle 型補完と呼ぶことにします。 - -@table @kbd -@item [prefix] m - @dots{} maketitle 型補完開始 -@end table - -@noindent -で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同じで -す。La@TeX{} 用のコマンド名が補完候補として用意されています。 - -@node Arbitrary completion, end補完, maketitle型補完, Completion -@comment node-name, next, previous, up -@section 随時補完 -@cindex 随時補完[すいしほかん] -@cindex prefix SPC - - さて、今まで述べた典型的な La@TeX{} コマンド形式の補完入力を用いずに、今 -入力しようとしている La@TeX{} コマンドを文書中の任意の位置で随時補完するこ -ともできます。La@TeX{} コマンド(先頭が\で始まる)を入力している途中で、 - -@table @kbd -@item [prefix] SPC - @dots{} 随時補完 -@end table - -@noindent -を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に挿入 -されます。 - -@node end補完, Accent mark completion, Arbitrary completion, Completion -@comment node-name, next, previous, up -@section end補完 -@cindex end補完[endほかん] -@cindex prefix e - - 現在開いたままの環境名を自動的に検出し、@code{\end@{環境名@}}を挿入しま -す。begin 型補完を用いれば環境の閉じ忘れはないのですが、時にはついつい手で -@code{\begin@{環境名@}} を入れてしまい、悲しい思いをすることがあります。そ -のような時には気にせず続けて文章を入力し、しかるのちに - -@table @kbd -@item [prefix] e - @dots{} end 補完 -@end table - -@noindent -とすることで、現在開いている環境名で \end@{@} が補われます。 - -@node Accent mark completion, Image completion, end補完, Completion -@comment node-name, next, previous, up -@section アクセント記号補完 -@cindex アクセント記号補完[あくせんときこうほかん] -@cindex prefix a -@cindex 欧文[おうふん] - - 欧文のアクセント記号(@code{\`@{o@}}など)を入力する時は、 - -@table @kbd -@item [prefix] a - @dots{} アクセント記号入力 -@end table - -@noindent -を押すと、ミニバッファに - -@example - 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b -@end example - -@noindent -というメニューが出て来るので、数字、または対応する記号/英字を入力 -して下さい。すると編集バッファに、 - -@example - \`@{@} -@end example - -@noindent -があらわれ、カーソルが@{@}内に位置するので、さらに一文字入力する事で、 - -@example - \`@{o@} -@end example - -@noindent -が完成され、カーソルは@{@}の外に戻ります。 - -@node Image completion, Greek letter completion, Accent mark completion, Completion -@comment node-name, next, previous, up -@section 数式記号イメージ補完 -@cindex 数式記号イメージ補完[すうしききこういめえしほかん] -@cindex イメージ補完[いめえしほかん] -@cindex ; -@cindex 数式モード[すうしきもおと] -@cindex 矢印[やしるし] -@cindex Σ[しくま] -@cindex leftarrow -@cindex ∞[むけんたい] - - 主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力 -で、La@TeX{} コマンドを入力できます。これは野鳥自身の「数式モード」でのみ -動作します。野鳥はカーソルが@TeX{}の数式環境の中にある時に@kbd{;}や、 -@kbd{:}に特殊な機能を持たせます。 - - さて、例えば、←(leftarrow)をASCII文字だけで表現する場合、一般的には「<-」 -のようにしますが、これを利用して、数式記号イメージ入力モードで -@code{\leftarrow}を入力するには、@kbd{;}(セミコロン)を打ってから@kbd{<-}と -入力します。同様に、長い矢印←-(long-leftarrow) をASCII文字だけで表現する -場合「<--」とするので、@code{\longleftarrow}を入力するためには、@kbd{;<--} -と入力します。あるいは無限大記号をASCII文字だけで表現する時は「oo」のよう -にすることから、@code{\infty} を入力する時は、@kbd{;oo}とキー入力します。 - - これらの操作をまとめると次のようになります。 - -@example -INPUT 入力される La@TeX{} コマンド -; < - @code{\leftarrow} -; < - - @code{\longleftarrow} -; < - - > @code{\longleftrightarrow} -; o @code{\circ} -; o o @code{\infty} -@end example - - -@noindent - いずれの場合も、イメージ入力を行っている途中で望みのものがバッファ -に表示されたなら、そこでイメージ入力を止めて次の編集動作に移っても -構いません。 - -@cindex ;自身[;ししん] - 数式環境中で@samp{;}自身を入力するには@kbd{;;}のようにします。イメージ -入力の途中でTABを押すと、それまで入力した文字で始まるもの一覧が表示されま -す。ここで目的の La@TeX{} コマンドまでカーソルを移動し再度TABを押すことで -その La@TeX{} コマンドがバッファに挿入されます。 - - どのキー入力にどの記号が対応しているか全て知りたい時は、@kbd{;}を押した -直後にTABを押してください。以下の例は、@kbd{;<}と押した後にTABを押したもの -です。 - -@example -KEY LaTeX sequence sign -< \leq ≦ -<< \ll 《 -<- \leftarrow ← -<= \Leftarrow <= -@end example - -左から[入力キー]、[対応する La@TeX{} コマンド]、[(擬似)記号図示]、と -いう順でメニューが出て来るので、よく使うものを覚えておくと良いでしょ -う。ものによってはASCII文字で表現することが困難なので、あまり覚え -やすいキー並びではないものがあるでしょうから、そのような場合は -\maketitle 型補完で入力するか、以下に述べる対応表の設定を行って単 -純なキー並びのものを設定すると良いでしょう。 - - 入力キーと La@TeX{} コマンド、記号の対応表を個人的に設定したい場合は -Emacs-Lisp 変数 @code{YaTeX-math-sign-alist-private} に定義してください。 -その内容とデフォルトのものを合わせたものが対応表として使用されます(private -の方が優先される)。なお、この変数の構造については @file{yatexmth.el} を参 -照してください。 -@cindex YaTeX-math-sign-alist-private - -@node Greek letter completion, , Image completion, Completion -@comment node-name, next, previous, up -@section ギリシャ文字補完 -@cindex ギリシャ文字補完[きりしやもしほかん] -@cindex : - - もう一つ、数式環境中で@kbd{:}を押すとギリシャ文字入力モードに入ります。 -@kbd{:}を押した直後に@kbd{a}を押すと@code{\alpha}が、@kbd{g} を押すと -@code{\gamma}が、などアルファベットに対応したギリシャ文字が挿入されます。 -操作方法は;の数式記号補完とまったく同じです。まずは@kbd{:}の直後に -TABを押してどのアルファベットにどのギリシャ文字が対応しているか調べてみて -ください。 - - @kbd{;}と@kbd{:}を数式環境中で押しているにもかかわらず、イメージ補完が働 -かない場合は、@kbd{C-u ;}のように universal-argument をつけてキーを押すこ -とにより、強制的にイメージ補完に入ることができます。また、この時にどのよう -な状態で数式環境内判定に失敗したかをご連絡下さい。 - -@node Local dictionary, Commenting out, Completion, Top -@comment node-name, next, previous, up -@chapter ローカル辞書 -@cindex ローカル辞書[ろおかるししよ] -@cindex .yatexrc - - 補完入力用の候補は三種類の辞書から構成されています。一つは -@file{yatex.el}に組み込まれた「標準辞書」、もう一つはユーザが個人的に常用 -するコマンドを保存する「ユーザ辞書」、そしてもうひとつはあるディレクトリで -のみ有効なコマンドを保存する「ローカル辞書」です。 - - 補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞いて -来ます。 - -@example - `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard -@end example - -@noindent -というプロンプトに対し、@kbd{u}と答えると「ユーザ辞書」を、@kbd{l}と答える -とローカル辞書を更新し、@kbd{n}と答えると辞書ファイルは更新せず現在のEmacs -セッションのみ有効な単語とし、@kbd{d}と答えると新たな単語を学習せずに捨て -ることになります。 - - もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言う場 -合には@file{~/.emacs}などで、 -@cindex YaTeX-nervous - -@lisp - (setq YaTeX-nervous nil) -@end lisp - -@noindent -として下さい。 - -@node Commenting out, Cursor jump, Local dictionary, Top -@comment node-name, next, previous, up -@chapter コメントアウト -@cindex コメントアウト[こめんとあうと] -@cindex prefix < -@cindex prefix > -@cindex prefix . -@cindex prefix , - - - La@TeX{}の編集には試行錯誤がつきものです。ある部分を一括でコメントアウト -したり、コメントを外したりしたいことがあります。 - -@table @kbd -@item [prefix] > - @dots{} リジョンを % でコメントアウト -@item [prefix] < - @dots{} リジョンの % のコメントを外す -@end table - -@noindent -は、あらかじめ設定したリジョンに対しての操作、 - -@table @kbd -@item [prefix] . - @dots{} 現在のパラグラフをコメントアウト -@item [prefix] , - @dots{} 現在のパラグラフのコメントを外す -@end table - -@noindent -は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでいう -「パラグラフ」は (@code{mark-paragraph}) 関数によりマークされる範囲を指し -ます(標準設定で@kbd{ESC h}にバインドされている)。なお、既に@code{%}でコメ -ントアウトされているパラグラフに対して繰り返しパラグラフのコメントを使用し -た場合の動作は保証しませんので御注意ください。 - - さて、文章に対してだけでなく、時には@code{\begin}, @code{\end} 自体に対 -してもコメントアウトの操作をしたいときがあります。このようなときは、 -@code{\begin@{@}} あるいは @code{\end@{@}} の行にカーソルを合わせ、 - -@table @kbd -@item [prefix] > - @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントアウト -@item [prefix] < - @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントを外す -@end table - -@noindent -とすることで、@code{\begin〜\end}で囲まれる環境全てに対してコメント操作し、 - -@table @kbd -@item [prefix] . - @dots{} @code{\begin@{@}} と @code{\end@{@}} をコメントアウト -@item [prefix] , - @dots{} @code{\begin@{@}} と @code{\end@{@}} のコメントを外す -@end table - -は、対応する @code{\begin} と @code{\end} 2行だけを、コメント操作の対象と -します。リジョンをコメントアウトしようとして、マークを設定したのちにカーソ -ルを移動し@kbd{[preifx] >} を押してもカーソルが @code{\begin@{@}} の上にあ -ると@code{\begin@{@}}〜@code{\end@{@}}モードでコメント機能が働いてしまうの -で注意して下さい。 - -@node Cursor jump, Modifying/Deleting, Commenting out, Top -@comment node-name, next, previous, up -@chapter カーソルジャンプ -@cindex カーソルジャンプ[かあそるしやんふ] -@cindex prefix g - - -@menu -* 対応オブジェクトへのジャンプ:: -* お絵描きツール起動:: -* メインファイルへのジャンプ:: -* 環境を単位としたジャンプ:: -* 最後の補完位置へのジャンプ:: -@end menu - -@node 対応オブジェクトへのジャンプ, お絵描きツール起動, Cursor jump, Cursor jump -@comment node-name, next, previous, up -@section 対応オブジェクトへのジャンプ - - 文書中のいろいろな場所で - -@table @kbd -@item [prefix] g - @dots{} 対応するオブジェクトにジャンプ -@end table - -@noindent -を押すことにより、カーソル位置のLa@TeX{}コマンドに対応する場所にジャンプ -します。対応関係が存在すると解釈されるコマンドには以下のものがあります。 - -@itemize @bullet -@item @code{\begin@{@}} ←→ @code{\end@{@}} -@item @code{%#BEGIN} ←→ @code{%#END} -@item 画像ファイルの取り込みマクロ → 対応するviewer/お絵かきツール起動 -@item @code{\label@{@}} ←→ @code{\ref@{@}} -@item @code{\include(\input)} → 対応するファイル -@item @code{\bibitem@{@}} ←→ @code{\cite@{@}} -@end itemize - - @code{\begin@{@}} か @code{\end@{@}} の行で@kbd{[prefix] g}を押すことに -より、対応する@code{end/begin}の行にジャンプします。もちろん対応するものが -ない場合はエラーになります。またこれは、領域固定のための @code{%#BEGIN} と -@code{%#END} のペアに対しても同様に動作します。なお、@code{label/ref}や -@code{cite/bibitem}対応するものが別ファイルにある時は、ジャンプ先となるファ -イルがオープンされていなければなりません。@xref{%#notation}. -メインの .tex ファイルの @code{\include@{chap1@}} などにカーソルを合わせ、 -@kbd{[prefix] g} を押すと、@file{chap1.tex} にジャンプします。 - -また、 - -@table @kbd -@item [prefix] 4 g - @dots{} 別ウィンドウで対応オブジェクトにジャンプ -@end table - -@noindent -を押すと、対応するオブジェクトへのジャンプを別ウィンドウで行います。ただし、 -この機能は @code{begin/end}, @code{%#BEGIN/%#END} 間のジャンプに対しては -(意味がないと思われるので)機能しないので注意してください。 - -@node お絵描きツール起動, メインファイルへのジャンプ, 対応オブジェクトへのジャンプ, Cursor jump -@comment node-name, next, previous, up -@section お絵描きツール起動 -@cindex お絵描きツール起動[おえかきつうるきとう] - -上記の「画像ファイルの取り込みマクロ」とは、例えば -@code{\epsfile@{file=foo@}} のような挿絵取り込みコマンドのことで、この行に -カーソルを合わせて@kbd{[prefix] g}を押すとその画像ファイルの元となったファ -イルを対応するお絵描きツールを起動してオープンします。起動するツールの判定 -は以下のようになされます。 - -@enumerate -@item -カレント行が変数 @code{YaTeX-processed-file-regexp-alist} に定義さ -れている正規表現のいずれかとマッチしたら、ファイル名に相当する部分を -\\(\\)から抜き出して覚えておく(何番目の\\(\\)かは変数の各リストの cdr 部に -入れておく)。マッチしなければ何もしない。 -@item -行末に、変数 @code{YaTeX-file-processor-alist} に登録されているコマンドが -「%コマンド」 のように書いてあれば強制的に「コマンド ファイル名.拡張子」を -起動。 -@item -なければ、変数 @code{YaTeX-file-processor-alist} の各リストのcdr部に入って -いる拡張子を「ファイル名」の後ろに足したファイルが存在するか順次調べて、存 -在した場合car部に入っているコマンドを起動する。 -@item -以上どれかにマッチしなければあきらめる。 -@end enumerate - - -変数 @code{YaTeX-file-processor-alist} と変数 -@code{YaTeX-file-processor-alist} の設定方法についてはそれぞれの変数につい -て describe-variable して説明を読んで下さい。うまく設定すると、画像ファイ -ルにかぎらず、任意の形式のファイルを任意のプロセッサで処理するコマンドを簡 -単に呼び出すことができます。 - -@node メインファイルへのジャンプ, 環境を単位としたジャンプ, お絵描きツール起動, Cursor jump -@comment node-name, next, previous, up -@section メインファイルへのジャンプ - -@file{chap1.tex}のようなサブファイルで、 - -@table @kbd -@item [prefix] ^ - @dots{} メインファイルにジャンプ -@item [prefix] 4 ^ - @dots{} 別ウィンドウでメインファイルにジャンプ -@end table - -@noindent -を押すと、メインファイルの編集バッファに切替えます。もし、メインファイルを -オープンしていない場合は、カレントディレクトリから探して自動的にオープンし -ます。 - -@node 環境を単位としたジャンプ, 最後の補完位置へのジャンプ, メインファイルへのジャンプ, Cursor jump -@comment node-name, next, previous, up -@section 環境を単位としたジャンプ - -さらに現在の環境を単位として機能するコマンドに以下のものがあります。 - -@cindex 環境の先頭へ[かんきようのせんとうへ] -@cindex 環境の末尾へ[かんきようのまつひへ] -@cindex 環境をマーク[かんきようをまあく] -@cindex M-C-a -@cindex M-C-e -@cindex M-C-@@ -@table @kbd -@item M-C-a - @dots{} 環境の先頭(@code{\begin})へジャンプ -@item M-C-e - @dots{} 環境の末尾(@code{\end})へジャンプ -@item M-C-@@ - @dots{} 環境全体をマーク -@end table - -上記のコマンドは通常の@kbd{[prefix]}キーではなく@kbd{META}キーをプリフィク -スとして機能するのでご注意下さい。 - -@node 最後の補完位置へのジャンプ, , 環境を単位としたジャンプ, Cursor jump -@comment node-name, next, previous, up -@section 最後の補完位置へのジャンプ - -野鳥は補完入力した位置を常にレジスタ @code{3}に保存しています。 -入力途中で如何なるファイルの如何なる位置に行ったとしても、 -@kbd{C-x j 3}(@code{jump-to-register})を使って直ちに最後の補完入力位置に戻 -ることができます。 - -@node Modifying/Deleting, Filling, Cursor jump, Top -@comment node-name, next, previous, up -@chapter 変更/削除 -@cindex 変更/削除[へんこう/さくしよ] -@cindex prefix c -@cindex prefix k - - 既に入力されている La@TeX{} コマンドの変更/削除のために以下の機能が用意 -されています。 - -@table @kbd -@item [prefix] c - @dots{} カーソル位置の La@TeX{} コマンドの変更 -@item [prefix] k - @dots{} カーソル位置の La@TeX{} コマンドの削除 -@end table - -@noindent -これらのコマンドは、コマンドを起動する場所によって動作を決定するので注意し -て下さい。 - -@menu -* Changing LaTeX command:: La@TeX{} コマンドの変更 -* Killing LaTeX command:: La@TeX{} コマンドの削除 -@end menu - -@node Changing LaTeX command, Killing LaTeX command, Modifying/Deleting, Modifying/Deleting -@comment node-name, next, previous, up -@section La@TeX{} コマンドの変更 - -変更したい La@TeX{} コマンドにカーソルを合わせて @kbd{[prefix] c} -を押すとそのコマンドを補完入力などを用いて手軽に変えることができます。 -@kbd{[prefix] c} で変更できるコマンドには以下のものがあります。 - -@itemize -@item @code{begin/end} の環境名 -@item section型コマンドのコマンド名 -@item section型コマンドの引数 -@item section型コマンドのオプションパラメータ([]で囲まれたもの) -@item large型コマンド -@item (イメージ補完で入力可能な)数式モード専用のmaketitle型コマンド -@end itemize - - 変えたいsection型コマンドの引数がさらに La@TeX{} コマンドを含む場合は、 -その引数を囲む中括弧の上で @kbd{[prefix] c} を押すことで中のコマンドを変更 -対象判定から除外することができます。 - -@cindex 環境名の変更[かんきようめいのへんこう] - -@node Killing LaTeX command, , Changing LaTeX command, Modifying/Deleting -@comment node-name, next, previous, up -@section La@TeX{} コマンドの削除 - -@kbd{[prefix] k} は起動する位置により -次のような動作を行います。 -@cindex 環境の削除[かんきようのさくしよ] - - -@example -起動位置 動作 -\begin, \endの行 @code{\begin\end}ペアの削除 -%#BEGIN, %#END の行 %#BEGIN,%#ENDペアの削除 -section型コマンドの上(中) section型コマンドの削除 -フォント指定括弧の上 フォント指定の削除 -括弧の上 対をなす括弧の削除 -@end example - -@noindent -@code{\begin, \end} および @code{%#BEGIN, %#END} を削除する場合、 -@code{\begin, \end} や @code{%#BEGIN, %#END} の存在する行は -まるごと削除されるので、それらの一行に @code{\begin} などを二つ以上連ねて -書かないように注意してください。 -上記のものはすべて本文を囲う「容器」を削除するように働きますが、 -universal-argument (@kbd{C-u}) を打った後で@kbd{[prefix] k}をタイプすると、 -それぞれの「容器」に含まれる「中身」も一気に削除します。以下の例を参考にし -て下さい。 - -@example - 元のテキスト: [prefix] k C-u [prefix] k - 本文\footnote@{脚注@}です。 本文脚注です。 本文です。 - ↑(カーソル位置) -@end example - -@node Filling, Includeonly, Modifying/Deleting, Top -@comment node-name, next, previous, up -@chapter 桁揃え -@cindex 桁揃え[けたそろえ] - -@section itemの桁揃え -@cindex itemなどの桁揃え[itemなとのけたそろえ] -@cindex prefix i - - itemize 環境中にある@code{\item}の項目(文章)が複数行に渡る場合に、項 -目の先頭を桁揃えしたい場合には、 - -@c @table @kbd -@c @item [prefix] i -@c @dots{} itemの桁揃え -@c @end table - -@table @kbd -@item M-q - @dots{} 桁揃え -@end table - -@cindex NTT-jTeX[えぬていいていいしえいてつく] -@noindent -によって、その item のインデントの深さに応じて fill されます。なお、古い -NTT jTeX を使用している場合には、Lisp 変数@code{NTT-jTeX}を@code{t}にセッ -トして下さい。 - -@cindex YaTeX-item-regexp - このとき、変数@code{YaTeX-item-regexp}の値(標準では @code{"\\\\item"})を -項目指定コマンドの正規表現として検索に使用します。itemize 環境で、独自のコ -マンドを定義して項目を列挙している場合(例えば@code{\underlineitem})は、 -@file{~/.emacs} で次のように指定して下さい。 - -@lisp - (setq YaTeX-item-regexp - "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)") -@end lisp - -@noindent -この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を -@code{@code{"\item"}で始まるものにして下さい(例えば"\itembf"})。 - -野鳥の @kbd{M-q} では @code{\item} を環境に応じて以下のように「ハングイン -デント」します。 - -@example -itemize, enumerate環境: - >\item[ほげほげ] 英語では、特に意味のない単語を `foo' であらわしま - > すが、これの日本語版ともいえる単語が「ほげほげ」 - > です。 -description環境: - > \item[へろへろ] 「ほげほげ」をでたらめが単語として使った時に、第 - > 2のでたらめな単語として「へろへろ」が使われることが多 - > いようです。 -@end example - -@section パラグラフの桁揃え -@cindex パラグラフの桁揃え[はらくらふのけたそろえ] -@cindex M-q - - itemize環境以外でのパラグラフの桁揃え(fill)は、基本的に他のモードと同じ -ように機能しますが、verbatim環境や、tabular環境など桁揃えをすると悲惨な状 -況になるような環境中では機能しません。また、\verb で括ってあるものは決して -行分割されません(変数 @code{YaTeX-verb-regexp} で制御) )。さらに、一時的に -インデントの深さを変えてある箇所では、そのインデントの先頭で@kbd{M-q}を押 -すことにより fill-prefix をいちいち変更しなくて桁揃えができます。 - - -@node Includeonly, What column, Filling, Top -@comment node-name, next, previous, up -@chapter 勝手にincludeonly -@cindex 勝手にincludeonly[かつてにincludeonly] -@cindex includeonly - - ファイルを分割して文章を入力している時には、メインファイル中に - -@example - \includeonly@{現在編集中のファイル名@} -@end example - -@noindent -のように書いておくことで、タイプセットの時間を節約できますが、ちょっと他の -ファイルを手直ししたい時には -@cindex 他のファイルの手直し[ほかのふあいるのてなおし] - -@example - \includeonly@{ちょっと手直ししたいファイル名@} -@end example - -@noindent -と書き直さなければならず手間がかかります。野鳥では現在編集しているファイル -名がメインファイルの@code{\includeonly}にない場合には自動的にこれを検出し、 -次の指示を仰ぎます。 - -@example - A)dd R)eplace %)comment? -@end example - -@noindent -現在編集中のファイルを @code{\includeonly} のリストに加えたい時には@kbd{a} -を、現在編集中のファイルだけを @code{\includeonly} にしたい時は@kbd{r}を、 -@code{\includeonly} の行をコメントアウトして無効化したい時には、@kbd{%}を -それぞれ押して下さい。 - -@node What column, Intelligent newline, Includeonly, Top -@comment node-name, next, previous, up -@chapter ここはどこ? -@cindex ここはどこ?[ここはとこ?] -@cindex prefix & -@cindex 複雑なtabular[ふくさつなtabular] - - 項目数の多い tabular などをたくさん書いていると下の方の行で、いま書いて -いる桁がどこに対応するのかわからなくなってしまうことがあります。例えば、以 -下のような tabular において、 - -@example - \begin@{tabular@}@{|c|c|c|c|c|c|c|c|@}\hline - 氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline - 矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy & - zzz-www & トンガ & 9876-54321 \\ - 日吉小僧 & 2 & \multicolumn@{2@}@{c|@}@{教えない@} - &&&(???) - \\ \hline - \end@{tabular@} -@end example - -@noindent -(???)の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時は、 - -@table @kbd -@item [prefix] & - @dots{} 現在のカラム表示 -@end table -@cindex 現在のカラム表示[けんさいのからむひようし] - -を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示しま -す。tabular/array環境の第1行目を項目名の並びとみなして対応するものを探しま -す。もし項目名として別のものを表示して欲しい場合は、行頭を@code{%}にしてダ -ミーの項目並びを作っておくと良いでしょう。 - -@node Intelligent newline, Usepackage cheker, What column, Top -@comment node-name, next, previous, up -@chapter おまかせ改行 -@cindex おまかせ改行[おまかせかいきよう] -@cindex &入力[&にゆうりよく] - - tabular[*], array, itemize, enumerate, tabbing 環境をbegin型補完で入力し -た時、または各環境内で - -@table @kbd -@item ESC RET - @dots{} おまかせ改行 -@end table - -@noindent -を押すと、その環境に応じた行エントリを次の行に挿入します(begin型補完時に自 -動挿入されたエントリが不要な場合は undo によって消去できます)。例えば、 -tabular環境では、その環境のカラム数に対応した個数の @code{&} に加え、行末 -の @code{\\} を入れます。この時それ以前に @code{\hline} があればそれも付け -加えます。環境とそれに応じて自動入力するものの対応は以下のようになります。 - -@itemize -@item @code{tabular}, @code{tabular*}, @code{array} - - カラム数-1 だけの @code{&} と @code{\\}。必要に応じて @code{\hline} - -@item @code{tabbing} - - 一行目で定義している @code{\=} と同じ個数の @code{\>}。 - -@item @code{itemize}, @code{enumerate}, @code{description}, @code{list} - - @code{\item} または @code{item[]} -@end itemize - - tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動作す -るので、なるべく二行目以降で呼び出すようにしてください。 - - もし、その他の環境、例えば @code{foo}、に対して@code{おまかせ改行}を動作 -させたい時は、@code{YaTeX-intelligent-newline-foo} という名前の関数を定義 -します。定義した関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれま -す。関数 @code{YaTeX-indent-line} を呼ぶと現在の環境のネストに応じた深さに -インデントされるので、これを呼んでから何かを挿入するようなコードを書くとよ -いでしょう。@file{yatexenv.el}内の関数 -@code{YaTeX-intelligent-newline-itemize} の定義などを参考にしてください。 - - -@node Usepackage cheker, Changing mode of YaTeX, Intelligent newline, Top -@comment node-name, next, previous, up -@chapter 先回りusepackage -@cindex 先回りusepackage[さきまわり] - - begin型、section型、maketitle型、いずれかのLaTeX2eマクロを補完入力すると、 -そのマクロの利用に外部パッケージを必要とする場合、そのパッケージを -本文中で @code{\usepackage@{@}} しているかどうかを調査し、もししていなければ -プリアンブルに対応するパッケージを引数にした @code{\usepackage} 文を -(確認後に)挿入します。 - - ただしこの機能が働くためには、パッケージ名とその中で定義されているマクロ -群をalistの形式で変数 @code{YaTeX-package-alist-private} に設定しておく必 -要があります。 - -@node Changing mode of YaTeX, Online help, Usepackage cheker, Top -@comment node-name, next, previous, up -@chapter 野鳥の動作モード切り替え -@cindex モード切り替え[もうときりかえ] -@cindex prefix w - -@table @kbd -@item [prefix] w - @dots{} 野鳥動作モード切り替えメニュー -@end table - -@noindent -で野鳥自身の動作を決定する以下のモードを切り替えます。 - -@itemize @bullet -@item 修正モード -@item 野鳥数式モード -@end itemize - -修正モードは、開き括弧入力時の処理をコントロールし、修正モードONの時は開き -括弧の入力は開き括弧のみの入力になり、修正モードOFFの時は開き括弧の入力だ -けで閉じ括弧まで入力します。デフォルト(起動時)の設定は@emph{OFF}です。 - - 野鳥数式モードは、変数 @code{YaTeX-auto-math-mode} が @code{nil} の時の -み有効で、このとき@kbd{;}や@kbd{:}を押した時(@ref{Image completion}参照)に、 -どのようなイメージ補完を機能させるか、通常のキーとして機能させるかを手動で -切り替えます。自動判定が遅いマシンでは@code{YaTeX-auto-math-mode} -@code{nil}にセットし、野鳥数式モードを手動で切り替えると良いでしょう。 - - -@node Online help, Inclusion hierarchy browser, Changing mode of YaTeX, Top -@comment node-name, next, previous, up -@chapter オンラインヘルプ -@cindex オンラインヘルプ[おんらいんへるふ] -@cindex apropos -@cindex キーワード検索[きいわあとけんさく] -@cindex prefix ? -@cindex prefix / - - 使おうとする La@TeX{} コマンドの用法がよく分からない時は、オンラインヘル -プをひきましょう。ヘルプに関するキーには以下のものがあります。 - -@table @kbd -@item [prefix] ? - @dots{} オンラインヘルプ -@item [prefix] / - @dots{} オンラインapropos -@end table - -@section オンラインヘルプ -@cindex グローバルヘルプ[くろおはるへるふ] -@cindex プライベートヘルプ[ふらいへえとへるふ] -@cindex YaTeX-help-file -@cindex YaTeX-help-file-private - - 「オンラインヘルプ」は、一般的な La@TeX{} コマンド(デフォルトでカーソル -位置のコマンド)に対する説明を隣のバッファに表示します。この時参照されるヘ -ルプ用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二種類があ -り、前者は La@TeX{} の標準コマンドの主なものの説明を含むファイルで、変数 -@code{YaTeX-help-file}の値で指定されます。このファイルは通常公共の場所(デ -フォルトで@code{$EMACSEXECPATH})に置かれ、誰もがその内容を更新できるように -全員に書き込み権が与えられるべきものです。後者は、非標準もしくは個人的なマ -クロ定義に関する説明が書かれているファイルで、変数 -@code{YaTeX-help-file-private}の値で指定されます。こちらはユーザのホームディ -レクトリの下などに置かれます。 - -@section オンラインapropos - - 「オンラインapropos」は GNU Emacs の apropos と同様、ユーザが指定したキー -ワードを説明文に含む項目すべてを隣のバッファに表示します。 - - もし、調べようとしたLa@TeX{}コマンドに対する説明がヘルプファイル中に見つ -からなかった場合は、説明文の入力を求めてくるので、可能であれば参考書などを -調べてそのコマンドの説明を入力してください。もし、なにか標準的なコマンドに -対する説明を書いたならばぜひ私までその説明をお送り下さい。次回の配布に含め -たいと思います。 - -@node Inclusion hierarchy browser, Cooperation with other packages, Online help, Top -@comment node-name, next, previous, up -@chapter インクルード構造ブラウザ -@cindex インクルード構造[いんくるうとこうそう] -@cindex prefix d - -複数のファイルに分割しているドキュメントを書いている場合、 - -@table @kbd -@item [prefix] d - @dots{} インクルード構造ブラウズ -@end table - -@noindent -を押すと、そのドキュメントの親ファイルを聞いて来ます。ここで全てのファイル -の親となるファイル(デフォルトが示されているので大抵はRETのみ)を入力すると -インクルードしている全てのファイルを解析し、インクルード状況を視覚的に表示 -します。このバッファでは以下のキー操作が有効です。 - -@table @kbd -@item n - @dots{} 次の行に移動し対応するファイルを隣のバッファに表示 -@item p - @dots{} 上の行に移動し対応するファイルを隣のバッファに表示 -@item N - @dots{} 同じインクルードレベルの次のファイルに移動 -@item P - @dots{} 同じインクルードレベルの前のファイルに移動 -@item j - @dots{} 次の行に移動 -@item k - @dots{} 上の行に移動 -@item u - @dots{} 一代親にあたるファイルに移動 -@item . - @dots{} カーソル位置のファイルを隣のバッファに表示 -@item SPC - @dots{} 隣のバッファの対応ファイルをスクロールアップ -@item DEL, b - @dots{} 隣のバッファの対応ファイルをスクロールダウン -@item < - @dots{} 隣のバッファの対応ファイルの先頭を表示 -@item > - @dots{} 隣のバッファの対応ファイルの末尾を表示 -@item ' - @dots{} (@kbd{<}や@kbd{>}の後で)元の表示位置に戻る -@item RET, g - @dots{} カーソル位置のファイルを隣のバッファでオープン -@item mouse-2 - @dots{} RETと同じ(ウィンドウ使用時のみ) -@item o - @dots{} 隣のウィンドウに移動 -@item 1 - @dots{} 他のウィンドウを消す -@item - - @dots{} ブラウズウィンドウを小さくする -@item + - @dots{} ブラウズウィンドウを大きくする -@item ? - @dots{} ヘルプ表示 -@item q - @dots{} 表示前の状態に戻る -@end table - - ただし、隣のウィンドウのファイルの内容を表示する機能に関しては、対応する -ファイルをクローズしてしまうとうまく働きませんのでご注意ください。 - -@node Cooperation with other packages, Customizations, Inclusion hierarchy browser, Top -@comment node-name, next, previous, up -@chapter 他パッケージとの連携 -@cindex 他パッケージとの連携[たはつけえしとのれんけい] - -@section gmhist -@cindex gmhist -@cindex コマンドヒストリ[こまんとひすとり] -@cindex ヒストリ[ひすとり] - - @file{gmhist.el}と@file{gmhist-mh.el} をロードしている場合、プレヴューコ -マンドの入力(@kbd{[prefix] tp]})、印刷コマンドの入力(@kbd{[prefix] tl})の -時に独立したヒストリを利用できます。それぞれのプロンプトで、@kbd{M-p} を押 -すと直前に利用したコマンド文字列をくり返し呼び出すことができます。 - -@section min-out -@cindex min-out - - @file{min-out.el} (@code{outline-minor-mode}) と野鳥を組み合わせて使うこ -とももちろん可能です。設定の方法に関しては@file{yatexm-o.el}をご覧ください。 - -@node Customizations, Etc, Cooperation with other packages, Top -@comment node-name, next, previous, up -@chapter カスタマイズ -@cindex カスタマイズ[かすたまいす] -@cindex キーアサイン[きいあさいん] - - 野鳥の動作を制御する種々の変数を独自に設定することにより、補完入 -力を起動するキーアサインを変えたり、環境名の補完候補をさらに充実さ -せることなどができます。 - -@menu -* Lisp variables:: lisp 変数 -* Add-in functions:: 付加関数(アドイン関数) -@end menu - -@node Lisp variables, Add-in functions, Customizations, Customizations -@comment node-name, next, previous, up -@section lisp 変数 -@cindex prefixキー変更[prefixきいへんこう] - - 例えば prefix キーを @kbd{C-c} 以外のキーにしたい場合は、 -@code{YaTeX-prefix}に prefix キーにしたいシンボルを定義してください。さら -に、「@kbd{C-c 英字}」というキーバインドは独自の関数が割り当ててあるので使 -いたくない。このような時は、@code{YaTeX-inhibit-prefix-letter} を @code{t} -に設定することにより、@kbd{C-c 英字…}のバインドが全て、対応する@kbd{C-c -C-英字…}に変わります(ただし、begin型 large型補完の大文字起動によるリジョ -ン指定は可能なままです。これも無効にしたい場合は@code{t}ではなく 1 にセッ -トして下さい。)。 - -@menu -* All customizable variables:: カスタマイズ変数一覧 -* Sample definitions:: カスタマイズ変数設定例 -* Hook variables:: hook変数 -* Hook file:: hook用ファイル -@end menu - -@node All customizable variables, Sample definitions, Lisp variables, Lisp variables -@comment node-name, next, previous, up -@subsection カスタマイズ変数一覧 -@cindex カスタマイズ変数一覧[かすたまいすへんすういちらん] - - yatex-mode における次の変数がカスタマイズ可能です。@file{~/.emacs} で -@code{setq} しておけば、そちらの定義が優先されます。括弧の中はデフォルト値 -です。実際に変数の値を変更する場合は @kbd{M-x describe-variable} で -変数の詳細な説明を参照してください。 - -@defvar YaTeX-prefix -yatex-mode 中のプリフィクスキー (@kbd{\C-c}) -@end defvar - -@defvar YaTeX-inhibit-prefix-letter -prefix キーの直後のキーバインドで @kbd{英字} のものを @kbd{C-英字} に変更 -(@code{nil}) -@end defvar - -@defvar YaTeX-fill-prefix -本文を書く時の行頭に挿入する接頭辞すなわち fill-prefix (@code{""(nil)}) -@end defvar - -@defvar YaTeX-user-completion-table -学習したLa@TeX{}コマンド保存ファイル名 (@code{"~/.yatexrc"}) -@end defvar - -@defvar YaTeX-kanji-code -文書を作成する時の漢字コード -nil=既存のコードのまま 0=no-conversion 1=Shift JIS, -2=JIS, 3=EUC, 4=UTF-8 (2 (MS-DOSでは1)) -@end defvar - -@defvar tex-command +\def\lang{jp} % -*- texinfo -*- for Texinfo V.3.1 +\input texinfo +@setfilename yatexj +@settitle Yet Another tex-mode for Emacs +@direntry +* YaTeX: (yatexj). Yet Another tex-mode for Emacs (Japanese). +@end direntry + +@iftex +@c @syncodeindex fn cp +@c いつも忘れるのでここに書いとくか。 +@c C-l C-c n でノード入れ +@c ノードいじったら C-l C-u C-n 全部のノード更新 C-l C-u C-e +@c メニュー増やしたら C-l C-u C-m 全部のメニュー更新 C-l C-u C-a +@c フォーマットするときは C-l C-e C-b +@c Last modified Fri May 11 15:40:21 2012 on firestorm +@syncodeindex vr cp +@end iftex + +@titlepage +@sp 10 +@center +@subtitle Yet Another tex-mode for emacs +@title 『野鳥』 +@subtitle // YaTeX // +@author @copyright{} 1991-2012 by HIROSE, Yuuji [yuuji@@yatex.org] +@end titlepage + +@node Top, Intro, (dir), (dir) +@comment node-name, next, previous, up + +@menu +* Intro:: はじめに +* Terminology:: マニュアル参照上の注意 +* Main features:: 主な機能 +* Installation:: インストール +* Invocation:: プロセス起動 +* %#notation :: %#記法 +* Completion:: 補完入力 +* Local dictionary:: ローカル辞書 +* Commenting out:: コメントアウト +* Cursor jump:: カーソルジャンプ +* Modifying/Deleting:: LaTeXコマンドの変更/削除 +* Filling:: 桁揃え +* Includeonly:: 勝手に includeonly +* What column:: カラム位置ガイド +* Intelligent newline:: おまかせ改行 +* Usepackage cheker:: 先回りusepackage +* Changing mode of YaTeX:: 野鳥動作モード変更 +* Online help:: LaTeXオンラインヘルプ +* Inclusion hierarchy browser:: ファイル分割階層構造の表示 +* Cooperation with other packages:: 他パッケージとの連携 +* Customizations:: カスタマイズ +* Etc:: その他 +* Copying:: 取り扱い +* Concept Index:: 索引 + +@end menu + +@node Intro, Terminology, Top, Top +@comment node-name, next, previous, up +@chapter はじめに +@cindex Demacs +@cindex Mule +@cindex LaTeX +@cindex やちょう[やちよう] + + 野鳥は、GNU Emacs で La@TeX{} 用の文書を作成する時に pLa@TeX{} などの +タイプセットコマンドや、プレヴューアの起動を Emacs 編集画面中から +行えるようにすると共に、拡張性の高い種々の補完機能によりソーステキ +ストの編集を支援します。さらに La@TeX{} コマンドのオンラインヘルプに +よりマニュアルを調べる手間を軽減します。 + + English manual @xref{Top, , , yatexe,YaTeX English info}. + +@node Terminology, Main features, Intro, Top +@comment node-name, next, previous, up +@chapter 本マニュアル参照上の注意 + + 本マニュアルでは以下の表記を用います。 + +@itemize @bullet +@item +begin型コマンド + +@code{\begin@{環境@} 〜 \end@{環境@}}という形式のLaTeXコマンドを指します。 +begin型コマンドを補完入力することをbegin型補完と呼びます。 + +@item +section型コマンド + +@code{\section@{タイトル@}}や@code{\mbox@{内容@}}のように +引数を取るLaTeXコマンドを指します。 + +@item +maketitle型コマンド + +@code{\maketitle}や@code{\tableofcontents}のように引数を取らないLaTeXコマ +ンドを指します。 + +@item +large型コマンド + +@code{@{\large ...@}} や @code{@{\tt ...@}} のようなフォント/サイズ指定子 +を指します。 + +@item @kbd{[prefix]} + +野鳥の機能を呼び出すためのプリフィクスキー。デフォルトでは@kbd{C-c}に割り +当てられているので、特に変更していない場合本マニュアルの @kbd{[prefix]} と +いう表記は、@kbd{C-c} と読み換えてください。 +@end itemize + +@node Main features, Installation, Terminology, Top +@comment node-name, next, previous, up +@chapter 主な機能 + +@itemize @bullet +@item タイプセッタやプレヴューアなどの編集画面からの起動(@kbd{C-c t}) +@item カーソル位置によらない固定リジョンの部分タイプセット +@item \includeonlyのワンタッチ更新 +@item エラー箇所への自動ジャンプ(@kbd{C-c '}) +@item @code{\begin@{@}, \end@{@}, \section...} などの La@TeX{} +コマンドの補完入力 +(@kbd{C-c b}, @kbd{C-c s}, @kbd{C-c l}, @kbd{C-c m}) +@item 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完 +(@kbd{C-u} +通常補完キー) +@item セクション区切り入力時の文書構造アウトライン表示 +@item セクションコマンドの一括シフト (@ref{view-sectioning}) +@item 補完辞書の学習 +@item La@TeX{} の環境やコマンドに応じたガイド付き引数入力 +@item 野鳥にないガイド付き引数入力関数の自動生成(@file{yatexgen.el}) +@item La@TeX{} コマンドの削除/変更(@kbd{C-c k}, @kbd{C-c c}) +@item ファイル間、@code{\begin}<->@code{\end}間、 + @code{\ref}<->@code{\label}間、 + @code{\cite}<->@code{\bibitem}ジャンプ(@kbd{C-c g}) +@item 一括コメントアウト/アンコメントアウト + (@kbd{C-c >}, @kbd{C-c <}, @kbd{C-c ,}, @kbd{C-c .}) +@item アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援 + (@kbd{C-c a}, @kbd{;}, @kbd{/}) +@item tabular/array環境のカラム位置ガイド +@item 標準的 La@TeX{} コマンドのオンラインヘルプ(@kbd{C-c ?}, @kbd{C-c /}) +@item ドキュメントのインクルード構造の視覚的表示とバッファ切り替え +(@kbd{C-c d}) +@item 補完入力したマクロに応じて必要な \userpackage を入れてくれる先回り +userpackage +@item \labelを打つことはもう忘れよう! refやcite補完入力で自動生成します +@end itemize + +@node Installation, Invocation, Main features, Top +@comment node-name, next, previous, up +@chapter 起動法 +@cindex Install +@cindex インストール[いんすとおる] +@cindex .emacs +@cindex auto-mode-alist +@cindex autoload +@section 野鳥起動のための設定 + + ~/.emacsに下の2項目を加えます。 + +@lisp +(setq auto-mode-alist + (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) +(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) +@end lisp + +次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に加えます。 +たとえば、 @file{~/src/emacs/yatex}に置くのであれば、 + +@lisp +(setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path)) +@end lisp + +@noindent +などとします。 + + 以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野鳥が +ロードされます。野鳥が正常に起動できたときはモードラインの表示が「やてふ」 +に変わります。 + +@section タイプセッタ/プレヴューア環境の設定 + + 利用する外部プログラムに関する以下の変数を確認し、必要なら正しい値に変更 +します。 +@table @code +@item tex-command + @dots{} 起動するタイプセッタのコマンド名 +@item dvi2-command + @dots{} 起動するプレヴューアのコマンド名 +@item NTT-jTeX + @dots{} 改行+インデントによって、タイプセット後の字間が空いてしま + うのを抑制する場合にtにする(古いNTT-jTeXで顕著に現れる)。具体的には、 + fillするときに各行の終わりに%を付加するようになる。 +@item YaTeX-kanji-code + @dots{} 文書を作成する時の漢字コード +@item dviprint-command-format + @dots{} ファイルの印刷に使われるコマンド列の書式 +@item makeindex-command + @dots{} makeindexコマンド +@end table + +これらを変更する場合は、やはり@file{~/.emacs}にて、たとえば +@lisp +(setq tex-command "pdflatex") +@end lisp +のようにしてください。どのような値をセットすれば良いかについては、 +@ref{All customizable variables}を参照してください。 + + +@node Invocation, %#notation , Installation, Top +@comment node-name, next, previous, up +@chapter latexコマンド起動 +@cindex prefix key +@cindex C-c +@cindex タイプセッタ[たいふせつた] +@cindex プレヴューア[ふれひゆうあ] +@cindex jlatex +@cindex platex +@cindex プリントアウト[ふりんとあうと] + +LaTeXソースの編集中、次のキー入力により、platex などのタイプセットプログラ +ム(以後タイプセッタと呼ぶ)、プレヴューアなどの起動ができます。 + +@table @kbd +@item [prefix] t j + @dots{} タイプセッタ(platex)起動 +@item [prefix] t r + @dots{} タイプセッタ起動(領域指定) +@item [prefix] t e + @dots{} タイプセッタ起動 + (ポイント位置の環境または数式モードのみ対象) +@item [prefix] t k + @dots{} 動作中のタイプセッタの停止 +@item [prefix] t b + @dots{} jbibtex起動 +@item [prefix] t i + @dots{} makeindex起動 +@item [prefix] t d + @dots{} タイプセット完了後dvipdfmx起動 +@item [prefix] t p + @dots{} プレヴューア起動 +@item [prefix] t l + @dots{} lpr(プリントアウト用)コマンド起動 +@item [prefix] t s + @dots{} xdvi -remote でのサーチ +@end table + +@menu +* Calling typesetter:: タイプセッタ起動 +* Calling previewer:: プレヴューア起動 +* Print out:: プリントアウト用コマンドの起動 +@end menu + +@node Calling typesetter, Calling previewer, Invocation, Invocation +@comment node-name, next, previous, up +@section タイプセッタ起動 +@cindex タイプセッタ起動[たいふせつたきとう] +@cindex タイプセットエラー[たいふせつとえらあ] +@cindex エラー修正[えらあしゆうせい] + + タイプセッタを起動すると、編集ウィンドウが2つに分割され、片方のウィンド +ウにタイプセット画面が表示されます。出力されるメッセージと連動しタイプセッ +トバッファは自動的にスクロールします。もし、途中でエラーが起こって止まって +しまった場合にはタイプセットバッファに移り、(@kbd{C-x o}) タイプセッタの出 +している ? プロンプトに対して、@kbd{x} (処理の中断)などの指示を送ることが +できます。エラーを修正する場合は、 + +@table @kbd +@item [prefix] ' +@itemx (prefix+アポストロフィ) + @dots{} 直前のエラー発生行へジャンプ +@end table + +を入力することにより、タイプセッタがエラーを発生した行に移ることができます。 +また、タイプセッタの出力する overfull hbox などのウォーニング行にも対応し +ていますので、順次 @kbd{[prefix] '} を押すことにより、一つ前のウォーニング +発生行にジャンプしていきます。 + + もし、気になるエラー行があった場合は、タイプセットバッファで、エ +ラーの表示されている行にカーソルを合わせスペースキーを押すと La@TeX{} +ソースの対応する行にジャンプします。 + +@subsection 領域タイプセット + + ポイントとマークの間、あるいはテキスト中に埋め込んだ @code{%#BEGIN} と +@code{%#END}の間の領域(@ref{%#notation})だけを切り取ってタイプセットすることが +できます。この場合メインファイルのプリアンブルが一時ファイルの +プリアンブルとして使われます。したがってプリアンブルにないマクロ定義が +領域内にあるとエラーになります。領域タイプセットを使う場合、 +必ずマクロ定義はプリアンブル(@code{\begin@{document@}}より前)に置くよう +にして下さい。一時ファイルはメインファイルのある +ディレクトリの@file{texput.tex}という名前で出力されるので、 +上書きには注意してください。 + +@subsection 環境タイプセット + + @kbd{[prefix] te} を押すと、ポイント位置の最も内側の環境、または数式モー +ド内の場合はその数式モード全体が自動的に領域選択されて、領域タイプセットを +呼び出します。tabular環境や数式モードで複雑なものを作っている場合は確かめた +い部分だけを確認できるので便利です。これも @file{texput.tex} に該当部分を +書き出します。プレヴューアで @file{texput.dvi} を開いたままにしておけば +修正と確認が素早くできるでしょう。 + +@node Calling previewer, Print out, Calling typesetter, Invocation +@comment node-name, next, previous, up +@section プレヴューア起動 + @kbd{[prefix] t p} によりプレヴューアの起動ができます。さらに、もしあな +たが、-remote 機能つきのxdviを利用している場合は @kbd{[prefix] t s} を押す +ことによりカーソル位置の文字列を検索してそのページを表示するようにすでに起 +動中のxdviに命令を送ります。これにより、現在編集中の箇所のタイプセット結果 +を即座に見ることができます。 + +@c なお、-remote 機能付きの xdvi は +@c @code{ftp://ftp.ae.keio.ac.jp/pub/text/xdvi/xdvi-remote} +@c などから入手することができます。 + +@node Print out, , Calling previewer, Invocation +@comment node-name, next, previous, up +@section プリントアウト + + @kbd{[prefix] t l}を押してプリントアウトを指示すると、出力開始/終了ペー +ジを聞いてくるので、それぞれに答えます。これを省略したい時は、 +universal-argument をつけ、 + +@cindex 出力開始ページ[しゆつりよくかいしへえし] +@cindex 出力終了ページ[しゆつりよくしゆうりようへえし] + +@table @kbd +@item C-u [prefix] t l + @dots{} ページ確認省略lpr起動 +@end table +@cindex ページ確認省略lpr起動[へえしかくにんしようりやくlprきとう] + +@noindent +のように起動してください。 + +@node %#notation , Completion, Invocation, Top +@comment node-name, next, previous, up +@chapter %#記法 + + 本文中に@code{%#}ではじまるキーワードを埋め込むことでタイプセッタ起動等 +の制御をすることができます。 + +@menu +* Changing typesetter:: タイプセット用コマンドの変更 +* Splitting input files:: 入力ファイル分割 +* Fix region for typesetting:: 領域の固定 +* lpr format:: プリントアウトコマンド用フォーマット +* Controlling which command to invoke:: その他の起動コマンド制御 +* Editing %# notation:: %#記法の編集 +@end menu + +@node Changing typesetter, Splitting input files, %#notation , %#notation +@comment node-name, next, previous, up +@section タイプセット用コマンド変更 + + 起動するコマンドを変えたい時は本文中に次のような行を書きます。 + +@cindex 起動するコマンドを変える[きとうするこまんとをかえる] + +@example + %#!jlatex-ntt +@end example + +NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。 + +@cindex タイプセッタの使い分け[たいふせつたのつかいわけ] + +@node Splitting input files, Fix region for typesetting, Changing typesetter, %#notation +@comment node-name, next, previous, up +@section 入力ファイル分割 + +また、章毎に別ファイルの .tex を作成している場合で、@file{main.tex}から +@file{sub.tex} を @code{\include}しているような時は、@file{sub.tex}の任意の +位置に次のような行を埋め込みます。 + +@example + %#!platex main.tex +@end example + +@cindex 入力ファイル分割[にゆうりよくふあいるふんかつ] + +上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま +shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時に便 +利です。 + +@cindex ghostview + +@example + %#!platex main && dvi2ps main.dvi > main +@end example + +なお、この行の最後の単語のピリオド以前を「メインファイル」のベース +ネームであると仮定します(上の2つの場合どちらも@file{main})。 +この行に記述した、@code{%f}はメインファイル名に、 +@code{%r} はメインファイルの拡張子を取り除いた部分に置換されます。 +ただし、@code{%f,%r}を利用した場合、初回タイプセット時に必ずメインファイル +名の入力を促されます。 + + @kbd{[prefix] g} (@ref{Cursor jump}参照) での +ファイル間ジャンプを有効に機能させるため、入力ファイル分割時には次のことに +注意して下さい。 + +@enumerate +@item +サブディレクトリを作って、その中にサブファイルを置くことはできるが +サブディレクトリのサブディレクトリには置けない。 +@item +メインファイルからサブディレクトリ内のファイルを include する時には、 +相対パス指定を用いて、 +@code{\include@{chap1/sub@}}のように記述。 +@item +メインファイルが一つ上のディレクトリにある場合も、サブファイルには +%#!platex main.tex のように記述する(../mainではない)。 +@end enumerate + + + +@node Fix region for typesetting, lpr format, Splitting input files, %#notation +@comment node-name, next, previous, up +@section 領域の固定 +@cindex 固定領域のタイプセット[こていりよういきのたいふせつと] +@cindex %#BEGIN +@cindex %#END + + @kbd{[prefix] tr} の領域指定のタイプセットでは、とくに指定のないかぎり、 +@kbd{C-SPC}でマークした位置と、ポイント(カーソル位置)の間を領域とみなしま +すが、必ず決まった領域をタイプセットしたい場合は、その領域を + +@example + %#BEGIN + <渡したい領域> + %#END +@end example + +@noindent +のように@code{%#BEGIN}と@code{%#END}で囲み、カーソルを「@code{%#BEGIN}以降」 +に置いてください。この時の領域決定規則をまとめると次のようになります。 + + +@enumerate +@item +カーソル位置よりバッファの先頭方向に@code{%#BEGIN}というキーワードが +ある場合 + +@enumerate +@item +@code{%#BEGIN}よりバッファの末尾方向に@code{%#END}というキーワードが見つかっ +た場合。 +@result{}@code{%#BEGIN} から、その @code{%#END} のある位置まで。 +@item +@code{%#END} が見つからなかった場合。 +@result{}バッファの最後尾まで。 +@end enumerate +@cindex 領域決定規則[りよういきけつていきそく] + +@item +カーソル位置よりバッファの先頭方向に @code{%#BEGIN} というキーワードが +見つからなかった場合。 +@result{}マーク(@kbd{C-SPC}位置)とポイント(カーソル位置)の間の領域。 +@end enumerate + + tabular 環境を何度も試行錯誤しているような場合は、@code{\begin}の前の行 +に @code{%#BEGIN} と書き、@code{\end} の次の行に @code{%#END} と書いておく +と簡単に作表結果をテストすることができます。また、長い .tex ファイルの後半 +に @code{%#BEGIN} を書いておけば、前半の部分は無視できます。このBEGINとEND +の消し忘れには十分ご注意下さい。 +@cindex 長いファイルの編集[なかいふあいるのへんしゆう] + +@c @node Require, lpr format, Fix region for typesetting, %#notation +@comment node-name, next, previous, up + +@node lpr format, Controlling which command to invoke, Fix region for typesetting, %#notation +@comment node-name, next, previous, up +@section lprフォーマット +@cindex lprふぉーまっと[lprふおおまつと] +@cindex lprフォーマット[lprふおおまつと] +@cindex lpr format + + まず、プリントアウト用コマンド列のフォーマットについて説明します。 +コマンド列フォーマットは、3つの Lisp 変数によって表現されます。デ +フォルトの dvi2ps 用のフォーマットを例に説明します。 + +@table @code +@item (1)dviprint-command-format +@code{"dvi2ps %f %t %s | lpr"} + +@item (2)dviprint-from-format +@code{"-f %b"} + +@item (3)dviprint-to-format +@code{"-t %e"} +@end table + +実際にプリントアウトする時は、(1)中の %s がファイル名に置き換えられ、%f が +(2)の内容、%t が(3)の内容に置き換えられます。その際に(2)の文字列中の %b は +「出力開始ページ」、(3)の文字列中の %e は「出力終了ページ」に置き換えられ +ます。もし、ページを指定しない時には、%f, %t 両方とも無視されます。 + + この、dviprint-command-format を臨時に変えたい時は、La@TeX{} の +ソーステキスト中の任意の場所に、 + +@example + %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2 +@end example + +@noindent +のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせないよう +にする時に + +@example + %#LPR dvi2ps %s | lpr +@end example + +@noindent +などとするのも便利かもしれません。 + +@node Controlling which command to invoke, Editing %# notation, lpr format, %#notation +@comment node-name, next, previous, up +@section その他の起動コマンド制御 +@cindex その他のコマンド制御[そのたのこまんとせいきよ] + +La@TeX{} 文書に関連するコマンドは以下の %# 記法で指定することができます。 + +@table @code + @item %#BIBTEX + @dots{} makeindexを行なうコマンドライン([prefix] t b) + @item %#MAKEINDEX + @dots{} bibtexを行なうコマンドライン([prefix] t i) +@end table + +行頭がこれらのキーワードで始まる行をLa@TeX{}文書の先頭付近に書いておけば、 +それで指定したコマンドを起動できます。 + +@node Editing %# notation, , Controlling which command to invoke, %#notation +@comment node-name, next, previous, up +@section %#記法自体の編集 +@cindex %#記法自体の編集[%#きほうしたいのへんしゆう] + +以上のような@code{%#}で始まる各種制御記法を編集するためには + +@table @kbd +@item [prefix] % + @dots{} @code{%#}@var{記法編集メニュー} +@end table + +@noindent +を押します。 + +@example + !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR +@end example + +@noindent +というメニューが出て来るので、@code{%#!}に続くコマンドを変更したい時には +@kbd{!}を、@code{%#LPR}で lpr フォーマットを変えたい時は@kbd{l}を、あらか +じめ設定したリジョンを @code{%#BEGIN} 〜 @code{%#END} で括りたい時は、 +@kbd{b}を押します。@kbd{b}を選んだ時には、それまでバッファ中に置かれていた +@code{%#BEGIN}, @code{%#END} が自動的に消去されます。 +@cindex lprフォーマットの変更[lprふおおまつとのへんこう] + +@node Completion, Local dictionary, %#notation , Top +@comment node-name, next, previous, up +@chapter 補完入力 + + La@TeX{} での環境名などは、野鳥の補完機能を利用して能率的に入力すること +ができます。 + +@menu +* begin型補完:: +* section型補完:: +* large型補完:: +* maketitle型補完:: +* Arbitrary completion:: 随時補完 +* end補完:: +* Accent mark completion:: アクセント記号補完 +* Image completion:: 数式記号イメージ補完 +* Greek letter completion:: ギリシャ文字補完 +@end menu + +@node begin型補完, section型補完, Completion, Completion +@comment node-name, next, previous, up +@section begin型補完 +@cindex begin型補完[beginかたほかん] +@cindex 環境名の補完[かんきようめいのほかん] +@cindex prefix b + + @code{\begin@{env@}...\end@{env@}}の様な形式の入力の補完をbegin型補完と +呼ぶことにします。begin 型補完は、 + +@table @kbd +@item [prefix] b + @dots{} begin 型補完開始(標準では @kbd{C-c b}) +@end table + +@noindent +で始まります。頻繁に用いられる次の La@TeX{} 環境の補完は、[prefix] @kbd{b} +に続く次の1文字を入力するだけで、@code{\begin@{xxx@}...\end@{xxx@}}を完成 +させます。 + +@table @kbd +@item [prefix] b c + @dots{} @code{\begin@{center@}...\end@{center@}} +@item [prefix] b d + @dots{} @code{\begin@{document@}...\end@{document@}} +@item [prefix] b D + @dots{} @code{\begin@{description@}...\end@{description@}} +@item [prefix] b e + @dots{} @code{\begin@{enumerate@}...\end@{enumerate@}} +@item [prefix] b E + @dots{} @code{\begin@{equation@}...\end@{equation@}} +@item [prefix] b i + @dots{} @code{\begin@{itemize@}...\end@{itemize@}} +@item [prefix] b l + @dots{} @code{\begin@{flushleft@}...\end@{flushleft@}} +@item [prefix] b m + @dots{} @code{\begin@{minipage@}...\end@{minipage@}} +@item [prefix] b t + @dots{} @code{\begin@{tabbing@}...\end@{tabbing@}} +@item [prefix] b T + @dots{} @code{\begin@{tabular@}...\end@{tabular@}} +@item [prefix] b ^T + @dots{} @code{\begin@{table@}...\end@{table@}} +@item [prefix] b p + @dots{} @code{\begin@{picture@}...\end@{picture@}} +@item [prefix] b q + @dots{} @code{\begin@{quote@}...\end@{quote@}} +@item [prefix] b Q + @dots{} @code{\begin@{quotation@}...\end@{quotation@}} +@item [prefix] b r + @dots{} @code{\begin@{flushright@}...\end@{flushright@}} +@item [prefix] b v + @dots{} @code{\begin@{verbatim@}...\end@{verbatim@}} +@item [prefix] b V + @dots{} @code{\begin@{verse@}...\end@{verse@}} +@end table + + 上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用いて +入力します(上記の環境名も以下の補完入力可能)。 + +@table @kbd +@item [prefix] b @key{SPC} + @dots{} begin 型補完入力 +@end table + +@kbd{[prefix] b @key{SPC}} と入力すると、最下行のミニバッファに + +@example + Begin environment(default document): +@end example + +@noindent +と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出てい +るデフォルトの環境名が入力されますが、適当な環境名を入力すると、 +@code{\begin@{環境名@} … \end@{環境名@}}が文書中に挿入されます。ミニバッ +ファで環境名を入力するときに、環境名の頭文字を入力し「スペース」をたたくと、 +一致する環境名が内部テーブルに存在した場合、正しい環境名に補完されるので、 +入力の手間が省けます。内部テーブルに存在しない環境名を入力した時はユーザ専 +用のテーブルに登録され、さらにそのテーブルを自動的に、ユーザ辞書(デフォル +トでは @file{~/.yatexrc})に保存します。 + +さらに、特定の環境を補完入力した時にはその環境で必ず用いられるエントリを自 +動挿入します(例: @code{itemize}環境における@code{\item}など)。挿入されたエ +ントリが不要な場合にはundoによって消去して下さい。 +@cindex ユーザ辞書[ゆうさししよ] + +@subsection 既に書いたテキストを環境で括る + + ところで、最初に書いてしまったブロックを後から、itemize 環境の中 +に閉じこめたいと思うことがありますが、そのようなときは、あらかじめ +閉じこめたい段落をマークして、begin 型補完の各コマンドの @kbd{[prefix]} +の次の『小文字の 'b'』 を『大文字』に変えて起動して下さい。(または、 +@kbd{C-u} を先に打ち、universal argument をつけても可能です) +@cindex ブロック[ふろつく] +@cindex 閉じ込める[としこめる] + + 例えばあるパラグラフを description 環境の中に入れたいときは、 +そのパラグラフをマークしてから、 + +@table @kbd +@item [prefix] B D +@itemx (または ESC 1 [prefix] b D) +@itemx (または C-u [prefix] b D など) +@end table + +とタイプしてください。これは、@kbd{[prefix] b SPC}の補完入力にもあてはまり、 +@kbd{b} を大文字に変えて、@kbd{[prefix] B SPC} とタイプすれば、あらかじめ +マークしておいたリジョンを、begin と end の環境で括ります。 + +@node section型補完, large型補完, begin型補完, Completion +@comment node-name, next, previous, up +@section section型補完 +@cindex section型補完[sectionかたほかん] +@cindex prefix s + + @code{\section@{目的@}} のような形式の入力の補完を section 型補完と呼ぶこ +とにします。section 型補完は、 + +@table @kbd +@item [prefix] s + @dots{} section 型補完 +@end table + + +で実行します。@kbd{[prefix] s} を入力するとミニバッファに、 + +@example + (C-v for view-section) \???@{@} (default documentclass): +@end example + +@noindent +というプロンプトが現れるので、そこで @samp{section} のような La@TeX{} コマ +ンド名を入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択さ +れるほか、@samp{chapter}などのような頻度の高い名称入力にはスペースキーによ +る補完機能が有効です。 次に、@{@}の中身の入力を促す、 + +@example + \section@{???@}: +@end example + +@noindent +というプロンプトが現れるので、セクションのタイトルなどを入力します。 +たとえば、 + +@example + (C-v for view-section) \???@{@} (default documentclass): section + \section@{???@}: 目的 +@end example + +@noindent +のように入力した場合は、文章中に + +@example + \section@{目的@} +@end example + +@noindent +が挿入され、 + +@example + (C-v for view-section) \???@{@} (default section): vspace* + \vspace*@{???@}: +@end example + +@noindent +のように@{@}の中身を省略したときは、 + +@example + \vspace*@{@} +@end example + +@noindent +だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。 + +@menu +* 2個以上の引数をとる section型コマンド:: +* Enclose section-type command:: 括り補完 +* Recursive completion:: 再帰補完 +* view-sectioning:: セクション区切りのアウトライン表示 +* label-generation:: ラベル自動生成 +@end menu + +@node 2個以上の引数をとる section型コマンド, Enclose section-type command, section型補完, section型補完 +@comment node-name, next, previous, up +@subsection 2個以上の引数をとる section型コマンド +@cindex 引数[ひきすう] + + ところで、@samp{\addtolength@{\topmargin@}@{8mm@}} などのように、引数を二つ +以上取る La@TeX{} コマンドがあります。このようなコマンドの補完入力には、 +section 型補完呼び出しに引数を付けてください。例えば上の@samp{addtolength} +の例であれば、引数2を指定します。つまり、 + +@example + C-u 2 [prefix] s (または、ESC 2 [prefix] s) +@end example + +@noindent +と section 型補完を呼び出した後、 + +@example + (Ctrl-v for view-section) \???@{@} (default vspace*): addtolength + \addtolength@{???@}: \topmargin + Argument 2: 8mm +@end example + +@noindent +のように入力してください。最初の addtolength の部分と、第一引数である +\topmargin の入力は当然スペースによる補完入力が可能です。ユーザ辞書に登録 +される La@TeX{} コマンドには、この引数の数も学習されるので、最初の補完の時 +引数の数を指定して起動しておけば、以後の補完時には、記憶された個数だけ引数 +を聞いて来るようになります。あとで引数の個数を変えたい時は、再び @kbd{C-u} +を用いて個数を指定し直すことで、自動的に辞書中の引数の個数の部分を更新しま +す。 +@cindex 引数の個数を変える[ひきすうのこすうをかえる] + + +@node Enclose section-type command, Recursive completion, 2個以上の引数をとる section型コマンド, section型補完 +@subsection 既に書いたテキストを括る +@cindex 括る[くくる] + + また、起動コマンドの@kbd{s}を大文字に変えて起動すると、あらかじめ書 +いた文章を section 型コマンドの第一引数として括ります。 + +@node Recursive completion, view-sectioning, Enclose section-type command, section型補完 +@comment node-name, next, previous, up +@subsection 再帰補完 +@cindex 再帰補完[さいきほかん] + + 高度な使い方になるかもしれませんが、section型補完の引数の入力時にさらに +補完入力を利用することができます(section/large/maketitle型に限る)。section +型コマンドの引数に更に La@TeX{} コマンドが来る場合にはミニバッファで野鳥の +補完キーを再帰的に入力することで引数の入力も効率的に行なえます。 + +@node view-sectioning, label-generation, Recursive completion, section型補完 +@comment node-name, next, previous, up +@subsection セクション区切りのアウトライン表示 +@cindex アウトライン[あうとらいん] + + 通常のsection型補完の時にミニバッファで@kbd{C-v}を押すと現在存在するセク +ション区切りコマンド全てを @code{*Sectioning Lines*}というバッファに一覧表 +示します(「<<--」のついている行がもっとも近いセクション区切り)。この時ミニ +バッファで@kbd{C-p}, @kbd{C-n} を押すと@samp{part}, @samp{chapter}, ..., +@samp{subparagraph} のコマンドが論理階層の高さにしたがって上下します。また、 +@kbd{C-v}, @kbd{M-v} を押すとセクション区切り一覧バッファがスクロールし、 +数字の@kbd{0}〜@kbd{7}を押すとある高さ以上のセクション区切りだけを選んで表 +示します(実際にやって見れば分かります)。 + +@code{*Sectioning Lines*}バッファは、 + +@table @kbd +@item M-x YaTeX-section-overview + @dots{} セクション区切り一覧バッファを生成 +@end table + +@cindex セクション区切り一覧バッファ[せくしよんくきりいちらんはつふあ] +で作成することができます。このバッファを選択し任意の行でスペースを押すと、 +該当するセクション区切りのある本文中の場所にジャンプします。さらに、同バッ +ファで @kbd{u} を押すと、ソーステキストの対応するセクションコマンドが一階 +層上がり(例: subsection が section に変わる)、@kbd{d}を押すと一階層下がり +ます。@code{*Sectioning Lines*}バッファにあるセクション区切りの行をマーク +しておいて@kbd{U}を押すとリジョン内のものに対応するソーステキストのセクショ +ンコマンドすべてが一階層上がり、@kbd{D}を押すと下がります。セクション区切 +り一覧バッファで利用できるキーコマンドには以下のものがあります。 + +@table @kbd +@item SPC + @dots{} 対応するソース行へジャンプ +@item . + @dots{} 対応するソース行を表示 +@item u + @dots{} カーソル位置に対応するセクションコマンドを一階層上げる +@item d + @dots{} カーソル位置に対応するセクションコマンドを一階層下げる +@item U + @dots{} マークしたセクションコマンドを一階層上げる +@item D + @dots{} マークしたセクションコマンドを一階層上げる +@item 0〜6 + @dots{} レベル n 以下のセクションコマンドを隠して表示 +@end table + +@cindex 論理階層[ろんりかいそう] +@cindex セクション区切り[せくしよんくきり] +@cindex ジャンプ[しやんふ] + +@node label-generation, , view-sectioning, section型補完 +@comment node-name, next, previous, up +@subsection ラベル自動生成 +@cindex ラベル自動生成[らへるしとうせいせい] + + @code{\ref@{@}} や @code{\cite@{@}} マクロをsection型補完で入れた場合 +参照先となり得るものを全て探してメニューにして選択できます。参照先には +@code{\label@{@}}をつけておく必要はありません。もしあれば、そのラベルを +使い、なければその場で参照先に@code{\label@{@}}を作らせてくれます。 +ラベル名を考えるのは苦痛に感じるものです。全てのカウンタにラベルを +つけるのもたいへんです。もうラベル名に何をつけるか、ラベルをつけるかつけま +いか、などということは忘れましょう! + +@node large型補完, maketitle型補完, section型補完, Completion +@comment node-name, next, previous, up +@section large型補完 +@cindex large型補完[largeかたほかん] +@cindex prefix l + + @code{@{\large @}} のような形式の補完を large 型補完と呼ぶことにします。 + +@table @kbd +@item [prefix] l + @dots{} large 型補完開始 +@end table + +@noindent +がlarge型補完の開始です。@kbd{[prefix] l} を押すと、ミニバッファに + +@example + @{\??? @} (default large): +@end example + + +と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に用意 +されているのは、@samp{footnotesize} や @samp{huge} のような文字サイズ指定 +子と、@samp{bf}や@samp{dg}のようなフォント指定子です。 +@cindex 文字サイズ指定子[もしさいすしていし] +@cindex フォント指定子[ふおんとしていし] + +@subsection 既に書いた文字を括る +@cindex 括る[くくる] + + また、begin型補完の時と同様、先に書いてしまった一連の文章の文字のサイズ +を変えたいと思う時がありますが、そのような時は、サイズや大きさを変えたい文 +字の範囲をマークしてから、呼び出しキーを @kbd{[prefix] L} と、大文字の L +に変えて呼び出せば、そのリジョン全体が、ブレースで囲まれます。 + +@node maketitle型補完, Arbitrary completion, large型補完, Completion +@comment node-name, next, previous, up +@section maketitle型補完 +@cindex maketitle型補完[maketitleかたほかん] +@cindex prefix m + + @code{\maketitle} の形式の補完を maketitle 型補完と呼ぶことにします。 + +@table @kbd +@item [prefix] m + @dots{} maketitle 型補完開始 +@end table + +@noindent +で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同じで +す。La@TeX{} 用のコマンド名が補完候補として用意されています。 + +@node Arbitrary completion, end補完, maketitle型補完, Completion +@comment node-name, next, previous, up +@section 随時補完 +@cindex 随時補完[すいしほかん] +@cindex prefix SPC + + さて、今まで述べた典型的な La@TeX{} コマンド形式の補完入力を用いずに、今 +入力しようとしている La@TeX{} コマンドを文書中の任意の位置で随時補完するこ +ともできます。La@TeX{} コマンド(先頭が\で始まる)を入力している途中で、 + +@table @kbd +@item [prefix] SPC + @dots{} 随時補完 +@end table + +@noindent +を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に挿入 +されます。 + +@node end補完, Accent mark completion, Arbitrary completion, Completion +@comment node-name, next, previous, up +@section end補完 +@cindex end補完[endほかん] +@cindex prefix e + + 現在開いたままの環境名を自動的に検出し、@code{\end@{環境名@}}を挿入しま +す。begin 型補完を用いれば環境の閉じ忘れはないのですが、時にはついつい手で +@code{\begin@{環境名@}} を入れてしまい、悲しい思いをすることがあります。そ +のような時には気にせず続けて文章を入力し、しかるのちに + +@table @kbd +@item [prefix] e + @dots{} end 補完 +@end table + +@noindent +とすることで、現在開いている環境名で \end@{@} が補われます。 + +@node Accent mark completion, Image completion, end補完, Completion +@comment node-name, next, previous, up +@section アクセント記号補完 +@cindex アクセント記号補完[あくせんときこうほかん] +@cindex prefix a +@cindex 欧文[おうふん] + + 欧文のアクセント記号(@code{\`@{o@}}など)を入力する時は、 + +@table @kbd +@item [prefix] a + @dots{} アクセント記号入力 +@end table + +@noindent +を押すと、ミニバッファに + +@example + 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b +@end example + +@noindent +というメニューが出て来るので、数字、または対応する記号/英字を入力 +して下さい。すると編集バッファに、 + +@example + \`@{@} +@end example + +@noindent +が現われ、カーソルが@{@}内に位置するので、さらに一文字入力する事で、 + +@example + \`@{o@} +@end example + +@noindent +が完成され、カーソルは@{@}の外に戻ります。 + +@node Image completion, Greek letter completion, Accent mark completion, Completion +@comment node-name, next, previous, up +@section 数式記号イメージ補完 +@cindex 数式記号イメージ補完[すうしききこういめえしほかん] +@cindex イメージ補完[いめえしほかん] +@cindex ; +@cindex 数式モード[すうしきもおと] +@cindex 矢印[やしるし] +@cindex Σ[しくま] +@cindex leftarrow +@cindex ∞[むけんたい] + + 主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力 +で、La@TeX{} コマンドを入力できます。これは野鳥自身の「数式モード」でのみ +動作します。野鳥はカーソルが@TeX{}の数式環境の中にある時に@kbd{;}や、 +@kbd{:}に特殊な機能を持たせます。 + + さて、例えば、←(leftarrow)をASCII文字だけで表現する場合、一般的には「<-」 +のようにしますが、これを利用して、数式記号イメージ入力モードで +@code{\leftarrow}を入力するには、@kbd{;}(セミコロン)を打ってから@kbd{<-}と +入力します。同様に、長い矢印←-(long-leftarrow) をASCII文字だけで表現する +場合「<--」とするので、@code{\longleftarrow}を入力するためには、@kbd{;<--} +と入力します。あるいは無限大記号をASCII文字だけで表現する時は「oo」のよう +にすることから、@code{\infty} を入力する時は、@kbd{;oo}とキー入力します。 + + これらの操作をまとめると次のようになります。 + +@example +INPUT 入力される La@TeX{} コマンド +; < - @code{\leftarrow} +; < - - @code{\longleftarrow} +; < - - > @code{\longleftrightarrow} +; o @code{\circ} +; o o @code{\infty} +@end example + + + + いずれの場合も、イメージ入力を行っている途中で望みのものがバッファ +に表示されたなら、そこでイメージ入力を止めて次の編集動作に移っても +構いません。 + +@cindex ;自身[;ししん] + 数式環境中で@samp{;}自身を入力するには@kbd{;;}のようにします。イメージ +入力の途中でTABを押すと、それまで入力した文字で始まるもの一覧が表示されま +す。ここで目的の La@TeX{} コマンドまでカーソルを移動し再度TABを押すことで +その La@TeX{} コマンドがバッファに挿入されます。 + + どのキー入力にどの記号が対応しているか全て知りたい時は、@kbd{;}を押した +直後にTABを押してください。以下の例は、@kbd{;<}と押した後にTABを押したもの +です。 + +@example +KEY LaTeX sequence sign +< \leq ≦ +<< \ll 《 +<- \leftarrow ← +<= \Leftarrow <= +@end example + +左から[入力キー]、[対応する La@TeX{} コマンド]、[(擬似)記号図示]、と +いう順でメニューが出て来るので、よく使うものを覚えておくと良いでしょ +う。ものによってはASCII文字で表現することが困難なので、あまり覚え +やすいキー並びではないものがあるでしょうから、そのような場合は +\maketitle 型補完で入力するか、以下に述べる対応表の設定を行って単 +純なキー並びのものを設定すると良いでしょう。 + + 入力キーと La@TeX{} コマンド、記号の対応表を個人的に設定したい場合は +Emacs-Lisp 変数 @code{YaTeX-math-sign-alist-private} に定義してください。 +その内容とデフォルトのものを合わせたものが対応表として使用されます(private +の方が優先される)。なお、この変数の構造については @file{yatexmth.el} を参 +照してください。 +@cindex YaTeX-math-sign-alist-private + +@node Greek letter completion, , Image completion, Completion +@comment node-name, next, previous, up +@section ギリシャ文字補完 +@cindex ギリシャ文字補完[きりしやもしほかん] +@cindex : + + もう一つ、数式環境中で@kbd{:}を押すとギリシャ文字入力モードに入ります。 +@kbd{:}を押した直後に@kbd{a}を押すと@code{\alpha}が、@kbd{g} を押すと +@code{\gamma}が、などアルファベットに対応したギリシャ文字が挿入されます。 +操作方法は;の数式記号補完とまったく同じです。まずは@kbd{:}の直後に +TABを押してどのアルファベットにどのギリシャ文字が対応しているか調べてみて +ください。 + + @kbd{;}と@kbd{:}を数式環境中で押しているにもかかわらず、イメージ補完が働 +かない場合は、@kbd{C-u ;}のように universal-argument をつけてキーを押すこ +とにより、強制的にイメージ補完に入ることができます。また、この時にどのよう +な状態で数式環境内判定に失敗したかをご連絡下さい。 + +@node Local dictionary, Commenting out, Completion, Top +@comment node-name, next, previous, up +@chapter ローカル辞書 +@cindex ローカル辞書[ろおかるししよ] +@cindex .yatexrc + + 補完入力用の候補は三種類の辞書から構成されています。一つは +@file{yatex.el}に組み込まれた「標準辞書」、もう一つはユーザが個人的に常用 +するコマンドを保存する「ユーザ辞書」、そしてもうひとつはあるディレクトリで +のみ有効なコマンドを保存する「ローカル辞書」です。 + + 補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞いて +来ます。 + +@example + `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard +@end example + +@noindent +というプロンプトに対し、@kbd{u}と答えると「ユーザ辞書」を、@kbd{l}と答える +とローカル辞書を更新し、@kbd{n}と答えると辞書ファイルは更新せず現在のEmacs +セッションのみ有効な単語とし、@kbd{d}と答えると新たな単語を学習せずに捨て +ることになります。 + + もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言う場 +合には@file{~/.emacs}などで、 +@cindex YaTeX-nervous + +@lisp + (setq YaTeX-nervous nil) +@end lisp + +@noindent +として下さい。 + +@node Commenting out, Cursor jump, Local dictionary, Top +@comment node-name, next, previous, up +@chapter コメントアウト +@cindex コメントアウト[こめんとあうと] +@cindex prefix < +@cindex prefix > +@cindex prefix . +@cindex prefix , + + + La@TeX{}の編集には試行錯誤がつきものです。ある部分を一括でコメントアウト +したり、コメントを外したりしたいことがあります。 + +@table @kbd +@item [prefix] > + @dots{} リジョンを % でコメントアウト +@item [prefix] < + @dots{} リジョンの % のコメントを外す +@end table + +@noindent +は、あらかじめ設定したリジョンに対しての操作、 + +@table @kbd +@item [prefix] . + @dots{} 現在のパラグラフをコメントアウト +@item [prefix] , + @dots{} 現在のパラグラフのコメントを外す +@end table + +@noindent +は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでいう +「パラグラフ」は (@code{mark-paragraph}) 関数によりマークされる範囲を指し +ます(標準設定で@kbd{ESC h}にバインドされている)。なお、既に@code{%}でコメ +ントアウトされているパラグラフに対して繰り返しパラグラフのコメントを使用し +た場合の動作は保証しませんので御注意ください。 + + さて、文章に対してだけでなく、時には@code{\begin}, @code{\end} 自体に対 +してもコメントアウトの操作をしたいときがあります。このようなときは、 +@code{\begin@{@}} あるいは @code{\end@{@}} の行にカーソルを合わせ、 + +@table @kbd +@item [prefix] > + @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントアウト +@item [prefix] < + @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントを外す +@end table + +@noindent +とすることで、@code{\begin〜\end}で囲まれる環境全てに対してコメント操作し、 + +@table @kbd +@item [prefix] . + @dots{} @code{\begin@{@}} と @code{\end@{@}} をコメントアウト +@item [prefix] , + @dots{} @code{\begin@{@}} と @code{\end@{@}} のコメントを外す +@end table + +は、対応する @code{\begin} と @code{\end} 2行だけを、コメント操作の対象と +します。リジョンをコメントアウトしようとして、マークを設定したのちにカーソ +ルを移動し@kbd{[preifx] >} を押してもカーソルが @code{\begin@{@}} の上にあ +ると@code{\begin@{@}}〜@code{\end@{@}}モードでコメント機能が働いてしまうの +で注意して下さい。 + +@node Cursor jump, Modifying/Deleting, Commenting out, Top +@comment node-name, next, previous, up +@chapter カーソルジャンプ +@cindex カーソルジャンプ[かあそるしやんふ] +@cindex prefix g + + +@menu +* 対応オブジェクトへのジャンプ:: +* お絵描きツール起動:: +* メインファイルへのジャンプ:: +* 環境を単位としたジャンプ:: +* 最後の補完位置へのジャンプ:: +@end menu + +@node 対応オブジェクトへのジャンプ, お絵描きツール起動, Cursor jump, Cursor jump +@comment node-name, next, previous, up +@section 対応オブジェクトへのジャンプ + + 文書中のいろいろな場所で + +@table @kbd +@item [prefix] g + @dots{} 対応するオブジェクトにジャンプ +@end table + +@noindent +を押すことにより、カーソル位置のLa@TeX{}コマンドに対応する場所にジャンプ +します。対応関係が存在すると解釈されるコマンドには以下のものがあります。 + +@itemize @bullet +@item @code{\begin@{@}} ←→ @code{\end@{@}} +@item @code{%#BEGIN} ←→ @code{%#END} +@item 画像ファイルの取り込みマクロ → 対応するviewer/お絵かきツール起動 +@item @code{\label@{@}} ←→ @code{\ref@{@}} +@item @code{\include(\input)} → 対応するファイル +@item @code{\bibitem@{@}} ←→ @code{\cite@{@}} +@end itemize + + @code{\begin@{@}} か @code{\end@{@}} の行で@kbd{[prefix] g}を押すことに +より、対応する@code{end/begin}の行にジャンプします。もちろん対応するものが +ない場合はエラーになります。またこれは、領域固定のための @code{%#BEGIN} と +@code{%#END} のペアに対しても同様に動作します。なお、@code{label/ref}や +@code{cite/bibitem}対応するものが別ファイルにある時は、ジャンプ先となるファ +イルがオープンされていなければなりません。@xref{%#notation}. +メインの .tex ファイルの @code{\include@{chap1@}} などにカーソルを合わせ、 +@kbd{[prefix] g} を押すと、@file{chap1.tex} にジャンプします。 + +また、 + +@table @kbd +@item [prefix] 4 g + @dots{} 別ウィンドウで対応オブジェクトにジャンプ +@end table + +@noindent +を押すと、対応するオブジェクトへのジャンプを別ウィンドウで行います。ただし、 +この機能は @code{begin/end}, @code{%#BEGIN/%#END} 間のジャンプに対しては +(意味がないと思われるので)機能しないので注意してください。 + +@node お絵描きツール起動, メインファイルへのジャンプ, 対応オブジェクトへのジャンプ, Cursor jump +@comment node-name, next, previous, up +@section お絵描きツール起動 +@cindex お絵描きツール起動[おえかきつうるきとう] + +上記の「画像ファイルの取り込みマクロ」とは、例えば +@code{\epsfile@{file=foo@}} のような挿絵取り込みコマンドのことで、この行に +カーソルを合わせて@kbd{[prefix] g}を押すとその画像ファイルの元となったファ +イルを対応するお絵描きツールを起動してオープンします。起動するツールの判定 +は以下のようになされます。 + +@enumerate +@item +カレント行が変数 @code{YaTeX-processed-file-regexp-alist} に定義さ +れている正規表現のいずれかとマッチしたら、ファイル名に相当する部分を +\\(\\)から抜き出して覚えておく(何番目の\\(\\)かは変数の各リストの cdr 部に +入れておく)。マッチしなければ何もしない。 +@item +行末に、変数 @code{YaTeX-file-processor-alist} に登録されているコマンドが +「%コマンド」 のように書いてあれば強制的に「コマンド ファイル名.拡張子」を +起動。 +@item +なければ、変数 @code{YaTeX-file-processor-alist} の各リストのcdr部に入って +いる拡張子を「ファイル名」の後ろに足したファイルが存在するか順次調べて、存 +在した場合car部に入っているコマンドを起動する。 +@item +以上どれかにマッチしなければあきらめる。 +@end enumerate + + +変数 @code{YaTeX-file-processor-alist} と変数 +@code{YaTeX-file-processor-alist} の設定方法についてはそれぞれの変数につい +て describe-variable して説明を読んで下さい。うまく設定すると、画像ファイ +ルにかぎらず、任意の形式のファイルを任意のプロセッサで処理するコマンドを簡 +単に呼び出すことができます。 + +@node メインファイルへのジャンプ, 環境を単位としたジャンプ, お絵描きツール起動, Cursor jump +@comment node-name, next, previous, up +@section メインファイルへのジャンプ + +@file{chap1.tex}のようなサブファイルで、 + +@table @kbd +@item [prefix] ^ + @dots{} メインファイルにジャンプ +@item [prefix] 4 ^ + @dots{} 別ウィンドウでメインファイルにジャンプ +@end table + +@noindent +を押すと、メインファイルの編集バッファに切替えます。もし、メインファイルを +オープンしていない場合は、カレントディレクトリから探して自動的にオープンし +ます。 + +@node 環境を単位としたジャンプ, 最後の補完位置へのジャンプ, メインファイルへのジャンプ, Cursor jump +@comment node-name, next, previous, up +@section 環境を単位としたジャンプ + +さらに現在の環境を単位として機能するコマンドに以下のものがあります。 + +@cindex 環境の先頭へ[かんきようのせんとうへ] +@cindex 環境の末尾へ[かんきようのまつひへ] +@cindex 環境をマーク[かんきようをまあく] +@cindex M-C-a +@cindex M-C-e +@cindex M-C-@@ +@table @kbd +@item M-C-a + @dots{} 環境の先頭(@code{\begin})へジャンプ +@item M-C-e + @dots{} 環境の末尾(@code{\end})へジャンプ +@item M-C-@@ + @dots{} 環境全体をマーク +@end table + +上記のコマンドは通常の@kbd{[prefix]}キーではなく@kbd{META}キーをプリフィク +スとして機能するのでご注意下さい。 + +@node 最後の補完位置へのジャンプ, , 環境を単位としたジャンプ, Cursor jump +@comment node-name, next, previous, up +@section 最後の補完位置へのジャンプ + +野鳥は補完入力した位置を常にレジスタ @code{3}に保存しています。 +入力途中で如何なるファイルの如何なる位置に行ったとしても、 +@kbd{C-x j 3}(@code{jump-to-register})を使って直ちに最後の補完入力位置に戻 +ることができます。 + +@node Modifying/Deleting, Filling, Cursor jump, Top +@comment node-name, next, previous, up +@chapter 変更/削除 +@cindex 変更/削除[へんこう/さくしよ] +@cindex prefix c +@cindex prefix k + + 既に入力されている La@TeX{} コマンドの変更/削除のために以下の機能が用意 +されています。 + +@table @kbd +@item [prefix] c + @dots{} カーソル位置の La@TeX{} コマンドの変更 +@item [prefix] k + @dots{} カーソル位置の La@TeX{} コマンドの削除 +@end table + + +これらのコマンドは、コマンドを起動する場所によって動作を決定するので注意し +て下さい。 + +@menu +* Changing LaTeX command:: La@TeX{} コマンドの変更 +* Killing LaTeX command:: La@TeX{} コマンドの削除 +@end menu + +@node Changing LaTeX command, Killing LaTeX command, Modifying/Deleting, Modifying/Deleting +@comment node-name, next, previous, up +@section La@TeX{} コマンドの変更 + +変更したい La@TeX{} コマンドにカーソルを合わせて @kbd{[prefix] c} +を押すとそのコマンドを補完入力などを用いて手軽に変えることができます。 +@kbd{[prefix] c} で変更できるコマンドには以下のものがあります。 + +@itemize +@item @code{begin/end} の環境名 +@item section型コマンドのコマンド名 +@item section型コマンドの引数 +@item section型コマンドのオプションパラメータ([]で囲まれたもの) +@item large型コマンド +@item (イメージ補完で入力可能な)数式モード専用のmaketitle型コマンド +@end itemize + + 変えたいsection型コマンドの引数がさらに La@TeX{} コマンドを含む場合は、 +その引数を囲む中括弧の上で @kbd{[prefix] c} を押すことで中のコマンドを変更 +対象判定から除外することができます。 + +@cindex 環境名の変更[かんきようめいのへんこう] + +@node Killing LaTeX command, , Changing LaTeX command, Modifying/Deleting +@comment node-name, next, previous, up +@section La@TeX{} コマンドの削除 + +@kbd{[prefix] k} は起動する位置により +次のような動作を行います。 +@cindex 環境の削除[かんきようのさくしよ] + + +@example +起動位置 動作 +\begin, \endの行 @code{\begin\end}ペアの削除 +%#BEGIN, %#END の行 %#BEGIN,%#ENDペアの削除 +section型コマンドの上(中) section型コマンドの削除 +フォント指定括弧の上 フォント指定の削除 +括弧の上 対をなす括弧の削除 +@end example + + +@code{\begin, \end} および @code{%#BEGIN, %#END} を削除する場合、 +@code{\begin, \end} や @code{%#BEGIN, %#END} の存在する行は +まるごと削除されるので、それらの一行に @code{\begin} などを二つ以上連ねて +書かないように注意してください。 +上記のものはすべて本文を囲う「容器」を削除するように働きますが、 +universal-argument (@kbd{C-u}) を打った後で@kbd{[prefix] k}をタイプすると、 +それぞれの「容器」に含まれる「中身」も一気に削除します。以下の例を参考にし +て下さい。 + +@example + 元のテキスト: [prefix] k C-u [prefix] k + 本文\footnote@{脚注@}です。 本文脚注です。 本文です。 + ↑(カーソル位置) +@end example + +@node Filling, Includeonly, Modifying/Deleting, Top +@comment node-name, next, previous, up +@chapter 桁揃え +@cindex 桁揃え[けたそろえ] + +@section itemの桁揃え +@cindex itemなどの桁揃え[itemなとのけたそろえ] +@cindex prefix i + + itemize 環境中にある@code{\item}の項目(文章)が複数行に渡る場合に、項 +目の先頭を桁揃えしたい場合には、 + +@c @table @kbd +@c @item [prefix] i +@c @dots{} itemの桁揃え +@c @end table + +@table @kbd +@item M-q + @dots{} 桁揃え +@end table +@cindex NTT-jTeX[えぬていいていいしえいてつく] + +@noindent +によって、その item のインデントの深さに応じて fill されます。なお、古い +NTT jTeX を使用している場合には、Lisp 変数@code{NTT-jTeX}を@code{t}にセッ +トして下さい。 + +@cindex YaTeX-item-regexp + このとき、変数@code{YaTeX-item-regexp}の値(標準では @code{"\\\\item"})を +項目指定コマンドの正規表現として検索に使用します。itemize 環境で、独自のコ +マンドを定義して項目を列挙している場合(例えば@code{\underlineitem})は、 +@file{~/.emacs} で次のように指定して下さい。 + +@lisp + (setq YaTeX-item-regexp + "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)") +@end lisp + + +この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を +@code{@code{"\item"}で始まるものにして下さい(例えば"\itembf"})。 + +野鳥の @kbd{M-q} では @code{\item} を環境に応じて以下のように「ハングイン +デント」します。 + +@example +itemize, enumerate環境: + >\item[ほげほげ] 英語では、特に意味のない単語を `foo' であらわしま + > すが、これの日本語版ともいえる単語が「ほげほげ」 + > です。 +description環境: + > \item[へろへろ] 「ほげほげ」をでたらめが単語として使った時に、第 + > 2のでたらめな単語として「へろへろ」が使われることが多 + > いようです。 +@end example + +@section パラグラフの桁揃え +@cindex パラグラフの桁揃え[はらくらふのけたそろえ] +@cindex M-q + + itemize環境以外でのパラグラフの桁揃え(fill)は、基本的に他のモードと同じ +ように機能しますが、verbatim環境や、tabular環境など桁揃えをすると悲惨な状 +況になるような環境中では機能しません。また、\verb で括ってあるものは決して +行分割されません(変数 @code{YaTeX-verb-regexp} で制御) )。さらに、一時的に +インデントの深さを変えてある箇所では、そのインデントの先頭で@kbd{M-q}を押 +すことにより fill-prefix をいちいち変更しなくて桁揃えができます。 + + +@node Includeonly, What column, Filling, Top +@comment node-name, next, previous, up +@chapter 勝手にincludeonly +@cindex 勝手にincludeonly[かつてにincludeonly] +@cindex includeonly + + ファイルを分割して文章を入力している時には、メインファイル中に + +@example + \includeonly@{現在編集中のファイル名@} +@end example + +@noindent +のように書いておくことで、タイプセットの時間を節約できますが、ちょっと他の +ファイルを手直ししたい時には +@cindex 他のファイルの手直し[ほかのふあいるのてなおし] + +@example + \includeonly@{ちょっと手直ししたいファイル名@} +@end example + + +と書き直さなければならず手間がかかります。野鳥では現在編集しているファイル +名がメインファイルの@code{\includeonly}にない場合には自動的にこれを検出し、 +次の指示を仰ぎます。 + +@example + A)dd R)eplace %)comment? +@end example + + +現在編集中のファイルを @code{\includeonly} のリストに加えたい時には@kbd{a} +を、現在編集中のファイルだけを @code{\includeonly} にしたい時は@kbd{r}を、 +@code{\includeonly} の行をコメントアウトして無効化したい時には、@kbd{%}を +それぞれ押して下さい。 + +@node What column, Intelligent newline, Includeonly, Top +@comment node-name, next, previous, up +@chapter ここはどこ? +@cindex ここはどこ?[ここはとこ?] +@cindex prefix & +@cindex 複雑なtabular[ふくさつなtabular] + + 項目数の多い tabular などをたくさん書いていると下の方の行で、いま書いて +いる桁がどこに対応するのかわからなくなってしまうことがあります。例えば、以 +下のような tabular において、 + +@example + \begin@{tabular@}@{|c|c|c|c|c|c|c|c|@}\hline + 氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline + 矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy & + zzz-www & トンガ & 9876-54321 \\ + 日吉小僧 & 2 & \multicolumn@{2@}@{c|@}@{教えない@} + &&&(???) + \\ \hline + \end@{tabular@} +@end example + + +(???)の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時は、 + +@table @kbd +@item [prefix] & + @dots{} 現在のカラム表示 +@end table +@cindex 現在のカラム表示[けんさいのからむひようし] + +@noindent +を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示しま +す。tabular/array環境の第1行目を項目名の並びとみなして対応するものを探しま +す。もし項目名として別のものを表示して欲しい場合は、行頭を@code{%}にしてダ +ミーの項目並びを作っておくと良いでしょう。 + +@node Intelligent newline, Usepackage cheker, What column, Top +@comment node-name, next, previous, up +@chapter おまかせ改行 +@cindex おまかせ改行[おまかせかいきよう] +@cindex &入力[&にゆうりよく] + + tabular[*], array, itemize, enumerate, tabbing 環境をbegin型補完で入力し +た時、または各環境内で + +@table @kbd +@item ESC RET + @dots{} おまかせ改行 +@end table + + +を押すと、その環境に応じた行エントリを次の行に挿入します(begin型補完時に自 +動挿入されたエントリが不要な場合は undo によって消去できます)。例えば、 +tabular環境では、その環境のカラム数に対応した個数の @code{&} に加え、行末 +の @code{\\} を入れます。この時それ以前に @code{\hline} があればそれも付け +加えます。環境とそれに応じて自動入力するものの対応は以下のようになります。 + +@itemize +@item @code{tabular}, @code{tabular*}, @code{array} + + カラム数-1 だけの @code{&} と @code{\\}。必要に応じて @code{\hline} + +@item @code{tabbing} + + 一行目で定義している @code{\=} と同じ個数の @code{\>}。 + +@item @code{itemize}, @code{enumerate}, @code{description}, @code{list} + + @code{\item} または @code{item[]} +@end itemize + + tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動作す +るので、なるべく二行目以降で呼び出すようにしてください。 + + もし、その他の環境、例えば @code{foo}、に対して@code{おまかせ改行}を動作 +させたい時は、@code{YaTeX-intelligent-newline-foo} という名前の関数を定義 +します。定義した関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれま +す。関数 @code{YaTeX-indent-line} を呼ぶと現在の環境のネストに応じた深さに +インデントされるので、これを呼んでから何かを挿入するようなコードを書くとよ +いでしょう。@file{yatexenv.el}内の関数 +@code{YaTeX-intelligent-newline-itemize} の定義などを参考にしてください。 + + +@node Usepackage cheker, Changing mode of YaTeX, Intelligent newline, Top +@comment node-name, next, previous, up +@chapter 先回りusepackage +@cindex 先回りusepackage[さきまわり] + + begin型、section型、maketitle型、いずれかのLaTeX2eマクロを補完入力すると、 +そのマクロの利用に外部パッケージを必要とする場合、そのパッケージを +本文中で @code{\usepackage@{@}} しているかどうかを調査し、もししていなければ +プリアンブルに対応するパッケージを引数にした @code{\usepackage} 文を +(確認後に)挿入します。 + + ただしこの機能が働くためには、パッケージ名とその中で定義されているマクロ +群をalistの形式で変数 @code{YaTeX-package-alist-private} に設定しておく必 +要があります。 + +@node Changing mode of YaTeX, Online help, Usepackage cheker, Top +@comment node-name, next, previous, up +@chapter 野鳥の動作モード切り替え +@cindex モード切り替え[もうときりかえ] +@cindex prefix w + +@table @kbd +@item [prefix] w + @dots{} 野鳥動作モード切り替えメニュー +@end table + +@noindent +で野鳥自身の動作を決定する以下のモードを切り替えます。 + +@itemize @bullet +@item 修正モード +@item 野鳥数式モード +@end itemize + +修正モードは、開き括弧入力時の処理をコントロールし、修正モードONの時は開き +括弧の入力は開き括弧のみの入力になり、修正モードOFFの時は開き括弧の入力だ +けで閉じ括弧まで入力します。デフォルト(起動時)の設定は@emph{OFF}です。 + + 野鳥数式モードは、変数 @code{YaTeX-auto-math-mode} が @code{nil} の時の +み有効で、このとき@kbd{;}や@kbd{:}を押した時(@ref{Image completion}参照)に、 +どのようなイメージ補完を機能させるか、通常のキーとして機能させるかを手動で +切り替えます。自動判定が遅いマシンでは@code{YaTeX-auto-math-mode} +@code{nil}にセットし、野鳥数式モードを手動で切り替えると良いでしょう。 + + +@node Online help, Inclusion hierarchy browser, Changing mode of YaTeX, Top +@comment node-name, next, previous, up +@chapter オンラインヘルプ +@cindex オンラインヘルプ[おんらいんへるふ] +@cindex apropos +@cindex キーワード検索[きいわあとけんさく] +@cindex prefix ? +@cindex prefix / + + 使おうとする La@TeX{} コマンドの用法がよく分からない時は、オンラインヘル +プをひきましょう。ヘルプに関するキーには以下のものがあります。 + +@table @kbd +@item [prefix] ? + @dots{} オンラインヘルプ +@item [prefix] / + @dots{} オンラインapropos +@end table + +@section オンラインヘルプ +@cindex グローバルヘルプ[くろおはるへるふ] +@cindex プライベートヘルプ[ふらいへえとへるふ] +@cindex YaTeX-help-file +@cindex YaTeX-help-file-private + + 「オンラインヘルプ」は、一般的な La@TeX{} コマンド(デフォルトでカーソル +位置のコマンド)に対する説明を隣のバッファに表示します。この時参照されるヘ +ルプ用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二種類があ +り、前者は La@TeX{} の標準コマンドの主なものの説明を含むファイルで、変数 +@code{YaTeX-help-file}の値で指定されます。このファイルは通常公共の場所(デ +フォルトで@code{$EMACSEXECPATH})に置かれ、誰もがその内容を更新できるように +全員に書き込み権が与えられるべきものです。後者は、非標準もしくは個人的なマ +クロ定義に関する説明が書かれているファイルで、変数 +@code{YaTeX-help-file-private}の値で指定されます。こちらはユーザのホームディ +レクトリの下などに置かれます。 + +@section オンラインapropos + + 「オンラインapropos」は GNU Emacs の apropos と同様、ユーザが指定したキー +ワードを説明文に含む項目すべてを隣のバッファに表示します。 + + もし、調べようとしたLa@TeX{}コマンドに対する説明がヘルプファイル中に見つ +からなかった場合は、説明文の入力を求めてくるので、可能であれば参考書などを +調べてそのコマンドの説明を入力してください。もし、なにか標準的なコマンドに +対する説明を書いたならばぜひ私までその説明をお送り下さい。次回の配布に含め +たいと思います。 + +@node Inclusion hierarchy browser, Cooperation with other packages, Online help, Top +@comment node-name, next, previous, up +@chapter インクルード構造ブラウザ +@cindex インクルード構造[いんくるうとこうそう] +@cindex prefix d + +複数のファイルに分割しているドキュメントを書いている場合、 + +@table @kbd +@item [prefix] d + @dots{} インクルード構造ブラウズ +@end table + +@noindent +を押すと、そのドキュメントの親ファイルを聞いて来ます。ここで全てのファイル +の親となるファイル(デフォルトが示されているので大抵はRETのみ)を入力すると +インクルードしている全てのファイルを解析し、インクルード状況を視覚的に表示 +します。このバッファでは以下のキー操作が有効です。 + +@table @kbd +@item n + @dots{} 次の行に移動し対応するファイルを隣のバッファに表示 +@item p + @dots{} 上の行に移動し対応するファイルを隣のバッファに表示 +@item N + @dots{} 同じインクルードレベルの次のファイルに移動 +@item P + @dots{} 同じインクルードレベルの前のファイルに移動 +@item j + @dots{} 次の行に移動 +@item k + @dots{} 上の行に移動 +@item u + @dots{} 一代親にあたるファイルに移動 +@item . + @dots{} カーソル位置のファイルを隣のバッファに表示 +@item SPC + @dots{} 隣のバッファの対応ファイルをスクロールアップ +@item DEL, b + @dots{} 隣のバッファの対応ファイルをスクロールダウン +@item < + @dots{} 隣のバッファの対応ファイルの先頭を表示 +@item > + @dots{} 隣のバッファの対応ファイルの末尾を表示 +@item ' + @dots{} (@kbd{<}や@kbd{>}の後で)元の表示位置に戻る +@item RET, g + @dots{} カーソル位置のファイルを隣のバッファでオープン +@item mouse-2 + @dots{} RETと同じ(ウィンドウ使用時のみ) +@item o + @dots{} 隣のウィンドウに移動 +@item 1 + @dots{} 他のウィンドウを消す +@item - + @dots{} ブラウズウィンドウを小さくする +@item + + @dots{} ブラウズウィンドウを大きくする +@item ? + @dots{} ヘルプ表示 +@item q + @dots{} 表示前の状態に戻る +@end table + + ただし、隣のウィンドウのファイルの内容を表示する機能に関しては、対応する +ファイルをクローズしてしまうとうまく働きませんのでご注意ください。 + +@node Cooperation with other packages, Customizations, Inclusion hierarchy browser, Top +@comment node-name, next, previous, up +@chapter 他パッケージとの連携 +@cindex 他パッケージとの連携[たはつけえしとのれんけい] + +@section gmhist +@cindex gmhist +@cindex コマンドヒストリ[こまんとひすとり] +@cindex ヒストリ[ひすとり] + + @file{gmhist.el}と@file{gmhist-mh.el} をロードしている場合、プレヴューコ +マンドの入力(@kbd{[prefix] tp]})、印刷コマンドの入力(@kbd{[prefix] tl})の +時に独立したヒストリを利用できます。それぞれのプロンプトで、@kbd{M-p} を押 +すと直前に利用したコマンド文字列をくり返し呼び出すことができます。 + +@section min-out +@cindex min-out + + @file{min-out.el} (@code{outline-minor-mode}) と野鳥を組み合わせて使うこ +とももちろん可能です。設定の方法に関しては@file{yatexm-o.el}をご覧ください。 + +@node Customizations, Etc, Cooperation with other packages, Top +@comment node-name, next, previous, up +@chapter カスタマイズ +@cindex カスタマイズ[かすたまいす] +@cindex キーアサイン[きいあさいん] + + 野鳥の動作を制御する種々の変数を独自に設定することにより、補完入 +力を起動するキーアサインを変えたり、環境名の補完候補をさらに充実さ +せることなどができます。 + +@menu +* Lisp variables:: lisp 変数 +* Add-in functions:: 付加関数(アドイン関数) +@end menu + +@node Lisp variables, Add-in functions, Customizations, Customizations +@comment node-name, next, previous, up +@section lisp 変数 +@cindex prefixキー変更[prefixきいへんこう] + + 例えば prefix キーを @kbd{C-c} 以外のキーにしたい場合は、 +@code{YaTeX-prefix}に prefix キーにしたいシンボルを定義してください。さら +に、「@kbd{C-c 英字}」というキーバインドは独自の関数が割り当ててあるので使 +いたくない。このような時は、@code{YaTeX-inhibit-prefix-letter} を @code{t} +に設定することにより、@kbd{C-c 英字…}のバインドが全て、対応する@kbd{C-c +C-英字…}に変わります(ただし、begin型 large型補完の大文字起動によるリジョ +ン指定は可能なままです。これも無効にしたい場合は@code{t}ではなく 1 にセッ +トして下さい。)。 + +@menu +* All customizable variables:: カスタマイズ変数一覧 +* Sample definitions:: カスタマイズ変数設定例 +* Hook variables:: hook変数 +* Hook file:: hook用ファイル +@end menu + +@node All customizable variables, Sample definitions, Lisp variables, Lisp variables +@comment node-name, next, previous, up +@subsection カスタマイズ変数一覧 +@cindex カスタマイズ変数一覧[かすたまいすへんすういちらん] + + yatex-mode における次の変数がカスタマイズ可能です。@file{~/.emacs} で +@code{setq} しておけば、そちらの定義が優先されます。括弧の中はデフォルト値 +です。実際に変数の値を変更する場合は @kbd{M-x describe-variable} で +変数の詳細な説明を参照してください。 + +@defvar YaTeX-prefix +yatex-mode 中のプリフィクスキー (@kbd{\C-c}) +@end defvar + +@defvar YaTeX-inhibit-prefix-letter +prefix キーの直後のキーバインドで @kbd{英字} のものを @kbd{C-英字} に変更 +(@code{nil}) +@end defvar + +@defvar YaTeX-fill-prefix +本文を書く時の行頭に挿入する接頭辞すなわち fill-prefix (@code{""(nil)}) +@end defvar + +@defvar YaTeX-user-completion-table +学習したLa@TeX{}コマンド保存ファイル名 (@code{"~/.yatexrc"}) +@end defvar + +@defvar YaTeX-kanji-code +文書を作成する時の漢字コード +nil=既存のコードのまま 0=no-conversion 1=Shift JIS, +2=JIS, 3=EUC, 4=UTF-8 (2 (MS-DOSでは1)) +@end defvar + +@defvar tex-command La@TeX{}タイプセッタコマンド名 (@code{"platex"}) -@end defvar - -@defvar dvi2-command -プレヴューアコマンド名 (@code{"xdvi -geo +0+0 -s 4"}) -@end defvar - -@defvar dviprint-command-format -dviファイルの印刷に使われるコマンド式 (@code{"dvi2ps %f %t %s | lpr"}) -@end defvar - -@defvar dviprint-from-format -上の@code{%f}に相当する開始ページ指定書式、@code{%b} が開始ページ番号に変 -わる (@code{"-f %b"}) -@end defvar - -@defvar dviprint-to-format -@code{%t} に相当する終了ページ指定書式、@code{%e}が終了ページ番号に変わる -(@code{"-t %e"}) -@end defvar - -@defvar makeindex-command -makeindexコマンド (@code{"makeindex"} (MS-DOSでは@code{"makeind"})) -@end defvar - -@defvar YaTeX-dvipdf-command -dviをPDFに変換するコマンド (@code{"dvipdfmx"}) -@end defvar - -@defvar YaTeX-need-nonstop -@code{\nonstopmode@{@}}を自動的に付加するか (@code{nil}) -@end defvar - -@defvar latex-warning-regexp -latexコマンドの出力するウォーニング行の正規表現 (@code{"line.* [0-9]*"}) -@end defvar - -@defvar latex-error-regexp -同じくエラー行の正規表現 (@code{"l\\.[1-9][0-9]*"}) -@end defvar - -@defvar latex-dos-emergency-message -MS-DOS上で動作する latex コマンドが、エラーにより停止するとき出力するメッ -セージ (@code{"Emergency stop"}) -@end defvar - -@defvar latex-message-kanji-code -タイプセッタの出力するメッセージの漢字コード.タイプセットバッファ -の出力が化ける時は、これを設定する (2, Nemacsでのみ有効) -@end defvar - -@defvar NTT-jTeX -古いNTT-j@TeX{}使用時のようにインデントした行の先頭と前の行の -(タイプセット後の)字間が空いてしまうのを嫌う場合は@code{t}にする -(@code{nil}) -@end defvar - -@defvar YaTeX-item-regexp -itemの桁揃えの時に用いる、itemの正規表現 (@code{"\\\\(sub\\)*item"}) -@end defvar - -@defvar YaTeX-verb-regexp -verbコマンドの正規表現。先頭の\\\\はつけない (@code{"verb\\*?\\|path"}) -@end defvar - -@defvar YaTeX-nervous -ローカル辞書を用いる時 @code{t} (@code{t}) -@end defvar - -@defvar YaTeX-sectioning-regexp -セクション区切り設定コマンドの正規表現 -(@code{"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"}) -@end defvar - -@defvar YaTeX-fill-inhibit-environments -fill を抑止する環境名のリスト -(@code{'("tabular" "tabular*" "array" "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" "verbatim" "verbatim*")}) -@end defvar - -@defvar YaTeX-uncomment-once -領域uncommentで行頭の複数の@code{%}を全て削除するか (@code{nil}) -@end defvar - -@defvar YaTeX-close-paren-always -開き括弧の入力で常に閉じ括弧を入力する (@code{t}) -@end defvar - -@defvar YaTeX-auto-math-mode -数式モードの切り替えを自動的に行う (@code{t}) -@end defvar - -@defvar YaTeX-math-key-list-private -数式イメージ補完で用いる (プリフィクスキー . 対応補完テーブル) の -alist (@code{nil})。補完テーブルの書き方については@file{yatexmth.el}を参照。 -@end defvar - -@defvar YaTeX-default-pop-window-height -1画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行数、数字 -文字列でEmacsウィンドウに対する百分率 (10) -@end defvar - -@defvar YaTeX-help-file -共用ヘルプファイル (@file{$doc-directory/../../site-lisp/YATEXHLP.jp}) -@end defvar - -@defvar YaTeX-help-file-private -個人用ヘルプファイル (@file{"~/YATEXHLP.jp"}) -@end defvar - -@defvar YaTeX-no-begend-shortcut -@kbd{[prefix] b ??} のショートカットを使わず、@kbd{[prefix] b} だけで補完 -入力に入る (@code{nil}) -@end defvar - -@defvar YaTeX-hilit-pattern-adjustment-private -正規表現とそれにマッチするものの論理的意味をシンボルであらわしたものの -リスト…のリスト。hilit19 を組み込んでいる時のみ有効。 -詳しくは @code{(assq 'yatex-mode hilit-patterns-alist)} -した結果と、変数 @code{YaTeX-hilit-pattern-adjustment-default} の値(と場合 -によっては hilit19 のドキュメント)を参照せよ。 -@end defvar - -@defvar YaTeX-sectioning-level -LaTeXのセクション単位宣言コマンドとその論理的高さのalist。 -@end defvar - -@defvar YaTeX-hierarchy-ignore-heading-regexp -Hierarchy バッファは通常ファイルヘッダとして、LaTeXのセクション宣言コマン -ドの引数を検索し、それがなければコメント行を探すが、その際にヘッダとしては -意味を持たないパターンをこの変数に設定する。デフォルトでは RCS ヘッダとモー -ド指定行(-*- xxx -*-)が設定されている。 -@end defvar - -@defvar YaTeX-skip-default-reader -Non-nil に設定するとsection型コマンドの引数入力時、アドイン関数がなければ -ミニバッファでの読み込みをせずに入力を完了させる (@code{nil}) -@end defvar - -@defvar YaTeX-create-file-prefix-g -@code{\include}などで @kbd{prefix g}した時に、ジャンプ先が存在しないファイ -ルであってもオープンする (@code{nil}) -@end defvar - -@defvar YaTeX-simple-messages -各種補完時のメッセージ出力を簡素化する (@code{nil}) -@end defvar - -@defvar YaTeX-hilit-sectioning-face -色付けが有効な時の @code{\part} の色 -(@code{'(yellow/dodgerblue yellow/slateblue)})。 -リストの第一要素は @code{hilit-background-mode} が @code{'light} の時の、 -第二要素は @code{'dark} の時の @code{\chapter} の色で、文字色/背景色 のよ -うに指定する。 -@end defvar - -@defvar YaTeX-hilit-sectioning-attenuation-rate -色付けが有効な時の、@code{\subparagraph} の色を @code{\chapter} の濃度の何 -%薄くしたものにするか (@code{'(15 40)}) @code{YaTeX-hilit-sectioning-face} -の項参照。 -@end defvar - -@defvar YaTeX-use-AMS-LaTeX -AMS-LaTeX を使用する場合は @code{t} に設定する (@code{nil}) -@end defvar - -@defvar YaTeX-use-LaTeX2e -LaTeX2e を使用する場合は @code{t} に設定する (@code{t}) -@end defvar - -@defvar YaTeX-template-file -新規ファイル作成時に自動挿入するファイル名 (@code{~/work/template.tex}) -@end defvar - -@defvar YaTeX-search-file-from-top-directory -inputするファイルを探すときの基準ディレクトリをmainファイルのあるディレクト -リにするか (@code{t}) -@end defvar -@defvar YaTeX-use-font-lock -ソースの色づけパッケージとして font-lock を利用するかどうか -(@code{(featurep 'font-lock)}) -@end defvar - -@defvar YaTeX-use-hilit19 -ソースの色づけパッケージとして hilit19 を利用するかどうか -(@code{(featurep 'hilit19)}) -@end defvar - -@defvar YaTeX-use-italic-bold -italic, boldフォントを野鳥が探すかどうか (Emacs20以降なら@code{t}) -font-lock利用時のみ有効。 -(@code{(featurep 'hilit19)} -@end defvar - -@defvar YaTeX-singlecmd-suffix -全てのmaketitle型コマンドの補完入力直後に挿入する文字列。 -@code{"{}"} などがお勧め。 -@end defvar - -@defvar YaTeX-package-alist-private -LaTeX2eのパッケージ名とその中に含まれるマクロのリスト。 -適切に設定しておくと本文入力時にマクロを補完入力すると -そのマクロに必要なパッケージを usepackage するか自動的に検査してくれる。 -していなければ \usepackage を自動追加することもできる。 -リストは -@lisp - '((パッケージ名1 - (補完タイプ マクロのリスト……) - (補完タイプ マクロのリスト……)) - (パッケージ名2 - (補完タイプ マクロのリスト……) - (補完タイプ マクロのリスト……))………) -@end lisp -という形式にする。補完タイプは @code{env, section, maketitle} のどれか。 -具体例は変数 @code{YaTeX-package-alist-default} -の値参照。 -@end defvar - -@defvar YaTeX-tabular-indentation -tabular/array 環境で現在行の先頭位置が表の第Nカラムのときは -標準インデント位置から N*YaTeX-tabular-indentation 桁下げた -インデントにする。 -@end defvar - -@defvar YaTeX-noindent-env-regexp -別の環境内にあっても \begin{} が行頭から始まるべき環境名の正規表現。 -verbatim環境などを指定する。 -@end defvar - -@defvar YaTeX-ref-default-label-string -\ref{} のラベル補完でラベル未設定のものに自動的に生成する -ラベル名の書式。strftime(3)関数に似た日付ベースで指定する。 -利用できる書式は以下のとおり。 -%y -> 西暦下二桁, %b -> 月の英名, %m -> 月(1〜12) -%d -> 日, %H -> 時, %M -> 分, %S -> 秒, -%qx -> アルファベットで26進数化した yymmdd. -%qX -> アルファベットで26進数化した HHMMSS. -デフォルトは "%H%M%S_%d%b%y" -@end defvar - -@defvar YaTeX-ref-generate-label-function -\ref{}のラベル名自動生成のときに使う関数のシンボル。 -デフォルトは標準の YaTeX::ref-generate-label 関数が割り当ててある。 -引数を2つ取る関数を定義して、この変数にセットするとその関数を呼んだ -結果をデフォルトのラベル名候補とする。設定例: -@lisp - (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label) - (defun my-yatex-generate-label (command value) - (and (string= command "caption") - (re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t) - (setq command (match-string 1))) - (let ((alist '(("chapter" . "chap") - ("section" . "sec") - ("subsection" . "subsec") - ("figure" . "fig") - ("table" . "tbl")))) - (if (setq command (cdr (assoc command alist))) - (concat command ":" value) - (YaTeX::ref-generate-label nil nil)))) -@end lisp -@end defvar - -@node Sample definitions, Hook variables, All customizable variables, Lisp variables -@comment node-name, next, previous, up -@subsection カスタマイズ変数設定例 -@cindex 設定例[せつていれい] - - たとえば、prefix キーとして@kbd{ESC}を使用し、新たな補完候補を格納するファ -イルを、@file{~/src/emacs/yatexrc} にし、行頭の prefix をタブ文字一つに変 -えたいときは、 - -@lisp - (setq YaTeX-prefix "\e" - YaTeX-user-completion-table "~/src/emacs/yatexrc" - YaTeX-fill-prefix " ") -@end lisp - -@noindent -を @file{~/.emacs} に加えます。 - -@node Hook variables, Hook file, Sample definitions, Lisp variables -@comment node-name, next, previous, up -@subsection hook変数 -@cindex hook変数[hookへんすう] -@cindex yatex-mode-hook -@cindex yatex-mode-load-hook - - また、hook 変数 @code{yatex-mode-hook}, @code{yatex-mode-load-hook} を用 -意しています。すべての yatex-mode のバッファで作用させたいものは、 -@code{yatex-mode-hook} に記述し、@file{yatex.el} をロードする時だけ作用さ -せたいものは@code{yatex-mode-load-hook} に記述します。例えば、 -@code{outline-minor-mode} を利用する場合、それぞれのバッファで -@code{outline-minor-mode} を有効にしたいので、@code{yatex-mode-hook} を次 -のように設定します。 - -@lisp - (setq yatex-mode-hook - '(lambda () (outline-minor-mode t))) -@end lisp - -@noindent -逆に、独自のキー定義を行いたい時などは、@code{yatex-mode-load-hook} を利用 -します。例えば、begin 型補完において、 document や、enumerate 以外の環境名 -もショートカットキーで入れたいなどという時は、次のようにします。以下の例は、 -@kbd{[prefix] ba} で @code{\begin@{abstract@}}, @code{\end@{abstract@}} を -挿入します。 - -@lisp - (setq yatex-mode-load-hook - '(lambda() (YaTeX-define-begend-key "ba" "abstract"))) -@end lisp - -なお、新たなキーの定義には、関数 @code{YaTeX-define-key} -@code{YaTeX-define-begend-key}を利用するようにしてください。 - -@node Hook file, , Hook variables, Lisp variables -@comment node-name, next, previous, up -@subsection hook用ファイル - - 変数 @code{yatex-mode-load-hook} で定義する内容が多い時は、 -@file{yatexhks.el}というファイルを作り、その中に野鳥関連の設定を書く事で、 -初期化の時に自動的にロードします。 - - -@node Add-in functions, , Lisp variables, Customizations -@comment node-name, next, previous, up -@section 付加関数(アドイン関数) - - 各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実現す -るための関数を作成することができます。この関数の作成方法や、組み込み方法に -関しては、@code{yatexadd.doc} をご覧ください。 - -@node Etc, Copying, Customizations, Top -@comment node-name, next, previous, up -@chapter その他 - - 野鳥の標準の La@TeX{} コマンドの辞書には、作者が頻繁に使うものしか登録さ -れていません。これは、補完候補に使いそうもないコマンドが存在して、補完した -いコマンドを出すまでのストローク数を増やしてしまう事を防止するためです。標 -準辞書にないコマンドも、できるだけ補完入力方式を利用し、ユーザ辞書を充実さ -せることで、あなたの La@TeX{} スタイルにあった野鳥へと育っていくことでしょ -う。 - -@node Copying, Concept Index, Etc, Top -@comment node-name, next, previous, up -@chapter 取り扱い - - 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな -る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた -しません。常識的に扱ってください。また、本プログラムに含まれるコードを利用 -すること、改造することも自由に行なって構いませんが、流用することにより契約 -締結の必要が生じる場合、私はいかなる契約も締結しません。具体的にはGPLへの -サインはしませんので、GNUに寄贈するものを作っている場合私の作品から取り込 -んだコードを流用すると苦労するかもしれません。いかなるコード流用も拒否しま -せんが契約締結は辞退します。 - - 苦情、希望、バグ報告、感想等は歓迎いたします。 -連絡は yuuji@@yatex.org まで(2004年1月現在)。 -継続的に使用してくださる方はメイリングリスト「fj野鳥の会」に -是非加入してください。加入方法については本パッケージの @file{docs/qanda} -ファイルの「その他」の章を御覧ください。 - -仕様は、予告なく確実に(気分次第で)変更されます:-p。 - -@flushright -広瀬雄二 -@end flushright - -@node Concept Index, , Copying, Top -@comment node-name, next, previous, up -@unnumbered 索引 -@printindex cp - -@c カスタマイズ変数索引を索引と分離する場合にはコメントアウトを外す!!! -@c @node Variable Index -@c @comment node-name, next, previous, up -@c @unnumbered カスタマイズ変数索引 -@c @printindex vr - -@contents - -@bye - -@c Local Variables: -@c fill-column: 74 -@c fill-prefix: nil -@c buffer-file-coding-system: sjis-dos -@c End: - -Tag table: - -End tag table +@end defvar + +@defvar dvi2-command +プレヴューアコマンド名 (@code{"xdvi -geo +0+0 -s 4"}) +@end defvar + +@defvar dviprint-command-format +dviファイルの印刷に使われるコマンド式 (@code{"dvi2ps %f %t %s | lpr"}) +@end defvar + +@defvar dviprint-from-format +上の@code{%f}に相当する開始ページ指定書式、@code{%b} が開始ページ番号に変 +わる (@code{"-f %b"}) +@end defvar + +@defvar dviprint-to-format +@code{%t} に相当する終了ページ指定書式、@code{%e}が終了ページ番号に変わる +(@code{"-t %e"}) +@end defvar + +@defvar makeindex-command +makeindexコマンド (@code{"makeindex"} (MS-DOSでは@code{"makeind"})) +@end defvar + +@defvar YaTeX-dvipdf-command +dviをPDFに変換するコマンド (@code{"dvipdfmx"}) +@end defvar + +@defvar YaTeX-need-nonstop +@code{\nonstopmode@{@}}を自動的に付加するか (@code{nil}) +@end defvar + +@defvar latex-warning-regexp +latexコマンドの出力するウォーニング行の正規表現 (@code{"line.* [0-9]*"}) +@end defvar + +@defvar latex-error-regexp +同じくエラー行の正規表現 (@code{"l\\.[1-9][0-9]*"}) +@end defvar + +@defvar latex-dos-emergency-message +MS-DOS上で動作する latex コマンドが、エラーにより停止するとき出力するメッ +セージ (@code{"Emergency stop"}) +@end defvar + +@defvar latex-message-kanji-code +タイプセッタの出力するメッセージの漢字コード.タイプセットバッファ +の出力が化ける時は、これを設定する (2, Nemacsでのみ有効) +@end defvar + +@defvar NTT-jTeX +古いNTT-j@TeX{}使用時のようにインデントした行の先頭と前の行の +(タイプセット後の)字間が空いてしまうのを嫌う場合は@code{t}にする +(@code{nil}) +@end defvar + +@defvar YaTeX-item-regexp +itemの桁揃えの時に用いる、itemの正規表現 (@code{"\\\\(sub\\)*item"}) +@end defvar + +@defvar YaTeX-verb-regexp +verbコマンドの正規表現。先頭の\\\\はつけない (@code{"verb\\*?\\|path"}) +@end defvar + +@defvar YaTeX-nervous +ローカル辞書を用いる時 @code{t} (@code{t}) +@end defvar + +@defvar YaTeX-sectioning-regexp +セクション区切り設定コマンドの正規表現 +(@code{"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"}) +@end defvar + +@defvar YaTeX-fill-inhibit-environments +fill を抑止する環境名のリスト +(@code{'("tabular" "tabular*" "array" "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" "verbatim" "verbatim*")}) +@end defvar + +@defvar YaTeX-uncomment-once +領域uncommentで行頭の複数の@code{%}を全て削除するか (@code{nil}) +@end defvar + +@defvar YaTeX-close-paren-always +開き括弧の入力で常に閉じ括弧を入力する (@code{t}) +@end defvar + +@defvar YaTeX-auto-math-mode +数式モードの切り替えを自動的に行う (@code{t}) +@end defvar + +@defvar YaTeX-math-key-list-private +数式イメージ補完で用いる (プリフィクスキー . 対応補完テーブル) の +alist (@code{nil})。補完テーブルの書き方については@file{yatexmth.el}を参照。 +@end defvar + +@defvar YaTeX-default-pop-window-height +1画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行数、数字 +文字列でEmacsウィンドウに対する百分率 (10) +@end defvar + +@defvar YaTeX-help-file +共用ヘルプファイル (@file{$doc-directory/../../site-lisp/YATEXHLP.jp}) +@end defvar + +@defvar YaTeX-help-file-private +個人用ヘルプファイル (@file{"~/YATEXHLP.jp"}) +@end defvar + +@defvar YaTeX-no-begend-shortcut +@kbd{[prefix] b ??} のショートカットを使わず、@kbd{[prefix] b} だけで補完 +入力に入る (@code{nil}) +@end defvar + +@defvar YaTeX-hilit-pattern-adjustment-private +正規表現とそれにマッチするものの論理的意味をシンボルであらわしたものの +リスト…のリスト。hilit19 を組み込んでいる時のみ有効。 +詳しくは @code{(assq 'yatex-mode hilit-patterns-alist)} +した結果と、変数 @code{YaTeX-hilit-pattern-adjustment-default} の値(と場合 +によっては hilit19 のドキュメント)を参照せよ。 +@end defvar + +@defvar YaTeX-sectioning-level +LaTeXのセクション単位宣言コマンドとその論理的高さのalist。 +@end defvar + +@defvar YaTeX-hierarchy-ignore-heading-regexp +Hierarchy バッファは通常ファイルヘッダとして、LaTeXのセクション宣言コマン +ドの引数を検索し、それがなければコメント行を探すが、その際にヘッダとしては +意味を持たないパターンをこの変数に設定する。デフォルトでは RCS ヘッダとモー +ド指定行(-*- xxx -*-)が設定されている。 +@end defvar + +@defvar YaTeX-skip-default-reader +Non-nil に設定するとsection型コマンドの引数入力時、アドイン関数がなければ +ミニバッファでの読み込みをせずに入力を完了させる (@code{nil}) +@end defvar + +@defvar YaTeX-create-file-prefix-g +@code{\include}などで @kbd{prefix g}した時に、ジャンプ先が存在しないファイ +ルであってもオープンする (@code{nil}) +@end defvar + +@defvar YaTeX-simple-messages +各種補完時のメッセージ出力を簡素化する (@code{nil}) +@end defvar + +@defvar YaTeX-hilit-sectioning-face +色付けが有効な時の @code{\part} の色 +(@code{'(yellow/dodgerblue yellow/slateblue)})。 +リストの第一要素は @code{hilit-background-mode} が @code{'light} の時の、 +第二要素は @code{'dark} の時の @code{\chapter} の色で、文字色/背景色 のよ +うに指定する。 +@end defvar + +@defvar YaTeX-hilit-sectioning-attenuation-rate +色付けが有効な時の、@code{\subparagraph} の色を @code{\chapter} の濃度の何 +%薄くしたものにするか (@code{'(15 40)}) @code{YaTeX-hilit-sectioning-face} +の項参照。 +@end defvar + +@defvar YaTeX-use-AMS-LaTeX +AMS-LaTeX を使用する場合は @code{t} に設定する (@code{nil}) +@end defvar + +@defvar YaTeX-use-LaTeX2e +LaTeX2e を使用する場合は @code{t} に設定する (@code{t}) +@end defvar + +@defvar YaTeX-template-file +新規ファイル作成時に自動挿入するファイル名 (@code{~/work/template.tex}) +@end defvar + +@defvar YaTeX-search-file-from-top-directory +inputするファイルを探すときの基準ディレクトリをmainファイルのあるディレクト +リにするか (@code{t}) +@end defvar +@defvar YaTeX-use-font-lock +ソースの色づけパッケージとして font-lock を利用するかどうか +(@code{(featurep 'font-lock)}) +@end defvar + +@defvar YaTeX-use-hilit19 +ソースの色づけパッケージとして hilit19 を利用するかどうか +(@code{(featurep 'hilit19)}) +@end defvar + +@defvar YaTeX-use-italic-bold +italic, boldフォントを野鳥が探すかどうか (Emacs20以降なら@code{t}) +font-lock利用時のみ有効。 +(@code{(featurep 'hilit19)} +@end defvar + +@defvar YaTeX-singlecmd-suffix +全てのmaketitle型コマンドの補完入力直後に挿入する文字列。 +@code{"@{@}"} などがお勧め。 +@end defvar + +@defvar YaTeX-package-alist-private +LaTeX2eのパッケージ名とその中に含まれるマクロのリスト。 +適切に設定しておくと本文入力時にマクロを補完入力すると +そのマクロに必要なパッケージを usepackage するか自動的に検査してくれる。 +していなければ \usepackage を自動追加することもできる。 +リストは +@lisp + '((パッケージ名1 + (補完タイプ マクロのリスト……) + (補完タイプ マクロのリスト……)) + (パッケージ名2 + (補完タイプ マクロのリスト……) + (補完タイプ マクロのリスト……))………) +@end lisp +という形式にする。補完タイプは @code{env, section, maketitle} のどれか。 +具体例は変数 @code{YaTeX-package-alist-default} +の値参照。 +@end defvar + +@defvar YaTeX-tabular-indentation +tabular/array 環境で現在行の先頭位置が表の第Nカラムのときは +標準インデント位置から N*YaTeX-tabular-indentation 桁下げた +インデントにする。 +@end defvar + +@defvar YaTeX-noindent-env-regexp +別の環境内にあっても \begin@{@} が行頭から始まるべき環境名の正規表現。 +verbatim環境などを指定する。 +@end defvar + +@defvar YaTeX-ref-default-label-string +\ref@{@} のラベル補完でラベル未設定のものに自動的に生成する +ラベル名の書式。strftime(3)関数に似た日付ベースで指定する。 +利用できる書式は以下のとおり。 +%y -> 西暦下二桁, %b -> 月の英名, %m -> 月(1〜12) +%d -> 日, %H -> 時, %M -> 分, %S -> 秒, +%qx -> アルファベットで26進数化した yymmdd. +%qX -> アルファベットで26進数化した HHMMSS. +デフォルトは "%H%M%S_%d%b%y" +@end defvar + +@defvar YaTeX-ref-generate-label-function +\ref@{@}のラベル名自動生成のときに使う関数のシンボル。 +デフォルトは標準の YaTeX::ref-generate-label 関数が割り当ててある。 +引数を2つ取る関数を定義して、この変数にセットするとその関数を呼んだ +結果をデフォルトのラベル名候補とする。設定例: +@lisp + (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label) + (defun my-yatex-generate-label (command value) + (and (string= command "caption") + (re-search-backward "\\\\begin@{\\(figure\\|table\\)@}" nil t) + (setq command (match-string 1))) + (let ((alist '(("chapter" . "chap") + ("section" . "sec") + ("subsection" . "subsec") + ("figure" . "fig") + ("table" . "tbl")))) + (if (setq command (cdr (assoc command alist))) + (concat command ":" value) + (YaTeX::ref-generate-label nil nil)))) +@end lisp +@end defvar + +@node Sample definitions, Hook variables, All customizable variables, Lisp variables +@comment node-name, next, previous, up +@subsection カスタマイズ変数設定例 +@cindex 設定例[せつていれい] + + たとえば、prefix キーとして@kbd{ESC}を使用し、新たな補完候補を格納するファ +イルを、@file{~/src/emacs/yatexrc} にし、行頭の prefix をタブ文字一つに変 +えたいときは、 + +@lisp + (setq YaTeX-prefix "\e" + YaTeX-user-completion-table "~/src/emacs/yatexrc" + YaTeX-fill-prefix " ") +@end lisp + +@noindent +を @file{~/.emacs} に加えます。 + +@node Hook variables, Hook file, Sample definitions, Lisp variables +@comment node-name, next, previous, up +@subsection hook変数 +@cindex hook変数[hookへんすう] +@cindex yatex-mode-hook +@cindex yatex-mode-load-hook + + また、hook 変数 @code{yatex-mode-hook}, @code{yatex-mode-load-hook} を用 +意しています。すべての yatex-mode のバッファで作用させたいものは、 +@code{yatex-mode-hook} に記述し、@file{yatex.el} をロードする時だけ作用さ +せたいものは@code{yatex-mode-load-hook} に記述します。例えば、 +@code{outline-minor-mode} を利用する場合、それぞれのバッファで +@code{outline-minor-mode} を有効にしたいので、@code{yatex-mode-hook} を次 +のように設定します。 + +@lisp + (setq yatex-mode-hook + '(lambda () (outline-minor-mode t))) +@end lisp + + +逆に、独自のキー定義を行いたい時などは、@code{yatex-mode-load-hook} を利用 +します。例えば、begin 型補完において、 document や、enumerate 以外の環境名 +もショートカットキーで入れたいなどという時は、次のようにします。以下の例は、 +@kbd{[prefix] ba} で @code{\begin@{abstract@}}, @code{\end@{abstract@}} を +挿入します。 + +@lisp + (setq yatex-mode-load-hook + '(lambda() (YaTeX-define-begend-key "ba" "abstract"))) +@end lisp + +なお、新たなキーの定義には、関数 @code{YaTeX-define-key} +@code{YaTeX-define-begend-key}を利用するようにしてください。 + +@node Hook file, , Hook variables, Lisp variables +@comment node-name, next, previous, up +@subsection hook用ファイル + + 変数 @code{yatex-mode-load-hook} で定義する内容が多い時は、 +@file{yatexhks.el}というファイルを作り、その中に野鳥関連の設定を書く事で、 +初期化の時に自動的にロードします。 + + +@node Add-in functions, , Lisp variables, Customizations +@comment node-name, next, previous, up +@section 付加関数(アドイン関数) + + 各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実現す +るための関数を作成することができます。この関数の作成方法や、組み込み方法に +関しては、@code{yatexadd.doc} をご覧ください。 + +@node Etc, Copying, Customizations, Top +@comment node-name, next, previous, up +@chapter その他 + + 野鳥の標準の La@TeX{} コマンドの辞書には、作者が頻繁に使うものしか登録さ +れていません。これは、補完候補に使いそうもないコマンドが存在して、補完した +いコマンドを出すまでのストローク数を増やしてしまう事を防止するためです。標 +準辞書にないコマンドも、できるだけ補完入力方式を利用し、ユーザ辞書を充実さ +せることで、あなたの La@TeX{} スタイルにあった野鳥へと育っていくことでしょ +う。 + +@node Copying, Concept Index, Etc, Top +@comment node-name, next, previous, up +@chapter 取り扱い + + 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな +る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた +しません。常識的に扱ってください。また、本プログラムに含まれるコードを利用 +すること、改造することも自由に行なって構いませんが、流用することにより契約 +締結の必要が生じる場合、私はいかなる契約も締結しません。具体的にはGPLへの +サインはしませんので、GNUに寄贈するものを作っている場合私の作品から取り込 +んだコードを流用すると苦労するかもしれません。いかなるコード流用も拒否しま +せんが契約締結は辞退します。 + + 苦情、希望、バグ報告、感想等は歓迎いたします。 +連絡は yuuji@@yatex.org まで(2004年1月現在)。 +継続的に使用してくださる方はメイリングリスト「fj野鳥の会」に +是非加入してください。加入方法については本パッケージの @file{docs/qanda} +ファイルの「その他」の章を御覧ください。 + +仕様は、予告なく確実に(気分次第で)変更されます:-p。 + +@flushright +広瀬雄二 +@end flushright + +@node Concept Index, , Copying, Top +@comment node-name, next, previous, up +@unnumbered 索引 +@printindex cp + +@c カスタマイズ変数索引を索引と分離する場合にはコメントアウトを外す!!! +@c @node Variable Index +@c @comment node-name, next, previous, up +@c @unnumbered カスタマイズ変数索引 +@c @printindex vr + +@contents + +@bye + +@c Local Variables: +@c fill-column: 74 +@c fill-prefix: nil +@c buffer-file-coding-system: sjis +@c End: + +Tag table: + +End tag table diff -r 5d8f03ba4285 -r 29ab3f4fcd9e makefile --- a/makefile Thu Jan 12 12:27:20 2012 +0900 +++ b/makefile Mon May 14 18:39:05 2012 +0900 @@ -49,7 +49,7 @@ # make clean to delete all producted files # make ci to check in all # make co to check out all -MVER = 1.75 +MVER = 1.76 LISP = ${LISP18} ${LISP19} YAHTML = yahtml.el COMMON = yatexlib.el yatexprc.el diff -r 5d8f03ba4285 -r 29ab3f4fcd9e manifest --- a/manifest Thu Jan 12 12:27:20 2012 +0900 +++ b/manifest Mon May 14 18:39:05 2012 +0900 @@ -19,6 +19,7 @@ help/YATEXHLP.jp オンラインヘルプデータ help/YATEXHLP.eng LaTeX on-line help text install インストールガイド +newpage.rb yahtml用新規ページ生成補助スクリプト readme.meadow.j Meadow 用インストールガイド yahtml.el 野鳥風 html モード yatex.el 野鳥・主 Emacs-Lisp ファイル diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yahtml.el --- a/yahtml.el Thu Jan 12 12:27:20 2012 +0900 +++ b/yahtml.el Mon May 14 18:39:05 2012 +0900 @@ -1,9 +1,9 @@ ;;; -*- Emacs-Lisp -*- ;;; (c) 1994-2012 by HIROSE Yuuji [yuuji(@)yatex.org] -;;; Last modified Thu Jan 12 11:40:53 2012 on firestorm +;;; Last modified Thu May 10 11:06:39 2012 on firestorm ;;; $Id$ -(defconst yahtml-revision-number "1.75" +(defconst yahtml-revision-number "1.76" "Revision number of running yahtml.el") ;;;[Installation] @@ -1401,8 +1401,8 @@ (defun yahtml:ol () "Add-in function for

    " (setq yahtml-last-single-cmd "li") - (let ((start (read-string "start=")) - (type (completing-read + (let ((start (YaTeX-read-string-or-skip "start=")) + (type (YaTeX-completing-read-or-skip "type=" '(("1") ("a") ("A") ("i") ("I")) nil t))) (concat (yahtml-make-optional-argument "start" start) @@ -1428,12 +1428,12 @@ (let ((size "") name type value checked (maxlength "") (l yahtml-prefer-upcase-attributes)) (setq name (read-string "name: ") - type (completing-read "type (default=text): " + type (YaTeX-completing-read-or-skip "type (default=text): " yahtml-input-types nil t) - value (read-string "value: ")) + value (YaTeX-read-string-or-skip "value: ")) (if (string-match "text\\|password\\|^$" type) - (setq size (read-string "size: ") - maxlength (read-string "maxlength: "))) + (setq size (YaTeX-read-string-or-skip "size: ") + maxlength (YaTeX-read-string-or-skip "maxlength: "))) (concat (if l "NAME" "name") "=\"" name "\"" (yahtml-make-optional-argument "type" type) diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yatex.el --- a/yatex.el Thu Jan 12 12:27:20 2012 +0900 +++ b/yatex.el Mon May 14 18:39:05 2012 +0900 @@ -1,15 +1,15 @@ ;;; -*- Emacs-Lisp -*- ;;; Yet Another tex-mode for emacs - //野鳥// -;;; yatex.el rev. 1.75 +;;; yatex.el rev. 1.76 ;;; (c)1991-2012 by HIROSE Yuuji.[yuuji@yatex.org] -;;; Last modified Thu Jan 12 11:40:38 2012 on firestorm +;;; Last modified Sat May 12 14:53:03 2012 on firestorm ;;; $Id$ ;;; The latest version of this software is always available at; ;;; http://www.yatex.org/ (require 'comment) (require 'yatexlib) -(defconst YaTeX-revision-number "1.75" +(defconst YaTeX-revision-number "1.76" "Revision number of running yatex.el") ;---------- Local variables ---------- @@ -321,7 +321,8 @@ ("verbatim") ("itemize") ("enumerate") ("description") ("list") ("tabular") ("tabular*") ("table") ("tabbing") ("titlepage") ("sloppypar") ("picture") ("displaymath") - ("eqnarray") ("figure") ("equation") ("abstract") ("array") + ("eqnarray") ("eqnarray*") ("figure") ("equation") ("equation*") + ("abstract") ("array") ("thebibliography") ("theindex") ("flushleft") ("flushright") ("minipage") ("supertabular") @@ -711,7 +712,7 @@ (defvar YaTeX-struct-end (concat YaTeX-ec "end{%1}") "Keyword format of end-environment.") -(defvar YaTeX-struct-name-regexp "[^}]+" +(defvar YaTeX-struct-name-regexp "[^}]*" "Environment name regexp.") (defvar YaTeX-TeX-token-regexp (cond (YaTeX-japan "[A-Za-z*ぁ-ん亜-龠]+") @@ -829,9 +830,9 @@ (insert "\n") (or exchange (exchange-point-and-mark))) (goto-char beg2) - (if (intern-soft (concat "YaTeX-intelligent-newline-" env)) + (YaTeX-intelligent-newline nil) + (if (fboundp (intern-soft (concat "YaTeX-intelligent-newline-" env))) (progn - (YaTeX-intelligent-newline nil) (message (cond (YaTeX-japan "%s で次の行の入力に進みます。") @@ -950,17 +951,17 @@ (function (lambda (n) (while (<= j n) - (insert - (concat ;to allow nil return value - "{" - (setq title - (cond - (addin-args (funcall arg-reader j)) - (YaTeX-skip-default-reader "") - (t - (read-string - (format "Argument %d of %s: " j section))))) - "}")) + (unwind-protect + (setq title + (cond + (addin-args (funcall arg-reader j)) + (YaTeX-skip-default-reader "") + (t + (read-string + (format "Argument %d of %s: " j section))))) + (insert + (concat ;to allow nil return value + "{" title "}"))) (setq j (1+ j)))))) );;let (setq YaTeX-section-name section) @@ -972,10 +973,12 @@ (insert "}") (set-marker e (point)) (goto-char beg) - (insert YaTeX-ec YaTeX-section-name - (YaTeX-addin YaTeX-section-name)) - (if (> numarg 1) (funcall mkarg-func (1- numarg))) - (insert "{") + (unwind-protect + (progn + (insert YaTeX-ec YaTeX-section-name + (YaTeX-addin YaTeX-section-name)) + (if (> numarg 1) (funcall mkarg-func (1- numarg)))) + (insert "{")) (if arp (funcall ar2 (point) e)) (goto-char e) (set-marker e nil)) @@ -1615,10 +1618,10 @@ ((= c ?j) (YaTeX-typeset-buffer)) ((= c ?r) (YaTeX-typeset-region)) ((= c ?e) (YaTeX-typeset-environment)) - ((= c ?b) (YaTeX-call-command-on-file - bibtex-command "*YaTeX-bibtex*" YaTeX-parent-file)) - ((= c ?i) (YaTeX-call-command-on-file - makeindex-command "*YaTeX-makeindex*" YaTeX-parent-file)) + ((= c ?b) (YaTeX-call-builtin-on-file + "BIBTEX" bibtex-command arg)) + ((= c ?i) (YaTeX-call-builtin-on-file + "MAKEINDEX" makeindex-command arg)) ((= c ?k) (YaTeX-kill-typeset-process YaTeX-typeset-process)) ((= c ?p) (call-interactively 'YaTeX-preview)) ((= c ?q) (YaTeX-system "lpq" "*Printer queue*")) @@ -1637,26 +1640,18 @@ "Operate %# notation." ;;Do not use interactive"r" for the functions which require no mark (interactive) - (message "!)Edit-%%#! B)EGIN-END-region L)Edit-%%#LPR") + (message "!)Edit-%%#! B)EGIN-END-region P)review L)Edit-%%#LPR make(I)ndex B)ibtex") (let ((c (or char (read-char))) (string "") key (b (make-marker)) (e (make-marker))) (save-excursion (cond - ((or (= c ?!) (= c ?l)) ;Edit `%#!' - (goto-char (point-min)) - (setq key (cond ((= c ?!) "%#!") - ((= c ?l) "%#LPR"))) - (if (re-search-forward key nil t) - (progn - (setq string (YaTeX-buffer-substring - (point) (point-end-of-line))) - (delete-region (point) (progn (end-of-line) (point)))) - (open-line 1) - (delete-region (point) (progn (beginning-of-line)(point)));for 19 :-< - (insert key)) - (unwind-protect - (setq string (read-string (concat key ": ") string)) - (insert string))) + ((rindex "!plib" c) ;Edit %#xxx + (setq key (cdr (assq c '((?! . "!") + (?p . "PREVIEW") + (?l . "LPR") + (?i . "MAKEINDEX") + (?b . "BIBTEX"))))) + (YaTeX-getset-builtin key t)) ((= c ?b) ;%#BEGIN %#END region (or end (setq beg (min (point) (mark)) end (max (point) (mark)))) @@ -1895,7 +1890,8 @@ '(("\\\\epsfile\\(\\[[^]]+\\]\\)?{[^},]*file=\\(\\([^,} ]*/\\)?[^,}. ]+\\)\\(\\.e?ps\\)?[^}]*}" 2) ("\\\\epsfig{[^},]*fi\\(le\\|gure\\)=\\(\\([^,} ]*/\\)?[^,}. ]+\\)\\(\\.e?ps\\)?[^}]*}" 2) ("\\\\postscriptbox{[^}]*}{[^}]*}{\\(\\([^,} ]*/\\)?[^}. ]+\\)\\(\\.e?ps\\)?}" 1) - ("\\\\\\(epsfbox\\|includegraphics\\|epsfig\\)\\*?{\\(\\([^,} ]*/\\)?[^}. ]+\\)\\(\\.e?ps\\)?}" 2) ;\epsfbox{hoge.ps} or \includegraphics{hoge.eps} + ("\\\\\\(epsfbox\\|epsfig\\)\\*?{\\(\\([^,} ]*/\\)?[^}. ]+\\)\\(\\.e?ps\\)?}" 2) ;\epsfbox{hoge.ps} + ("\\\\includegraphics\\*?\\(.*\\]\\|\\s \\)?{\\(.*\\)\\(\\.ai\\|\\.pdf\\|\\.svg\\|\\.png\\|\\.jpe?g\\|\\.e?ps\\)}" 2) ;\includegraphics[options...]{hoge.eps} ("\\\\\\(psbox\\)\\(\\[[^]]+\\]\\)?{\\(\\([^,} ]*/\\)?[^} ]+\\)\\(\\.e?ps\\)}" 3) ;\psbox[options...]{hoge.eps} (97/1/11) ("\\\\input{\\([^} ]+\\)\\(\\.tps\\)}" 1) ;tgif2tex (1998/9/16) ) @@ -1904,11 +1900,16 @@ (defvar YaTeX-file-processor-alist nil "*Alist of files' processor vs. its extension; See also the documentation of YaTeX-processed-file-regexp-alist.") - + (defvar YaTeX-file-processor-alist-default '(("tgif" . ".obj") - ("ghostview" . ".ps") - ("ghostview" . ".eps") + ("gimp" . ".xcf") ("gimp" . ".xcf.gz") ("gimp" . ".xcf.bz2") + ("inkscape" . ".svg") ("inkscape" . ".svgz") ("inkscape" . ".ai") + ("soffice" . ".odg") + ("gimp" . ".jpeg") ("gimp" . ".jpg") ("gimp" . ".png") + ("evince" . ".ps") + ("evince" . ".eps") + ("soffice" . ".pdf") (t . ".tex") (t . ".sty") (t . "")) @@ -2008,6 +2009,11 @@ (looking-at ec+command)) (goto-char (match-beginning 0)) (throw 'found t)) + ;;If inside of parentheses, try to escape. + (while (condition-case err + (progn (up-list -1) t) + (error nil))) + (while (equal (preceding-char) ?\]) (backward-list)) ;;(2) search command directly (skip-chars-forward "^{}[]") (and (YaTeX-re-search-active-backward diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yatex.new --- a/yatex.new Thu Jan 12 12:27:20 2012 +0900 +++ b/yatex.new Mon May 14 18:39:05 2012 +0900 @@ -1,6 +1,18 @@ What's new in YaTeX/yahtml 野鳥/yahtml - 各バージョンの変更点について +1.76 === yatex === + タイプセットでラベル未定義があったら自動的にrerunする。 + 自動rerun無効化は YaTeX-typeset-auto-rerun を nil に。 + %#BIBTEX で始まる行に起動すべき bibtex コマンドを記述可能。 + %#MAKEINDEX で始まる行に起動すべき makeindex コマンドを記述可能。 + [prefix] t % で %#BIBTEX、%#MAKEINDEX 行を更新可能に。 + [prefix] t d の platex+dvipdfmx をメニューに追加。 + \includegraphicsでPNG/JPG/GIF/BMP指定時、bb= を自動生成する(c)。 + 数式用環境のお任せ改行を刷新。 + === yahtml === +
      , の属性入力を C-j でスキップ可能に。 + 1.75 === yatex === [prefix] t e でポイント位置を含む環境か数式環境をタイプセット。 M-C-SPC で環境だけでなく数式環境もマークする。 diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yatex19.el --- a/yatex19.el Thu Jan 12 12:27:20 2012 +0900 +++ b/yatex19.el Mon May 14 18:39:05 2012 +0900 @@ -1,7 +1,7 @@ ;;; -*- Emacs-Lisp -*- ;;; YaTeX facilities for Emacs 19 or later -;;; (c)1994-2009 by HIROSE Yuuji.[yuuji@yatex.org] -;;; Last modified Mon Sep 28 10:45:30 2009 on firestorm +;;; (c)1994-2012 by HIROSE Yuuji.[yuuji@yatex.org] +;;; Last modified Sun Jan 29 23:00:52 2012 on firestorm ;;; $Id$ ;(require 'yatex) @@ -39,6 +39,7 @@ 'YaTeX-mode-menu-map-process (nreverse '((buffer "LaTeX" . (lambda () (interactive) (YaTeX-typeset-menu nil ?j))) + (pdf "LaTeX+PDF" . (lambda () (interactive) (YaTeX-typeset-menu nil ?d))) (kill "Kill LaTeX" . (lambda () (interactive) (YaTeX-typeset-menu nil ?k))) (bibtex "BibTeX" . (lambda () (interactive) (YaTeX-typeset-menu nil ?b))) (mindex "makeindex" . (lambda () (interactive) (YaTeX-typeset-menu nil ?i))) diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yatexadd.el --- a/yatexadd.el Thu Jan 12 12:27:20 2012 +0900 +++ b/yatexadd.el Mon May 14 18:39:05 2012 +0900 @@ -1,8 +1,8 @@ ;;; -*- Emacs-Lisp -*- ;;; YaTeX add-in functions. -;;; yatexadd.el rev.19 -;;; (c)1991-2011 by HIROSE Yuuji.[yuuji@yatex.org] -;;; Last modified Mon Mar 7 12:12:11 2011 on firestorm +;;; yatexadd.el rev.20 +;;; (c)1991-2012 by HIROSE Yuuji.[yuuji@yatex.org] +;;; Last modified Fri Mar 9 21:19:09 2012 on firestorm ;;; $Id$ ;;; @@ -99,12 +99,33 @@ (let ((pos (YaTeX:read-oneof oneof))) (if (string= pos "") "" (concat "[" pos "]")))) +;;; +;; Functions for figure environemnt +;;; +(defvar YaTeX:figure-caption-first nil + "Non-nil indicates put caption before figure.") +(defun YaTeX:figure (&optional type firstp) + "YaTeX add-in function for figure(*) environment." + (setq YaTeX-section-name + (if YaTeX:figure-caption-first "caption" "includegraphics") + YaTeX-env-name "center") + (YaTeX:read-position "htbp")) + + +(fset 'YaTeX:figure* 'YaTeX:figure) + +;;; +;; Functions for table environemnt +;;; +(defvar YaTeX:table-caption-first t + "*Non-nil indicates put caption before tabular.") (defun YaTeX:table () "YaTeX add-in function for table environment." (cond ((eq major-mode 'yatex-mode) - (setq YaTeX-env-name "tabular" - YaTeX-section-name "caption") + (setq YaTeX-section-name + (if YaTeX:table-caption-first "caption" "label") + YaTeX-env-name "tabular") (YaTeX:read-position "htbp")) ((eq major-mode 'texinfo-mode) (concat " " @@ -112,10 +133,7 @@ "Highlights with: " '(("@samp")("@kbd")("@code")("@asis")("@file")("@var")) nil nil "@"))))) - -(fset 'YaTeX:figure 'YaTeX:table) -(fset 'YaTeX:figure* 'YaTeX:table) - +(fset 'YaTeX:table* 'YaTeX:table) (defun YaTeX:description () "Truly poor service:-)" @@ -127,7 +145,10 @@ (setq YaTeX-single-command "item") "") -(fset 'YaTeX:enumerate 'YaTeX:itemize) +(defun YaTeX:enumerate () + (setq YaTeX-single-command "item" + YaTeX-section-name "label") + "") (defun YaTeX:picture () "Ask the size of coordinates of picture environment." @@ -585,6 +606,7 @@ (setq cc (current-column)) (if (= (char-after (point)) ?\\) (forward-char 1)) (cond + ;; In each codition, 'inspoint and 'boundary should be set ((looking-at YaTeX-sectioning-regexp) (setq command (YaTeX-match-string 0)) (skip-chars-forward "^{") @@ -659,14 +681,19 @@ ;;(setq boundary (concat YaTeX-ec-regexp "\\(\\\\\\|end{" env "}\\)")) (setq boundary (save-excursion - (if (YaTeX-re-search-active-forward - (concat - YaTeX-ec-regexp "\\(" - (if exp1 "" "\\\\\\|") - "end{" env "}\\)") - r-escape nil 1) - (match-beginning 0) - (1- (point)))) + (or (catch 'bndry + (while (YaTeX-re-search-active-forward + (concat + YaTeX-ec-regexp "\\(" + (if exp1 "" "\\\\\\|") + "\\(end{" env "\\)}\\)") + r-escape nil 1) + (setq foundpoint (match-beginning 0)) + (if (or (match-beginning 2) ;end of outer math-env + (equal env (YaTeX-inner-environment t))) + ;; YaTeX-inner-environment destroys match-data + (throw 'bndry foundpoint)))) + (1- (point)))) inspoint boundary)) ((looking-at "footnote\\s *{") (setq command "footnote") @@ -697,6 +724,7 @@ (match-beginning 0) (1- (point)))))) (t )) + ;;cond by kind of labeling ends here. (if (save-excursion (skip-chars-forward " \t") (looking-at "%")) (forward-line 1)) (cond @@ -733,6 +761,7 @@ (if mathp nil (insert "\n") (YaTeX-reindent cc)) + (put 'YaTeX::ref-getset-label 'foundpoint (point)) (insert (format "\\label{%s}" newlabel)) newlabel))))) @@ -883,8 +912,6 @@ e0 (match-end 1))) (funcall output (format "--subequation--%s" label) e0))) ((string-match mathenvs cmd) ;;if matches mathematical env - ;(skip-chars-forward "} \t\n") - ;(forward-line 1) ;2004/1/25 (skip-chars-forward "}") (setq x (point) envname (substring @@ -901,15 +928,15 @@ (while (YaTeX-re-search-active-forward (concat "\\\\end{\\(" (regexp-quote envname) "\\)";;(1) - (if YaTeX-use-AMS-LaTeX - "\\|\\\\\\(notag\\)") ;;2 + "\\|\\\\\\(notag\\)" ;;2 (if (string-match YaTeX::ref-mathenv-exp1-regexp cmd) - "" "\\|\\\\\\\\$") + "" "\\|\\(\\\\\\\\\\)$") ;;3 ) percent nil t) (let*((quit (match-beginning 1)) (notag (match-beginning 2)) + (newln (match-beginning 3)) (label ".......................") l2 (e (point)) (m0 (match-beginning 0)) (ln (YaTeX-string-width label))) @@ -917,7 +944,12 @@ (notag (YaTeX-re-search-active-forward "\\\\\\\\" percent nil 1) - (setq x (point))) + (setq x (point))) ;use x as \label search bound + ((and newln ; `\\' found + (not (equal (YaTeX-inner-environment) + envname))) + (YaTeX-end-of-environment) + (goto-char (match-end 0))) (t (if (YaTeX-re-search-active-backward YaTeX::ref-labeling-regexp @@ -1180,7 +1212,7 @@ 'exit-recursive-edit '(keymap) t))) (sleep-for 2) (recursive-edit)) - ((= ch ?y) (throw 'query t)) + ((memq ch '(?y ?\ )) (throw 'query t)) ((= ch ?!) (throw 'query (setq continue t))) ((= ch ??) (describe-function @@ -1192,7 +1224,7 @@ (sit-for 0) (select-window sw)) ((= ch ?n) (throw 'query nil))))))) - (replace-match new)) + (replace-match new t)) (and ov (delete-overlay ov))))) (setq bufs (cdr bufs))))))) @@ -1207,17 +1239,11 @@ (format "New %s name: " (or labname "label")) (cons dlab 1)))) (if (string< "" label) - (let ((refstr (format "\\%s{%s}" (or refname "ref") label)) - (key (key-description (where-is-internal 'yank nil t))) - (msg - (if YaTeX-japan - "をkill-ringに入れました。yank(%s)で取り出せます。" - " is stored into kill-ring. Paste it by yank(%s)."))) - (kill-new refstr) + (let ((refstr (format "\\%s{%s}" (or refname "ref") label))) + (YaTeX-push-to-kill-ring refstr) (and chmode (not (equal old label)) - (YaTeX::label-rename-refs old label)) - (message (concat "`%s'" msg) refstr key))) + (YaTeX::label-rename-refs old label)))) label)))) @@ -1234,6 +1260,12 @@ (function (lambda () (YaTeX-quick-in-environment-p "figure"))))) +(defun YaTeX::eqref (argp) + (YaTeX::ref + argp nil nil + (function + (lambda () + (YaTeX-in-math-mode-p))))) (defun YaTeX::cite-collect-bibs-external (bibptn &rest files) "Collect bibentry from FILES(variable length argument) ; @@ -1392,8 +1424,6 @@ "Add-in function to insert argument of \\bibitem." (YaTeX::label argp "label" "cite")) -;;; for AMS-LaTeX -(and YaTeX-use-AMS-LaTeX (fset 'YaTeX::eqref 'YaTeX::ref)) ;;; for Harvard citation style (fset 'YaTeX::citeasnoun 'YaTeX::cite) (fset 'YaTeX::possessivecite 'YaTeX::cite) @@ -1750,7 +1780,26 @@ 'YaTeX:documentclasses-private 'YaTeX:documentclasses-local))) (if (string= "" sname) (setq sname YaTeX-default-documentclass)) - (setq YaTeX-default-documentclass sname))))) + (setq YaTeX-section-name "title" + YaTeX-default-documentclass sname))))) + +(defun YaTeX::title (&optional argp) + (prog1 (read-string "Document Title: ") + (setq YaTeX-section-name "author" + YaTeX-single-command "maketitle"))) + +(defun YaTeX::author (&optional argp) + (prog1 (read-string "Document Author: ") + (setq YaTeX-section-name "date" + YaTeX-single-command "maketitle"))) + +(defun YaTeX:document () + (setq YaTeX-section-name + (if (string-match "book\\|bk" YaTeX-default-documentclass) + "chapter" + "section")) + "") + (defvar YaTeX:latex2e-named-color-alist '(("GreenYellow") ("Yellow") ("Goldenrod") ("Dandelion") ("Apricot") @@ -1854,11 +1903,11 @@ (defun YaTeX:includegraphics () "Add-in for \\includegraphics's option" (let (width height (scale "") angle str) - (setq width (read-string "Width: ") - height (read-string "Height: ")) - (or (string< width "") (string< "" height) - (setq scale (read-string "Scale: "))) - (setq angle (read-string "Angle(0-359): ")) + (setq width (YaTeX-read-string-or-skip "Width: ") + height (YaTeX-read-string-or-skip "Height: ")) + (or (string< "" width) (string< "" height) + (setq scale (YaTeX-read-string-or-skip "Scale: "))) + (setq angle (YaTeX-read-string-or-skip "Angle(0-359): ")) (setq str (mapconcat 'concat @@ -1874,7 +1923,46 @@ (defun YaTeX::includegraphics (argp) "Add-in for \\includegraphics" - (YaTeX::include argp "Image File: ")) + (let ((imgfile (YaTeX::include argp "Image File: ")) + (case-fold-search t) info bb noupdate needclose c) + (and (string-match "\\.\\(jpe?g\\|png\\|gif\\|bmp\\)$" imgfile) + (file-exists-p imgfile) + (or (fboundp 'yahtml-get-image-info) + (progn + (load "yahtml" t) (featurep 'yahtml))) ;(require 'yahtml nil t) + (setq info (yahtml-get-image-info imgfile)) + (car info) ;if has width value + (car (cdr info)) ;if has height value + (setq bb (format "bb=%d %d %d %d" 0 0 (car info) (car (cdr info)))) + (save-excursion + (cond + ((and (save-excursion + (YaTeX-re-search-active-backward + "\\\\\\(includegraphics\\)\\|\\(bb=[-+ \t0-9]+\\)" + YaTeX-comment-prefix nil t)) + (match-beginning 2) + (not (setq noupdate (equal (YaTeX-match-string 2) bb))) + (y-or-n-p (format "Update `bb=' line to `%s'?: " bb))) + (message "") + (replace-match bb)) + (noupdate nil) + ((and (match-beginning 1) + (prog2 + (message "Insert `%s'? Y)es N)o C)yes+`clip': " bb) + (memq (setq c (read-char)) '(?y ?Y ?\ ?c ?C)) + (message ""))) + (goto-char (match-end 0)) + (message "") + (if (looking-at "\\[") (forward-char 1) + (insert-before-markers "[") + (setq needclose t)) + (insert-before-markers bb) + (if (memq c '(?c ?C)) (insert-before-markers ",clip")) + (if needclose (insert-before-markers "]") + (or (looking-at "\\]") (insert-before-markers ",")))) + (t (YaTeX-push-to-kill-ring bb))))) + (setq YaTeX-section-name "caption") + imgfile)) (defun YaTeX::verbfile (argp) "Add-in for \\verbfile" diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yatexenv.el --- a/yatexenv.el Thu Jan 12 12:27:20 2012 +0900 +++ b/yatexenv.el Mon May 14 18:39:05 2012 +0900 @@ -1,8 +1,8 @@ ;;; -*- Emacs-Lisp -*- ;;; YaTeX environment-specific functions. ;;; yatexenv.el -;;; (c) 1994-2006 by HIROSE Yuuji.[yuuji@yatex.org] -;;; Last modified Sat Jun 24 08:14:11 2006 on firestorm +;;; (c) 1994-2012 by HIROSE Yuuji.[yuuji@yatex.org] +;;; Last modified Sun Feb 12 11:15:33 2012 on firestorm ;;; $Id$ ;;; @@ -134,12 +134,10 @@ ((eq type 'alignat) (max 1 - (1- - (* 2 - (string-to-int - (buffer-substring - (point) - (progn (up-list -1) (forward-list 1) (1- (point))))))))) + (* 2 (string-to-int + (buffer-substring + (point) + (progn (up-list -1) (forward-list 1) (1- (point)))))))) (t (YaTeX-tabular-parse-format-count-cols (point) eoform)))) (list cols (1+ eoform))))) @@ -174,25 +172,29 @@ (fset 'YaTeX-intelligent-newline-array 'YaTeX-intelligent-newline-tabular) (fset 'YaTeX-intelligent-newline-supertabular 'YaTeX-intelligent-newline-tabular) -(defun YaTeX-intelligent-newline-alignat () - (YaTeX-intelligent-newline-tabular 'alignat)) -(fset 'YaTeX-intelligent-newline-alignat* 'YaTeX-intelligent-newline-alignat) - (defun YaTeX-intelligent-newline-align () "Intelligent newline function for align. Count the number of & in the first align line and insert that many &s." - (let*((p (point)) (cols 0)) + (let*((p (point)) (amps 0)) + (if (string-match "alignat" env) + (setq amps (1- (car (YaTeX-tabular-parse-format 'alignat)))) + (save-excursion + (YaTeX-beginning-of-environment) + (catch 'done + (while (YaTeX-re-search-active-forward + "\\(&\\)\\|\\(\\\\\\\\\\)" YaTeX-comment-prefix p t) + (if (match-beginning 1) (setq amps (1+ amps)) (throw 'done t)))))) (save-excursion - (YaTeX-beginning-of-environment) - (catch 'done - (while (YaTeX-re-search-active-forward - "\\(&\\)\\|\\(\\\\\\\\\\)" YaTeX-comment-prefix p t) - (if (match-beginning 1) (setq cols (1+ cols)) (throw 'done t))))) + (forward-line -1) + (skip-chars-forward " \t") + (or (prog1 (looking-at "\\\\begin{") (end-of-line)) + (save-excursion + (skip-chars-backward " \t") + (and (= (preceding-char) ?\\) (= (char-after (- (point) 2)) ?\\))) + (insert "\\\\"))) (save-excursion - (if (= cols 0) - (insert "&") - (while (>= (setq cols (1- cols)) 0) - (insert "& ")))) + (while (>= (setq amps (1- amps)) 0) + (insert "& "))) (YaTeX-indent-line))) (mapcar @@ -201,7 +203,7 @@ (symbol-name s))) 'YaTeX-intelligent-newline-align)) '(align* flalign flalign* matrix pmatrix bmatrix Bmatrix vmatrix Vmatrix - cases)) + cases eqnarray eqnarray* alignat alignat*)) ;;; ;; Functions for tabbing environment @@ -227,8 +229,7 @@ (setq tabcount (1- tabcount)))) (forward-char 2)) (insert "\\= \\\\") - (forward-char -5))) -) + (forward-char -5)))) ;;; ;; Functions for itemize/enumerate/list environments @@ -237,23 +238,39 @@ (defun YaTeX-intelligent-newline-itemize () "Insert '\\item '." (insert "\\item ") - (YaTeX-indent-line) -) + (YaTeX-indent-line)) + (fset 'YaTeX-intelligent-newline-enumerate 'YaTeX-intelligent-newline-itemize) (fset 'YaTeX-intelligent-newline-list 'YaTeX-intelligent-newline-itemize) (defun YaTeX-intelligent-newline-description () (insert "\\item[] ") (forward-char -2) - (YaTeX-indent-line) -) + (YaTeX-indent-line)) (defun YaTeX-intelligent-newline-thebibliography () "Insert '\\bibitem '." (YaTeX-indent-line) (YaTeX-make-section nil nil nil "bibitem") - (YaTeX-indent-line) -) + (YaTeX-indent-line)) + +;;; +;; For document environment +;;; +(defun YaTeX-intelligent-newline-document () + "New paragraph by null line or `\\par'." + (if (< (count-lines + (or (get 'YaTeX-inner-environment 'point) + (max 1 (- (point) 17))) ;"\begin{document}\n" == 17 + (point)) + 2) + nil + (if (save-excursion (re-search-backward "\\\\par\\>" nil t)) + (progn + (YaTeX-indent-line) + (insert "\\par"))) + (newline)) + (YaTeX-indent-line)) ;;; ;; Intelligent newline diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yatexlib.el --- a/yatexlib.el Thu Jan 12 12:27:20 2012 +0900 +++ b/yatexlib.el Mon May 14 18:39:05 2012 +0900 @@ -2,7 +2,7 @@ ;;; YaTeX and yahtml common libraries, general functions and definitions ;;; yatexlib.el ;;; (c)1994-2012 by HIROSE Yuuji.[yuuji@yatex.org] -;;; Last modified Mon Jan 9 20:20:09 2012 on firestorm +;;; Last modified Wed Feb 29 09:49:30 2012 on firestorm ;;; $Id$ ;; General variables @@ -464,6 +464,7 @@ ;;;###autoload (defun rindex (string char) + "Return the last position of STRING where character CHAR found." (let ((pos (1- (length string)))(index -1)) (catch 'rindex (while (>= pos 0) @@ -751,6 +752,19 @@ (read-with-history-in hsym prompt init)) (t (read-string prompt init)))) +(defvar YaTeX-skip-next-reader-char ?\C-j) +(defun YaTeX-read-string-or-skip (&rest args) + "Read string, or skip if last input char is \C-j." + (if (equal last-input-char YaTeX-skip-next-reader-char) + "" + (apply 'read-string args))) + +(defun YaTeX-completing-read-or-skip (&rest args) + "Do completing-read, or skip if last input char is \C-j." + (if (equal last-input-char YaTeX-skip-next-reader-char) + "" + (apply 'completing-read args))) + ;;;###autoload (fset 'YaTeX-rassoc (if (and nil (fboundp 'rassoc) (subrp (symbol-function 'rassoc))) @@ -1084,16 +1098,18 @@ (get-file-buffer pf) (switch-to-buffer (get-file-buffer pf))))) -(defun YaTeX-get-builtin (key) +(defun YaTeX-getset-builtin (key &optional value) "Read source built-in command of %# usage." (catch 'builtin - (let ((bl (delq nil (list (current-buffer) + (let*((bl (delq nil (list (current-buffer) (and YaTeX-parent-file (get-file-buffer YaTeX-parent-file))))) - (leader (or (cdr-safe (assq major-mode - '((yatex-mode . "%#") - (yahtml-mode . "\\|\n"))))) + (leader (or (car tuple) "")) + (closer (or (cdr tuple) "")) + (prompt (format "Built-in for %s: " key))) (save-excursion (while bl (set-buffer (car bl)) @@ -1103,17 +1119,35 @@ (concat "^" (regexp-quote (concat leader key))) nil t) (not (eolp))) (throw 'builtin - (YaTeX-buffer-substring - (progn - (skip-chars-forward " \t" (point-end-of-line)) - (point)) - (if (string< "" comment-end) - (progn - (search-forward - comment-end (point-end-of-line) t) - (match-beginning 0)) - (point-end-of-line)))))) - (setq bl (cdr bl))))))) + (let (b e w) + (skip-chars-forward " \t" (point-end-of-line)) + (setq b (point) + e (if (re-search-forward closer nil t) + (match-beginning 0) + (point-end-of-line)) + w (YaTeX-buffer-substring b e)) + (if (null value) + w + (delete-region b e) + (goto-char b) + (if (symbolp value) + (setq value (read-string prompt w))) + (insert value) + value))))) + (setq bl (cdr bl))) + ; not found + (if (null value) + nil ;not set mode, return simply nil + (if (symbolp value) + (setq value (read-string prompt))) + (save-excursion + (goto-char (point-min)) + (insert leader key " " value "\n") + value)))))) ;on set mode, return set value + +(defun YaTeX-get-builtin (key) + "Read source built-in command of %# usage." + (YaTeX-getset-builtin key)) ;;;VER2 (defun YaTeX-insert-struc (what env) @@ -1489,6 +1523,26 @@ (throw 'found (car alist))) (setq alist (cdr alist)))))) +(defun YaTeX-push-to-kill-ring (string) + "Push STRING to kill-ring, then show guidance message." + (and (stringp string) (string< "" string) + (let ((key (key-description (where-is-internal 'yank nil t))) + (msg + (if YaTeX-japan + " をkill-ringに入れました。次のyank(%s)で貼付できます" + " is stored into kill-ring. Paste it by yank(%s)."))) + (kill-new string) + (message (concat "`%s'" msg) string key)))) + +(defun YaTeX-elapsed-time (before after) + "Get elapsed time from BEFORE and AFTER, which are given from currente-time." + (if (fboundp 'float) ;Then, current-time function should be. + (let ((mil (float 1000000))) ;To protect parse error before 19 + (+ (* (- (nth 0 after) (nth 0 before)) 65536) + (- (nth 1 after) (nth 1 before)) + (- (/ (nth 2 after) mil) + (/ (nth 2 before) mil)))))) + ;;; ;; Functions for the Installation time ;;; @@ -1514,7 +1568,15 @@ (lambda (arg) (find-file arg) (texinfo-format-buffer) - (basic-save-buffer))) + (cond + ((fboundp 'set-buffer-file-coding-system) + (set-buffer-file-coding-system 'sjis-dos)) + ((fboundp 'set-file-coding-system) + (set-file-coding-system '*sjis*dos)) + ((boundp 'NEMACS) + (set (make-local-variable 'kanji-fileio-code) 1))) + (let ((coding-system-for-write buffer-file-coding-system)) + (basic-save-buffer)))) command-line-args-left) (kill-emacs)))) diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yatexmth.el --- a/yatexmth.el Thu Jan 12 12:27:20 2012 +0900 +++ b/yatexmth.el Mon May 14 18:39:05 2012 +0900 @@ -2,7 +2,7 @@ ;;; YaTeX math-mode-specific functions. ;;; yatexmth.el ;;; (c)1993-2012 by HIROSE Yuuji [yuuji@yatex.org] -;;; Last modified Mon Jan 9 20:14:02 2012 on firestorm +;;; Last modified Tue Jan 24 08:58:56 2012 on firestorm ;;; $Id$ ;;; [Customization guide] @@ -315,6 +315,13 @@ ("D" "diamondsuit" "/\\\n\\/") ("H" "heartsuit" "<^^>\n \\/") ("S" "spadesuit" " /\\\n<++>\n /\\") + ("mi" "mathit" "\\mathit{}") + ("mr" "mathrm" "\\mathrm{}") + ("mb" "mathbf" "\\mathbf{}") + ("mt" "mathtt" "\\mathtt{}") + ("ms" "mathsf" "\\mathsf{}") + ("mc" "mathcal" "\\mathcal{}") + ("mn" "mathnormal" "\\mathnormal{}") ) "Default LaTeX-math-command alist.") diff -r 5d8f03ba4285 -r 29ab3f4fcd9e yatexprc.el --- a/yatexprc.el Thu Jan 12 12:27:20 2012 +0900 +++ b/yatexprc.el Mon May 14 18:39:05 2012 +0900 @@ -2,7 +2,7 @@ ;;; YaTeX process handler. ;;; yatexprc.el ;;; (c)1993-2012 by HIROSE Yuuji.[yuuji@yatex.org] -;;; Last modified Mon Jan 9 20:20:24 2012 on firestorm +;;; Last modified Fri Feb 17 22:35:38 2012 on firestorm ;;; $Id$ ;(require 'yatex) @@ -55,6 +55,9 @@ (modify-syntax-entry ?\[ "w" YaTeX-typeset-buffer-syntax) (modify-syntax-entry ?\] "w" YaTeX-typeset-buffer-syntax)) +(defvar YaTeX-typeset-marker nil) +(defvar YaTeX-typeset-consumption nil) +(make-variable-buffer-local 'YaTeX-typeset-consumption) (defun YaTeX-typeset (command buffer &optional prcname modename ppcmd) "Execute jlatex (or other) to LaTeX typeset." (interactive) @@ -92,11 +95,23 @@ YaTeX-shell-command-option command)) (get-buffer buffer)) (set-process-sentinel YaTeX-typeset-process 'YaTeX-typeset-sentinel) + (put 'YaTeX-typeset-process 'thiscmd command) + (put 'YaTeX-typeset-process 'name prcname) + (if (fboundp 'current-time) + (setq YaTeX-typeset-consumption + (cons (cons 'time (current-time)) + (delq 'time YaTeX-typeset-consumption)))) (let ((ppprop (get 'YaTeX-typeset-process 'ppcmd))) (setq ppprop (delq (assq YaTeX-typeset-process ppprop) ppprop)) (if ppcmd (setq ppprop (cons (cons YaTeX-typeset-process ppcmd) ppprop))) - (put 'YaTeX-typeset-process 'ppcmd ppprop)))) + (put 'YaTeX-typeset-process 'ppcmd ppprop)) + (if (and (boundp 'bibcmd) bibcmd) + (let ((bcprop (get 'YaTeX-typeset-process 'bibcmd))) + (setq bcprop (cons + (cons YaTeX-typeset-process bibcmd) + (delq (assq YaTeX-typeset-process bcprop) bcprop))) + (put 'YaTeX-typeset-process 'bibcmd bcprop))))) (message (format "Calling `%s'..." command)) (setq YaTeX-current-TeX-buffer (buffer-name)) (use-local-map map) ;map may be localized @@ -114,6 +129,10 @@ YaTeX-latex-message-code outcode)) ((boundp 'NEMACS) (set-kanji-process-code YaTeX-latex-message-code)))) + (set-marker (or YaTeX-typeset-marker + (setq YaTeX-typeset-marker (make-marker))) + (point)) + (insert (format "Call `%s'\n" command)) (if YaTeX-dos (message "Done.") (insert " ") (set-marker (process-mark YaTeX-typeset-process) (1- (point)))) @@ -133,6 +152,15 @@ (switch-to-buffer cb) (YaTeX-remove-nonstopmode)))) +(defvar YaTeX-typeset-auto-rerun t + "*Non-nil automatically reruns typesetter when cross-refs update found. +This is a toy mechanism. DO NOT RELY ON THIS MECHANISM. +You SHOULD check the integrity of cross-references with your eyes!! +Supplying an integer to this variable inhibit compulsory call of bibtex, +thus, it call bibtex only if warning messages about citation are seen.") +(defvar YaTeX-typeset-rerun-msg "Rerun to get cross-references right.") +(defvar YaTeX-typeset-citation-msg + "Warning: Citation \`") (defun YaTeX-typeset-sentinel (proc mes) (cond ((null (buffer-name (process-buffer proc))) ;; buffer killed @@ -140,7 +168,17 @@ ((memq (process-status proc) '(signal exit)) (let* ((obuf (current-buffer)) (pbuf (process-buffer proc)) (pwin (get-buffer-window pbuf)) - (owin (selected-window)) win) + (owin (selected-window)) win + tobecalled shortname + (thiscmd (get 'YaTeX-typeset-process 'thiscmd)) + (ppprop (get 'YaTeX-typeset-process 'ppcmd)) + (ppcmd (cdr (assq proc ppprop))) + (bcprop (get 'YaTeX-typeset-process 'bibcmd)) + (bibcmd (cdr (assq proc bcprop)))) + (put 'YaTeX-typeset-process 'ppcmd ;erase ppcmd + (delq (assq proc ppprop) ppprop)) + (put 'YaTeX-typeset-process 'bibcmd ;erase bibcmd + (delq (assq proc bcprop) bcprop)) ;; save-excursion isn't the right thing if ;; process-buffer is current-buffer (unwind-protect @@ -154,36 +192,102 @@ (if pwin (recenter -3)) (insert ?\n mode-name " " mes) (forward-char -1) - (insert " at " (substring (current-time-string) 0 -5) "\n") + (insert + (format " at %s%s\n" + (substring (current-time-string) 0 -5) + (if (and (fboundp 'current-time) (fboundp 'float) + (assq 'time YaTeX-typeset-consumption)) + (format + " (%.2f secs)" + (YaTeX-elapsed-time + (cdr (assq 'time YaTeX-typeset-consumption)) + (current-time)))))) (setq mode-line-process (concat ": " (symbol-name (process-status proc)))) - (message mode-name " %s." + (message "%s %s" mode-name (if (eq (process-status proc) 'exit) "done" "ceased")) ;; If buffer and mode line shows that the process ;; is dead, we can delete it now. Otherwise it ;; will stay around until M-x list-processes. (delete-process proc) - ;; If ppcmd is active, call it. - (let* ((ppprop (get 'YaTeX-typeset-process 'ppcmd)) - (ppcmd (cdr (assq proc ppprop)))) - (put 'YaTeX-typeset-process 'ppcmd ;erase ppcmd - (delq (assq proc ppprop) ppprop)) + (if (cond + ((or (not YaTeX-typeset-auto-rerun) + (string-match "latexmk" thiscmd)) + nil) + ((and bibcmd ;Call bibtex if bibcmd defined && + (or ; (1st call || warning found) + (and (not (numberp YaTeX-typeset-auto-rerun)) + ; cancel call at 1st, if value is a number. + (not (string-match "bibtex" mode-name))) + (re-search-backward + YaTeX-typeset-citation-msg + YaTeX-typeset-marker t)) + (save-excursion ; && using .bbl files. + (search-backward + ".bbl" YaTeX-typeset-marker t))) + ;; Always call bibtex after the first typesetting, + ;; because bibtex doesn't warn disappeared \cite. + ;; (Suggested by ryseto. 2012) + ;; It is more efficient to call bibtex directly than + ;; to call it after deep inspection on the balance + ;; of \cite vs. \bib*'s referring all *.aux files. + (insert "\n" YaTeX-typeset-rerun-msg "\n") + (setq tobecalled bibcmd shortname "+bibtex")) + ((or + (save-excursion + (search-backward + YaTeX-typeset-rerun-msg YaTeX-typeset-marker t)) + (save-excursion + (re-search-backward + "natbib.*Rerun to get citations correct" + YaTeX-typeset-marker t))) + (if bibcmd + (put 'YaTeX-typeset-process 'bibcmd + (cons (cons (get-buffer-process pbuf) bibcmd) + bcprop))) + (setq tobecalled thiscmd shortname "+typeset")) + (t + nil)) ;no need to call any process + (progn + (insert + (format + "===!!! %s !!!===\n" + (message "Rerun `%s' to get cross-references right" + tobecalled))) + (if (equal tobecalled thiscmd) + (set-marker YaTeX-typeset-marker (point))) + (set-process-sentinel + (start-process + (setq mode-name (concat mode-name shortname)) + pbuf + shell-file-name YaTeX-shell-command-option tobecalled) + 'YaTeX-typeset-sentinel) + (if ppcmd + (put 'YaTeX-typeset-process 'ppcmd + (cons (cons (get-buffer-process pbuf) ppcmd) + ppprop))) + (if thiscmd + (put 'YaTeX-typeset-process 'thiscmd thiscmd))) + ;; If ppcmd is active, call it. (cond ((and ppcmd (string-match "finish" mes)) (insert (format "=======> Success! Calling %s\n" ppcmd)) (setq mode-name ; set process name - (substring ppcmd 0 (string-match " " ppcmd))) - ; to reach here, 'start-process exists on this emacsen + (concat + mode-name "+" + (substring ppcmd 0 (string-match " " ppcmd)))) + ; to reach here, 'start-process exists on this emacsen (set-process-sentinel (start-process mode-name pbuf ; Use this buffer twice. shell-file-name YaTeX-shell-command-option ppcmd) - 'YaTeX-typeset-sentinel)))) - + 'YaTeX-typeset-sentinel)) + (t ;pull back original mode-name + (setq mode-name "typeset")))) (forward-char 1)) (setq YaTeX-typeset-process nil) ;; Force mode line redisplay soon @@ -304,13 +408,17 @@ (YaTeX-save-buffers) (let*((me (substring (buffer-name) 0 (rindex (buffer-name) ?.))) (mydir (file-name-directory (buffer-file-name))) - (cmd (YaTeX-get-latex-command t)) pparg ppcmd + (cmd (YaTeX-get-latex-command t)) pparg ppcmd bibcmd (cb (current-buffer))) + (setq pparg (substring cmd 0 (string-match "[;&]" cmd)) ;rm multistmt + pparg (substring pparg (rindex pparg ? )) ;get last arg + pparg (substring pparg 0 (rindex pparg ?.)) ;rm ext + bibcmd (or (YaTeX-get-builtin "BIBTEX") bibtex-command)) + (or (string-match "\\s " bibcmd) ;if bibcmd has no spaces, + (setq bibcmd (concat bibcmd pparg))) ;append argument(== %#!) (and pp (stringp pp) - (setq pparg (substring cmd 0 (string-match "[;&]" cmd)) ;rm multistmt - pparg (substring pparg (rindex pparg ? )) ;get last arg - ppcmd (concat pp (substring pparg 0 (rindex pparg ?.)))));rm ext + (setq ppcmd (concat pp pparg))) (if (YaTeX-main-file-p) nil (save-excursion (YaTeX-visit-main t) ;search into main buffer @@ -377,13 +485,34 @@ 'YaTeX-call-command-history) buffer))) -(defun YaTeX-bibtex-buffer (cmd) - "Pass the bibliography data of editing file to bibtex." - (interactive) +(defvar YaTeX-call-builtin-on-file) +(make-variable-buffer-local 'YaTeX-call-builtin-on-file) +(defun YaTeX-call-builtin-on-file (builtin-type &optional default update) + "Call command on file specified by BUILTIN-TYPE." (YaTeX-save-buffers) - (let ((main (or YaTeX-parent-file - (progn (YaTeX-visit-main t) buffer-file-name)))) - (YaTeX-call-command-on-file cmd "*YaTeX-bibtex*" main))) + (let*((main (or YaTeX-parent-file + (save-excursion (YaTeX-visit-main t) buffer-file-name))) + (mainroot (file-name-nondirectory (substring main 0 (rindex main ?.)))) + (alist YaTeX-call-builtin-on-file) + (b-in (or (YaTeX-get-builtin builtin-type) + (cdr (assoc builtin-type alist)))) + (command b-in)) + (if (or update (null b-in)) + (progn + (setq command (read-string-with-history + (format "%s command: " builtin-type) + (or b-in + (format "%s %s" default mainroot)) + 'YaTeX-call-command-history)) + (if (or update (null b-in)) + (if (y-or-n-p "Use this command line in the future? ") + (YaTeX-getset-builtin builtin-type command) ;keep in a file + (setq YaTeX-call-builtin-on-file ;keep in memory + (cons (cons builtin-type command) + (delete (assoc builtin-type alist) alist))))))) + (YaTeX-typeset + command + (format " *YaTeX-%s*" (downcase builtin-type))))) (defun YaTeX-kill-typeset-process (proc) "Kill process PROC after sending signal to PROC. @@ -566,20 +695,24 @@ -1))))) (defun YaTeX-prev-error () - "Visit previous typeset error. + "Visit position of previous typeset error or warning. To avoid making confliction of line numbers by editing, jump to error or warning lines in reverse order." (interactive) - (let ((cur-buf (buffer-name)) (cur-win (selected-window)) - b0 errorp error-line typeset-win error-buffer error-win) + (let ((cur-buf (save-excursion (YaTeX-visit-main t) (buffer-name))) + (cur-win (selected-window)) + b0 bound errorp error-line typeset-win error-buffer error-win) (if (null (get-buffer YaTeX-typeset-buffer)) (error "There is no typesetting buffer.")) (YaTeX-showup-buffer YaTeX-typeset-buffer nil t) + (if (and (markerp YaTeX-typeset-marker) + (eq (marker-buffer YaTeX-typeset-marker) (current-buffer))) + (setq bound YaTeX-typeset-marker)) (setq typeset-win (selected-window)) (if (re-search-backward (concat "\\(" latex-error-regexp "\\)\\|\\(" latex-warning-regexp "\\)") - nil t) + bound t) (setq errorp (match-beginning 1)) (select-window cur-win) (error "No more errors on %s" cur-buf))