Index: src/latexdocvisitor.cpp
===================================================================
RCS file: /cvsroot/doxygen/src/latexdocvisitor.cpp,v
retrieving revision 1.39
diff -U5 -r1.39 latexdocvisitor.cpp
--- src/latexdocvisitor.cpp	16 Jul 2006 20:10:06 -0000	1.39
+++ src/latexdocvisitor.cpp	28 Sep 2006 12:53:57 -0000
@@ -970,11 +970,11 @@
   {
     m_t << "\\hyperlink{" << stripPath(x->file()) << "_" << x->anchor() << "}{";
   }
   else
   {
-    m_t << "\\bf{";
+    m_t << "{\\bf ";
   }
   m_insideItem=TRUE;
   filter(x->title());
   m_insideItem=FALSE;
   m_t << "}]";
@@ -1019,22 +1019,35 @@
   filterLatexString(m_t,str,m_insideTabbing,m_insidePre,m_insideItem);
 }
 
 void LatexDocVisitor::startLink(const QString &ref,const QString &file,const QString &anchor)
 {
-  if (ref.isEmpty() && Config_getBool("PDF_HYPERLINKS"))
+  if (Config_getBool("PDF_HYPERLINKS"))
   {
-    m_t << "\\hyperlink{";
-    if (!file.isEmpty()) m_t << stripPath(file);
-    if (!file.isEmpty() && !anchor.isEmpty()) m_t << "_";
-    if (!anchor.isEmpty()) m_t << anchor;
-    m_t << "}{";
+    if (ref.isEmpty()) {
+      m_t << "\\hyperlink{";
+      if (!file.isEmpty()) m_t << stripPath(file);
+      if (!file.isEmpty() && !anchor.isEmpty()) m_t << "_";
+      if (!anchor.isEmpty()) m_t << anchor;
+      m_t << "}{";
+    }
+    else
+    {
+      QCString *dest;
+      m_t << "\\href{";
+      if ((dest=Doxygen::tagDestinationDict[ref])) m_t << *dest << "/";
+      if (!file.isEmpty()) m_t << file << Doxygen::htmlFileExtension;
+      if (!anchor.isEmpty()) m_t << "#" << anchor;
+      m_t << "}{";
+    }
   }
-  else
-  {
+  else if (ref.isEmpty()) {
     m_t << "\\doxyref{";
   }
+  else {
+    m_t << "{\\bf ";
+  }
 }
 
 void LatexDocVisitor::endLink(const QString &ref,const QString &file,const QString &anchor)
 {
   m_t << "}";
Index: src/latexgen.cpp
===================================================================
RCS file: /cvsroot/doxygen/src/latexgen.cpp,v
retrieving revision 1.110
diff -U5 -r1.110 latexgen.cpp
--- src/latexgen.cpp	10 Sep 2006 20:46:22 -0000	1.110
+++ src/latexgen.cpp	28 Sep 2006 12:53:57 -0000
@@ -1000,11 +1000,11 @@
     docify(text);
     t << "}";
   }
   else
   {
-    t << "{\\bf";
+    t << "{\\bf ";
     docify(text);
     t << "}";
   } 
 }
 
