%%
%% Q and A on YaTeX
%%
%% C-u C-x $ shows only questions. C-x $ shows all.
%%
(New Item
*It is bothering for me to determine I should call bibtex or latex...
*Filling a paragraph doesn't work as I expected.
[Installation]
==============
*Installing the manual
Copy yatexe to the info directory where your Emacs is installed,
and add the next line to the dir file of the same directory.
* YaTeX-e: (yatexe). Yet Another tex-mode for Emacs. (English).
(After that, M-x info [RET] m yatex [RET] will give you Wild
Bird's manual. Hitting ? will show how to use info)
*I'm a Meadow(Emacs on Win32) user. I don't have `make' utility
Make program is needed only for byte-compiling. So if you do
not care the subtle speed difference, you don't have to
byte-compile. You don't have to look for `make' utility. The
simplest way to install yatex without `make'.
1 Extract this yatex*tar.gz to your Meadow's site-lisp dir.
2 Add the yatex installed path to your load-path according to
`install' file in this package.
*I ain't got the privilege to write in the Info directory...
Get yourself made root. If you can't, write this:
(setq Info-default-directory-list
(cons "YOUR INFO DIRECTORY"
Info-default-directory-list))
to your ~/.emacs. Now your personal files will be added to the
menu when you invoke info.
*Emacs can't find the help file.
If you don't have the privilege to put them in a public
location, copy it to your home directory and set YaTeX-help-file
to that file name.
[Operations]
============
*I accidentally learned in a wrong LaTeX macro in my dictionary.
There should be a line with the wrong command in the .yatexrc
file in your home or current directory. Erase or fix that line,
and save the results with C-x C-s, then kill buffer with C-x k.
Once you make sure the current buffer is your LaTeX source, type
M-x YaTeX-reload-dictionary.
*I can't comment out the region.
Probably the point is on a line withe \begin{} or \end{}. Go up
or down a line and do C-c >.
*I was asked for a parent file when typesetting, and answered the wrong file.
Re-read the child file with C-x C-v RET or re-type the parent
file with C-u C-c ^.
*The typeset buffer is not shown when I get a typeset buffer on Demacs.
This happens on Demacs 1.2.0, when the child process returns an
error level of 1 or more. If you are calling jlatex from a
batch file, call a dummy command that always returns errorlevel
0 at the end.
*How can I enter "\underline{\makebox[4em][l]{x y}{\tt z}}" more easily?
Recursive completion can be used for inputting arguments in the
mini-buffer of a section type completion. Following is an
example showing the command in question.
PROMPT KEYs ENTERED
C-c s und SPC RET
\underline{???}: C-c s makeb SPC RET
Width: 4em RET
makebox position (`lr'): - l RET
\makebox{???}: x y RET
\underline{???}: \makebox[4em][l]{x y} C-c l tt RET
\underline{???}: \makebox[4em][l]{x y}{\tt } z RET
*How can I kill \footnote{} from \footnote{HOGE}
Put the point to \footnote and do C-c k. This will kill the
\footnote{}. If you want to kill the whole thing including
HOGE, do C-u C-c k.
*I want to make HONYARA into a footnote.
Mark HONYARA and do C-c S footnote RET. (S in uppercase)
*I want to make the verbatim environment I have now into verbatim*.
Do C-c c on the line with \begin{verbatim} or \end{verbatim}.
*I want to enclose a region with \verb.
\verb isn't a maketitle-type, so there aren't any quick commands.
But you can use C-c $ to do the same thing.
v v
WHAT YOU NEED to make \verb
\verbWHAT YOU NEED to make \verb (insert \verb)
^(C-@) (mark W)
\verbWHAT YOU NEED to make \verb
^C-c $ (move point to end enclose with $)
\verb$WHAT YOU NEED$ to make \verb (done!)
*I want to have commands defined on a upper level file to be read in
when doing a typeset-region on a child file.
When you are editing child files broken into sections and some
macros to be used are defined in upper level files, you'll need
them to do typeset-region. The macros needed will be copied to
the temporary file if you add %#REQUIRE to the end of the
macro's definition.
Say you had a grand-child file
+-- main.tex --+ +---- sub.tex ----+ +-- subsub.tex --+
| : | |%#jlatex main | |%#jlatex main |
|\include{sub} | |\include{macros} | |..... |
| : |<-| : |<-|%#BEGIN |
| : | | : | |TEXT YOU WANT |
| : | +-----------------+ |TYPESET IS |
+--------------+ ^ |HERE |
+-- macros.tex ---+ |%#END |
|\def\foo{bar} | |: |
|\def\hoge{hero} | +----------------+
+-----------------+
In this case you change the \include{macros} line in sub.tex to
\include{macros} %#REQUIRE
and add to subsub.tex
%#REQUIRE \include{macros}
If %#REQUIRE is at the top of the line, the following will be
copied to the temporary file. So, macros.tex will be included
only once whether you are typesetting all the files, or doing a
typeset-region on sub.tex or subsub.tex.
*I want to reuse ARGUMENTS I used in the last \foo{ARGUMENTS}
Use the gmhist package. YaTeX works fine with gmhist. When you
are asked \foo{???}: in the mini-buffer, hitting M-p (ESC p)
will get you a history of what you have inputted in reverse.
M-n will go forward in the history. This input history can be
used for begin-type completion, section-type completion, evoking
the previewer, and print out commands.
gmhist can be found at many Emacs-Lisp archive sights. For
example, ftp.ae.keio.ac.jp:pub/emacs-lisp/util/gmhist.tar.gz
Note that Emacs-19(Mule2) doesn't need gmhist for the feature of
minibuffer history.
*ref<->label jump doesn't work.
C-c g will start a forward search of ref/label. C-u C-c g will
start a backward search. If you want to continue searching for
\ref, hit C-s (C-r) twice and use the repeated search feature of
the incremental search. If the point to jump is in another
file, that file must be already opened. YaTeX-display-hierarchy
(C-c d) can be used to open all files at once.
*I get a % at the end of the line when I do a fill-paragraph or auto-fill.
NTT-jTeX will add an unnecessary space in the print out image if
the japanese paragraph is written with an indent. To avoid
this, you need to put a % at the end of the line. YaTeX will
automatically put a % so you can input indented text for
NTT-jTeX. But there may be a bug in the routine so please
report if you find any %s otherwise than at the end of a line.
*Isn't the indentation too deep in itemize environments?
Think so too? An alias Mr. K thought this was better and he
feels an ultimate ecstacy with hitting the TAB to indent a line.
Wasn't my idea! (still have a bit of a grudge) If you also
think it's too deep, hit TAB at the end of the line with
\begin{itemize} within the environment. Now it's too shallow?
Umm... time for me to take a break.
*Is it possible to include personal template file template.tex handily?
Put your template.tex into your ~/work directory where YaTeX
seeks by default. If you change the location to another place,
set the lisp-variable as below.
(setq YaTeX-template-file "~/other/location/template.tex")
*It is bothering for me to determine I should call bibtex or latex...
Since version 1.76, YaTeX automatically call bibtex/latex twice
if needed. In most case, you don't have to repeat to call
typesetter or bibtex. If you use `latexmk' described below,
YaTeX's auto rerun functionality should be disabled by setting
like this:
(setq YaTeX-typeset-auto-rerun nil)
The `latexmk' perl script, which is a TeX specific tool to
automate generation of LaTeX document. You can find `latexmk'
some CTAN ftp directory.
(eg. http://www.ctan.org/pkg/latexmk/)
*Can I inhibit auto-filling against very long <a href="..."> line?
If you use Emacs-19 or later, Yes. The variable
auto-fill-inhibit-regexp controls the filling behaviour. To set
this, use yatex-mode-hook as below.
(add-hook 'yahtml-mode-hook
'(lambda ()
(setq auto-fill-inhibit-regexp
"^[ ]*\\(<a href\\|<img src=\\)")))
*Filling a paragraph doesn't work as I expected.
It is because the indentation depth is different from default
depth. Please keep turning on auto-fill to make filling
function work well. If you bring some paragraph which has
different indentation from other part of document, you have to
re-indent it with the default indentation by typing TAB on each
line. If the paragraph is large, try the next operation;
(1)Type C-x . on the beginning of line
(2)Mark paragraph to be re-indented
(3)Type M-C-\
then fill the paragraph. If you want fill that paragraph with
current indentation depth, move the cursor on the first
appearance of non-white-space character on the line before
filling.
[About Emacs-19/Mule2]
======================
*Equations are too dark to read when I use hilit19.
The default coloring of hilit19.el is too dark. Try putting the
next code in ~/.emacs or yatexhks.el.
(if (and (featurep 'hilit19) (eq hilit-background-mode 'dark))
(hilit-translate
string 'mediumspringgreen
formula 'khaki
label 'yellow-underlined))
*Can't I use font-lock?
Since v1.69, YES on XEmacs-21, Emacs-21, Emacs-20.7.
Before starting YaTeX, load font-lock to make it work. However,
YaTeX makes tricky patterns to fontifying logical area
independent from `line', changing of font-lock's specification
in the future will possibly disable YaTeX from fontifying. If
you are thinking of graduating from hilit19, it might be better
to keep old setting about it...
*Is there any way of displaying `\it' strings in the italic font?
First, you should find the available italic font on your
system. In, *scratch* buffer,
(set-face-font 'italic "-*-*-medium-i-*--*-*-*-*-*-*-*-*")
or
(set-face-font 'italic "-*-*-medium-o-*--*-*-*-*-*-*-*-*")
and C-j (It takes very very long time!!).
If you get `No matches found', no way. (;_;)/~
If you get some font name,
"-adobe-courier-medium-i-normal--12-120-75-75-m-0-iso8859-1"
for example, write
(set-face-font 'italic
"-adobe-courier-medium-i-normal--12-120-75-75-m-0-iso8859-1")
in your `yatexhks.el'.
[Customization]
===============
*I don't use C-c b i much, so it would be better if I can start
completion after hitting C-c b.
Put (setq YaTeX-no-begend-shortcut t) in your ~/.emacs.
*An open parenthesis always get entered in pairs.
This should be better, once you get used to it. If you still
don't like it, turn on modify-mode using C-c w m. Setting
YaTeX-close-paren-always to nil will give this feature from the
start.
*Funny things happen when I hit ;.
YaTeX think you are in math mode and evokes math-mode-image
completion. If you are writing a equation that TeX will not
give an error and YaTeX mistakes what mode you are in, report it
back to the author. For mistaken judgements or if you want to
enter a literal ;, hit ; twice. C-u ; to use ; as a
image-completion prefix.
*I want YaTeX to enter the option arguments for a newenvironment.
Read yatexadd.doc. If that's not enough, read yatexgen.doc and
try M-x YaTeX-generate.
*I first defined \foo as a macro taking 3 arguments. Later I changed it
to take 4 arguments, but the section-type completion will ask me for
only 3 arguments.
Use C-u 4 C-c s and tell it will take 4 arguments. You can
change the number of arguments anytime you want.
*I made a argument-type addin function, but can't do completion after
the first two arguments.
If you made a addin function like \foo{x}{y}{z} that takes 3
arguments, then you need to learn in the dictionary that \foo
will take 3 arguments. This can be done by C-u 3 C-c s foo.
You only need to do it once.
*My addin functions are overwritten by yatexadd.
Formally, all private functions were written in your own
yatexadd.el. Now, all private functions are put in yatexhks.el.
yatexhks.el will be read in at the end of YaTeX's
initialization, so you can overwrite definitions in yatexadd.el.
*Can I make intelligent newline work for my `mylist' environment?
Yes. See the section `Intelligent newline' in the info manual.
But if you want the same as the intelligent newline for itemize
environment which inserts simply `\item', the following code is
efficient.
(fset 'YaTeX-intelligent-newline-mylist
'YaTeX-intelligent-newline-itemize)
[ETC]
=====
*Mailing lists?
A question, so an answer. The mailing list for YaTeX (Wild Bird)
and it's implementation to Vz Editor; LaiTeX (Thunder Bird, by
KATSURAGAWA Naoki), implementation to Wz Editor; HackTeX (Swan,
by TAKENAKA Hiroshi), implementation to Hidemaru Editor; HiTeX
(Flying Bird, by YASUDA Haruyuki), implementation to xyzzy;
KaTeX (by MAEDA Manabu) is "fj Wild Bird Society".
Send a mail like
To: yatex@yatex.org
Subject: subscribe
-----
Hi!
My name is yuuji.
See any birds fly by?
and you're in. Once you're in, you'll get a reply with lists of
commands used in the mailing list. Join along and help adding
new feathers to Wild Bird. BTW, if you haven't guessed it yet,
yes, this mailing list is in Japanese. But give us a try
anyway. You're always welcome.
*How to get the up-to-date information on YaTeX?
If you can access WWW, try to see;
http://www.yatex.org/
And if you trace the link of `yatex-current', you can get the
really latest version of YaTeX. Since it collects the elisps in
the author's source directory, what you'll get may contain some
errors. The author cannot respond to your query about
yatex-current.
If you want to catch up to latest version, using yatex-current
is inefficient. Use yatex's mercurial repository instead.
hg clone http://www.yatex.org:/hgrepos/yatex
cd yatex
hg up -C dev
Then, getting all updates by `hg pull'.
hg pull -uv
Okay to set load-path of yatex to local copy of repository.
Two branch names are mostly in use. The `default' branch is for
release versions, the `dev' branch is for development.
*Help, help HELP!!
Ways of getting answers in fastest order.
*Look for someone near you who knows what's he/she's doing.
*Post a question to the mailing list.
*Send mail to yuuji@yatex.org
take a pick.
*Picking a question in this file with C-u C-x $ and hitting C-x $ takes
me to a weird world.
You too? Try marking the question before C-x $ and to C-x C-x
to take you back to it. (Mule2 doesn't seem to have the same
problem)
Local Variables:
mode: indented-text
fill-column: 72
fill-prefix: " "
End: