TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I edit a BibTeX file with Emacs, pressing the Tab key takes me to the middle of the line, even when I am at the beginning of an entry. This is incredibly annoying. Any clue of why it is happening?

share|improve this question
up vote 3 down vote accepted

I assume you use BibTeX mode.

To find the function a command is bound to you can prefix it with C-h k. C-h k TAB shows:

TAB (translated from <tab>) runs the command bibtex-find-text, which
is an interactive compiled Lisp function.

It is bound to TAB, <menu-bar> <BibTeX-Edit> <Moving inside an Entry>
<End of Field>.

(bibtex-find-text &optional BEGIN NOERROR HELP COMMA)

Move point to end of text of current BibTeX field or entry head.
With optional prefix BEGIN non-nil, move point to its beginning.
Unless NOERROR is non-nil, an error is signaled if point is not
on a BibTeX field.  If optional arg HELP is non-nil print help message.
When called interactively, the value of HELP is `bibtex-help-message'.
Optional arg COMMA is as in `bibtex-enclosing-field'.  It is t for
interactive calls.

As you can see it moves point to the end of the current field but you can make it jump to the beginning of the current field instead by calling it differently. If you are not happy with TAB being bound to this function you can bind it to another command in BibTeX mode.

Also, if you want information about a mode you can type C-h m. When in BibTeX mode it will, among other things, show the following which describes how it is intended be used:

BibTeX mode:
Major mode for editing BibTeX files.

General information on working with BibTeX mode:

Use commands such as C-c C-e b to get a template for a specific entry.
Then fill in all desired fields using C-j to jump from field
to field.  After having filled in all desired fields in the entry, clean the
new entry with the command C-c C-c.

Note that you can set BibTeX mode to support biblatex.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.