diff --git a/patches/gromacs-4.5.5.config b/patches/gromacs-4.5.5.config
index c4c96cc70c23ae5ce30c003563e8c5e5a23acc93..aee30f437e1685b78b0c7ce3d03099470d297529 100644
--- a/patches/gromacs-4.5.5.config
+++ b/patches/gromacs-4.5.5.config
@@ -18,3 +18,10 @@ function plumed_after_revert(){
   mv src/kernel/Makefile.plumedbck src/kernel/Makefile
 }
 
+function plumed_patch_info(){
+  echo ""
+  echo "PLUMED can be incorperated into gromacs using a simple patching procedure."
+  echo "Patching must be done after gromacs has been configured."
+  echo 
+  echo "For more information on gromacs you should visit http://www.gromacs.org"
+}
diff --git a/patches/gromacs-4.6.3.config b/patches/gromacs-4.6.3.config
index a5d00fcea22295d52544fcd345e60947ff7553ef..844164555a79af13afefcad5ee9d2e3dcf258a5b 100644
--- a/patches/gromacs-4.6.3.config
+++ b/patches/gromacs-4.6.3.config
@@ -4,3 +4,11 @@ function plumed_preliminary_test(){
 # check if the README contains the word GROMACS and if gromacs has been already configured
   grep -q GROMACS README 1>/dev/null 2>/dev/null
 }
+
+function plumed_patch_info(){
+  echo ""
+  echo "PLUMED can be incorperated into gromacs using a simple patching procedure."
+  echo "Patching must be done after gromacs has been configured."
+  echo
+  echo "For more information on gromacs you should visit http://www.gromacs.org"
+}
diff --git a/patches/lammps-6Apr13.config b/patches/lammps-6Apr13.config
index 7aa1e453acc89b3e771728925a4620caa2836edd..d7a729858589a931ce3c6132be0c20e38aaf60af 100644
--- a/patches/lammps-6Apr13.config
+++ b/patches/lammps-6Apr13.config
@@ -14,3 +14,9 @@ function plumed_after_revert(){
   rm -fr src/USER-PLUMED/
 }
 
+function plumed_patch_info(){
+  echo ""
+  echo "PLUMED can be incorperated into LAMMPS using a simple patching procedure."
+  echo 
+  echo "For more information on LAMMPS you should visit http://lammps.sandia.gov/"
+}
diff --git a/patches/namd-2.8.config b/patches/namd-2.8.config
index 3eff738a2fc6ae97add7a847e49352c15fcbe335..3bef46c3c5a3bd83f44e12caf867f063f2b40df4 100644
--- a/patches/namd-2.8.config
+++ b/patches/namd-2.8.config
@@ -4,3 +4,9 @@ function plumed_preliminary_test(){
 # check if the README.txt contains the word NAMD
   grep -q NAMD README.txt 1>/dev/null 2>/dev/null && test -f */Make.config
 }
+
+function plumed_patch_info(){
+  echo ""
+  echo ""
+  echo "For more information on NAMD you should visit http://www.ks.uiuc.edu/Research/namd/"
+}
diff --git a/patches/patch.sh b/patches/patch.sh
index 082026b24f091509b1cc3c49d7fde72897bbdb64..60437c10bef87c83149f48ad47089678a2471dc1 100755
--- a/patches/patch.sh
+++ b/patches/patch.sh
@@ -15,6 +15,8 @@ Actions (choose one):
                     save, this needs *.preplumed files (*)
   -n NEWENGINE, --new NEWENGINE
                     create a new patch named NEWENGINE (*)
+  -i, --info
+                    output information on the patching procedure for a particular code                
 Options:
   -e ENGINE, --engine ENGINE
                     set MD engine to ENGINE (default: choose interactively)
@@ -57,6 +59,7 @@ do
     (--save|-s)         test -n "$action" && multiple_actions=yes ; action=save ;;
     (--revert|-R|-r)    test -n "$action" && multiple_actions=yes ; action=revert ;;
     (--list-engines|-l) test -n "$action" && multiple_actions=yes ; action=list ;;
+    (--info|-i)         test -n "$action" && multiple_actions=yes ; action=info ;;
     (--new=*)           test -n "$action" && multiple_actions=yes ; action=new ; newpatch="${prefix_option#--new=}" ;;
     (--description)     echo "patch an MD engine" ; exit ;;
     (--engine=*) engine="${prefix_option#--engine=}" ;;
@@ -226,6 +229,9 @@ case "$action" in
       plumed_after_patch
     fi
   ;;
+  (info)
+    plumed_patch_info 
+  ;;
   (save)
     if [ ! -L Plumed.h -o ! -L Plumed.inc ]
     then
diff --git a/patches/qespresso-5.0.2.config b/patches/qespresso-5.0.2.config
index 84c8e48453a9c74b3998ecf58c1ef6fe42d95a5d..f7c7b6ff5255426bf2178facfc72cc428d32e120 100644
--- a/patches/qespresso-5.0.2.config
+++ b/patches/qespresso-5.0.2.config
@@ -15,3 +15,9 @@ awk '{if($1=="LIBS" && $2=="="){print $0" $(PLUMED_LOAD) "}else{print }}' make.s
 function plumed_after_revert(){
   mv make.sys.old make.sys
 }
+
+function plumed_patch_info(){
+  echo ""
+  echo "For more information on Quantum Espresso you should visit http://www.quantum-espresso.org"
+}
+
diff --git a/user-doc/extract b/user-doc/extract
index 6443e5d4d2bece46f110c1f24342f08c5086079d..8a795cf34f6407c8d8a16a36a41a733c6bdc73b6 100755
--- a/user-doc/extract
+++ b/user-doc/extract
@@ -18,7 +18,13 @@ done
 # Create the list of codes that plumed works with from the set of available patches
 for file in ../patches/*.diff
 do
-   echo "- $file" | sed -e 's/.diff//' | sed -e 's/..\/patches\///' >> automatic/codes.list
+   myengine=`echo "$file" | sed -e 's/.diff//' | sed -e 's/..\/patches\///'`
+   mytag=`echo "$myengine" | sed -e 's/\./\_/g'`
+   echo "- \subpage $mytag" >> automatic/codes.list
+   echo "/**" >> automatic/$myengine.txt
+   echo "\page $mytag $myengine" >> automatic/$myengine.txt
+   plumed patch -e $myengine -i | grep -v "PLUMED patching tool" | grep -v "PLUMED location:" | grep -v "extra files located in:" | grep -v "MD engine:" | grep -v "diff file:" | grep -v "sourcing config file:" >> automatic/$myengine.txt
+   echo "*/" >> automatic/$myengine.txt 
 done
 
 ## Check for utilities that register actions with no documentation