# Change caption name of figures

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.

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.

• Ok, but the figure is numbered like Fig. 0.0.1.. how can i remove that numerotation? – qwerty May 5 '11 at 16:37
• @qwerty: See this question for general hints about changing the numbering of figures and tables. – lockstep May 5 '11 at 16:41
• remove all numbers: \renewcommand{\thefigure}{} – Marco Daniel May 5 '11 at 17:10
• or you can use \caption*{} – Marco Daniel May 5 '11 at 17:11
• 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. – Gonzalo Medina May 5 '11 at 18:17

This is a simple solution:

\usepackage[figurename=Fig.]{caption}


Works with and without babel. Use tablename for tables.

• Note that it has to be placed after \usepackage{babel} or babel will redefine the names back to its default settings. – Václav Pavlík 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 at 17:38

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

• pardon: file "pseudocode.sty" not "pseudocode.sys" – Arezki Med May 12 '13 at 20:22
• It is bad practice to change the files originally included in your TeX distribution. – lockstep Aug 10 '13 at 13:33
• You better edit your answer than correcting it in a comment! – mafp Aug 10 '13 at 13:35
• 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). – Roman Luštrik Nov 9 '18 at 16:11