128

How can I modify the caption name of a figure? For example I have

\caption{This is a figure.}

and by default the caption appears as

Figure 1: This is a figure.

However I want

Fig.1 - This is a figure.

161

First, you have to redefine \figurename. Without using the babel package:

\renewcommand{\figurename}{Fig.}

With babel (and English as language):

\addto\captionsenglish{\renewcommand{\figurename}{Fig.}}

For other babel languages you need to use the proper \captions<language> command instead of \captionsenglish in the command above.

For changing the separator between label and caption text, I recommend the caption package.

\documentclass{article}

\renewcommand{\figurename}{Fig.}

\usepackage[labelsep=endash]{caption}

\begin{document}

\begin{figure}
\centering
\rule{1cm}{1cm}
\caption{This is a figure}
\end{figure}

\end{document}

EDIT: In case anyone wonders how to change the caption name of tables: Redefine \tablename.

17
  • Ok, but the figure is numbered like Fig. 0.0.1.. how can i remove that numerotation?
    – qwerty
    May 5 '11 at 16:37
  • 4
    @qwerty: See this question for general hints about changing the numbering of figures and tables.
    – lockstep
    May 5 '11 at 16:41
  • 3
    remove all numbers: \renewcommand{\thefigure}{} May 5 '11 at 17:10
  • 2
    or you can use \caption*{} May 5 '11 at 17:11
  • 10
    Using the figurename= key for the caption package (as in \usepackage[figurename=Fig.]{caption} ) you can change the figure name and this will work whether babel is used or not. May 5 '11 at 18:17
52

This is a simple solution:

\usepackage[figurename=Fig.]{caption}

Works with and without babel. Use tablename for tables.

3
  • 1
    Note that it has to be placed after \usepackage{babel} or babel will redefine the names back to its default settings. May 28 '18 at 8:10
  • @VáclavPavlík I believe not if you write the above solution after the import.
    – niko
    Sep 3 '18 at 8:47
  • but if I subfigures it produces an error: "Package caption error: can be used only in preamble...
    – skan
    Jan 8 '19 at 17:38
0

You can go to the file pseudocode.sty (if you are using a pseudocode environment) and changing the word "algorithm" by "algorithme".

The file is installed C:/programfile/...Miktex...pseudocode

5
  • pardon: file "pseudocode.sty" not "pseudocode.sys"
    – Arezki Med
    May 12 '13 at 20:22
  • 13
    It is bad practice to change the files originally included in your TeX distribution.
    – lockstep
    Aug 10 '13 at 13:33
  • 3
    You better edit your answer than correcting it in a comment!
    – mafp
    Aug 10 '13 at 13:35
  • 3
    Despite the fact, that it is bad advice to change distributed files, this is rather a comment than an answer.
    – Johannes_B
    May 28 '14 at 9:15
  • This is a bad solution. You should use existing functionality or extent it with a package (such as caption). Nov 9 '18 at 16:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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