diff --git a/Common/GmshDefines.h b/Common/GmshDefines.h
index 3b7c867589707f552a6329140ec729e38a5a2e99..a4e360daaa272678f1c3363ce209a9e85db74e7c 100644
--- a/Common/GmshDefines.h
+++ b/Common/GmshDefines.h
@@ -50,6 +50,7 @@
 #define FORMAT_CELUM 41
 #define FORMAT_SU2   42
 #define FORMAT_MPEG_PREVIEW 43
+#define FORMAT_PGF   44
 
 // Element types
 #define TYPE_PNT     1
diff --git a/Common/Options.cpp b/Common/Options.cpp
index 4a2b7faf6b1e904d446b0c7a77eea27002013175..7b39a2c11de4cc77512f9e9ac6ce2f830b29846b 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -8644,6 +8644,25 @@ double opt_print_background(OPT_ARGS_NUM)
   return CTX::instance()->print.background;
 }
 
+double opt_print_pgf_two_dim(OPT_ARGS_NUM)
+{
+  if(action & GMSH_SET)
+    CTX::instance()->print.pgfTwoDim= (int)val;
+  return CTX::instance()->print.pgfTwoDim;
+}
+double opt_print_pgf_export_axis(OPT_ARGS_NUM)
+{
+  if(action & GMSH_SET)
+    CTX::instance()->print.pgfExportAxis= (int)val;
+  return CTX::instance()->print.pgfExportAxis;
+}
+double opt_print_pgf_horiz_bar(OPT_ARGS_NUM)
+{
+  if(action & GMSH_SET)
+    CTX::instance()->print.pgfHorizBar = (int)val;
+  return CTX::instance()->print.pgfHorizBar;
+}
+
 double opt_print_text(OPT_ARGS_NUM)
 {
   if(action & GMSH_SET)
diff --git a/Common/Options.h b/Common/Options.h
index e3bb2a8ba32a4b90450596b1472f33714dd5c872..a18a83e5fbd3bc0b79003cfc0d0ee525a2b8e306 100644
--- a/Common/Options.h
+++ b/Common/Options.h
@@ -671,6 +671,9 @@ double opt_print_gif_sort(OPT_ARGS_NUM);
 double opt_print_gif_interlace(OPT_ARGS_NUM);
 double opt_print_gif_transparent(OPT_ARGS_NUM);
 double opt_print_background(OPT_ARGS_NUM);
+double opt_print_pgf_two_dim(OPT_ARGS_NUM);
+double opt_print_pgf_export_axis(OPT_ARGS_NUM);
+double opt_print_pgf_horiz_bar(OPT_ARGS_NUM);
 double opt_print_text(OPT_ARGS_NUM);
 double opt_print_tex_as_equation(OPT_ARGS_NUM);
 double opt_print_composite_windows(OPT_ARGS_NUM);