]> git.lyx.org Git - lyx.git/blobdiff - lib/scripts/TeXFiles.py
Natbib authoryear uses (Ref1; Ref2) by default.
[lyx.git] / lib / scripts / TeXFiles.py
index 375d88e389ae2aa30a1526a9ef618ee39d8dbcad..578fd56a43526050ac7b7070bc59e1e34b7d3c19 100755 (executable)
@@ -1,13 +1,13 @@
 #!/usr/bin/env python
-# -*- coding: iso-8859-15 -*-
+# -*- coding: utf-8 -*-
 
 # file TeXFiles.py
 # This file is part of LyX, the document processor.
 # Licence details can be found in the file COPYING.
 
-# \author Herbert Voß
+# \author Herbert Voß
 # \author Jean-Marc Lasgouttes
-# \author Jürgen Spitzmüller
+# \author Jürgen Spitzmüller
 # \author Bo Peng
 
 # Full author contact details are available in file CREDITS.
@@ -41,30 +41,30 @@ bst_stylefile = 'bstFiles.lst'
 bib_files = 'bibFiles.lst'
 
 def cmdOutput(cmd):
-  '''utility function: run a command and get its output as a string
-    cmd: command to run
-  '''
-  fout = os.popen(cmd)
-  output = fout.read()
-  fout.close()
-  return output
+    '''utility function: run a command and get its output as a string
+        cmd: command to run
+    '''
+    fout = os.popen(cmd)
+    output = fout.read()
+    fout.close()
+    return output
 
 # processing command line options
 if len(sys.argv) > 1:
-  if sys.argv[1] in ['--help', '-help']:
-    print '''Usage: TeXFiles.py [-version | cls | sty | bst | bib ]
-       Default is without any Parameters,
-       so that all files will be created'''
-    sye.exit(0)
-  else:
-    types = sys.argv[1:]
-    for type in types:
-      if type not in ['cls', 'sty', 'bst', 'bib']:
-        print 'ERROR: unknown type', type
-        sys.exit(1)
+    if sys.argv[1] in ['--help', '-help']:
+        print '''Usage: TeXFiles.py [-version | cls | sty | bst | bib ]
+            Default is without any Parameters,
+            so that all files will be created'''
+        sys.exit(0)
+    else:
+        types = sys.argv[1:]
+        for type in types:
+            if type not in ['cls', 'sty', 'bst', 'bib']:
+                print 'ERROR: unknown type', type
+                sys.exit(1)
 else:
-  # if no parameter is specified, assume all
-  types = ['cls', 'sty', 'bst', 'bib']
+    # if no parameter is specified, assume all
+    types = ['cls', 'sty', 'bst', 'bib']
 
 #
 # MS-DOS and MS-Windows define $COMSPEC or $ComSpec and use `;' to separate
@@ -73,44 +73,43 @@ else:
 # Create a variable that holds the right character to be used by the scripts.
 path_sep = os.pathsep
 if sys.platform == 'cygwin':
-  # MikTeX's kpsewhich says "kpathsea emulation version x.x.x", whereas
-  # teTeX's simply "kpathsea version x.x.x".
-  if 'emulation' in cmdOutput('kpsewhich --version'):
-    path_sep = ';'
-  else:
-    path_sep = ':'
+    if ';' in cmdOutput('kpsewhich --show-path=.tex'):
+        path_sep = ';'
+    else:
+        path_sep = ':'
 
 # process each file type
 for type in types:
-  print "Indexing files of type", type
-  if type == 'cls':
-    outfile = cls_stylefile
-    kpsetype = '.tex'
-  elif type == 'sty':
-    outfile = sty_stylefile
-    kpsetype = '.tex'
-  elif type == 'bst':
-    outfile = bst_stylefile
-    kpsetype = '.bst'
-  elif type == 'bib':
-    outfile = bib_files
-    kpsetype = '.bib'
+    print "Indexing files of type", type
+    if type == 'cls':
+        outfile = cls_stylefile
+        kpsetype = '.tex'
+    elif type == 'sty':
+        outfile = sty_stylefile
+        kpsetype = '.tex'
+    elif type == 'bst':
+        outfile = bst_stylefile
+        kpsetype = '.bst'
+    elif type == 'bib':
+        outfile = bib_files
+        kpsetype = '.bib'
 
-  dirs = cmdOutput('kpsewhich --show-path=' + kpsetype).replace('!!', '').strip()
-  # remove excessive //
-  dirs = re.sub('//+', '/', dirs)
-  
-  file_ext = '.' + type
-  out = open(outfile, 'w')
-  for dir in dirs.split(path_sep):
-    # for each valid directory
-    if os.path.isdir(dir):
-      # walk down the file hierarchy
-      for root,path,files in os.walk(dir):
-        # check file type
-        for file in files:
-          if len(file) > 4 and file[-4:] == file_ext:
-            # force the use of / since miktex uses / even under windows
-            print >> out, root.replace('\\', '/') + '/' + file
-  out.close()
+    dirs = cmdOutput('kpsewhich --show-path=' + kpsetype).replace('!!', '').strip()
+    # remove excessive //
+    dirs = re.sub('//+', '/', dirs)
+    
+    file_ext = '.' + type
+    out = open(outfile, 'w')
+    for dir in dirs.split(path_sep):
+        # for each valid directory
+        if not os.path.isdir(dir):
+            continue
+        # walk down the file hierarchy
+        for root,path,files in os.walk(dir):
+            # check file type
+            for file in files:
+                if len(file) > 4 and file[-4:] == file_ext:
+                    # force the use of / since miktex uses / even under windows
+                    print >> out, root.replace('\\', '/') + '/' + file
+    out.close()