summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2008-09-22 12:49:08 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2008-09-22 12:49:08 +0000
commit5f0d9b3637110e17ca3eda1bd3409c3982bebf28 (patch)
treef2722b05f5607d7a393b72ae942e879f384255d9 /Master
parent70558b9a293ccc1d39613112254b4e66d7089e90 (diff)
tnc_config.vbs: sample TeXnicCenter configuration script
git-svn-id: svn://tug.org/texlive/trunk@10685 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/tlpkg/doc/tnc_config.vbs256
1 files changed, 256 insertions, 0 deletions
diff --git a/Master/tlpkg/doc/tnc_config.vbs b/Master/tlpkg/doc/tnc_config.vbs
new file mode 100644
index 00000000000..73e8f123a55
--- /dev/null
+++ b/Master/tlpkg/doc/tnc_config.vbs
@@ -0,0 +1,256 @@
+Option Explicit
+
+Dim oWsh, oExec, oEnv, sTmp, oTmp, sTL, sGS, sVal, sDat, dDat, oFS
+Dim sP, sPr, bFirstConfig, bAdobe, sAdobe, i, j, s
+
+On Error Resume Next
+
+Set oWsh = Wscript.CreateObject("WScript.Shell")
+Set oFS = CreateObject("Scripting.FileSystemObject")
+Set oEnv = oWsh.Environment("PROCESS")
+
+'''''''''''''''''''''''''''''''''''
+' WMI hocuspocus for deleting registry keys recursively, from
+' http://www.tek-tips.com/viewthread.cfm?qid=674375&page=8
+
+const hkcr=&h80000000
+const hkcu=&h80000001
+const hklm=&h80000002
+
+Dim oReg
+
+Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}//" _
+ & "./root/default:StdRegProv")
+
+Function DeleteRegEntry( sHive, sEnumPath )
+
+ Dim lRC, sKeyName, sNames
+
+ ' Attempt to delete key. If it fails, start the subkey
+ ' enumeration process.
+ On Error Goto 0
+ lRC = oReg.DeleteKey(sHive, sEnumPath)
+ ' The deletion failed, start deleting subkeys.
+ If (lRC <> 0) Then
+
+ ' Subkey Enumerator
+ On Error Resume Next
+
+ lRC = oReg.EnumKey( sHive, sEnumPath, sNames )
+
+ For Each sKeyName In sNames
+ If Err.Number <> 0 Then Exit For
+ lRC = DeleteRegEntry( sHive, sEnumPath & "\" & sKeyName )
+ Next
+ ' On Error Goto 0
+
+ ' At this point we should have looped through all subkeys, trying
+ ' to delete the registry key again.
+ lRC = oReg.DeleteKey( sHive, sEnumPath )
+ End If
+End Function
+'''''''''''''''''''''''''''''''''''
+
+' the installer calls this script with a parameter;
+' the menu shortcut for later reconfiguration calls it without
+Set oTmp = Wscript.Arguments
+bFirstConfig = (oTmp.count >= 1)
+
+sTL = ""
+If wscript.version < 5.6 Then
+ sTL = _
+ oFS.GetFolder(oFS.GetFile(Wscript.ScriptFullName).ParentFolder).ParentFolder
+Else
+ sTmp = ""
+ ' ask kpathsea
+ Set oExec = oWsh.Exec("kpsewhich -var-value=SELFAUTOPARENT")
+ sTmp = oExec.StdOut.ReadAll
+ Err.clear()
+ If sTmp <> "" then
+ sTmp = replace(sTmp, vbCr, "")
+ sTmp = replace(sTmp, vbLf, "")
+ sTL = replace(sTmp, "/", "\")
+ End If
+End If
+If sTL = "" Then
+ MsgBox "TeX Live not found; aborting...", vbOKOnly+vbCritical, "Error"
+ quit
+End If
+sTL = oFS.GetFolder(sTL).ShortPath
+'wscript.echo "Root: " & sTL
+
+If Not bFirstConfig then
+ i = MsgBox("Please make sure that TeXnicCenter is not running!", _
+ vbOKCancel+vbExclamation, "Check for TeXnicCenter")
+ If i = vbCancel Then
+ wscript.quit(1)
+ End If
+End If
+
+Const sPro = "HKCU\software\toolscenter\texniccenter\profiles\"
+
+' remove old settings recursively
+
+Err.clear
+DeleteRegEntry hkcu, "software\toolscenter\texniccenter\profiles"
+Err.clear
+
+' [pdf]latex
+For Each sPr in Array( _
+ "LaTeX => DVI\", "LaTeX => PDF\", "LaTeX => PS\", "LaTeX => PS => PDF\")
+ sP = sPro & sPr
+ oWsh.RegWrite sP & "RunLatex", 1, "REG_DWORD"
+ If sPr = "LaTeX => PDF\" Then
+ oWsh.RegWrite sP & "LatexPath", sTL & "\bin\win32\pdflatex.exe"
+ Else
+ oWsh.RegWrite sP & "LatexPath", sTL & "\bin\win32\latex.exe"
+ End If
+ oWsh.RegWrite sP & "LatexArgs", "-synctex=-1 -interaction=nonstopmode ""%Wm"""
+ oWsh.RegWrite sP & "LatexStopOnError", 0, "REG_DWORD"
+ oWsh.RegWrite sP & "RunBibTex", 1, "REG_DWORD"
+ oWsh.RegWrite sP & "BibTexPath", sTL & "\bin\win32\bibtex.exe"
+ oWsh.RegWrite sP & "BibTexArgs", """%bm"""
+ oWsh.RegWrite sP & "RunMakeIndex", 1, "REG_DWORD"
+ oWsh.RegWrite sP & "MakeIndexPath", sTL & "\bin\win32\makeindex.exe"
+ oWsh.RegWrite sP & "MakeIndexArgs", """%bm"""
+ oWsh.RegWrite sP & "CloseViewBeforeCompilation", 0, "REG_DWORD"
+Next
+
+' postprocessing: dvips
+For Each sPr in Array("LaTeX => PS\", "LaTeX => PS => PDF\")
+ sP = sPro & sPr & "PostProcessors\"
+oWsh.RegWrite sP & "PostProcessor0", _
+ "DviPs" & vbLf & _
+ sTL & "\bin\win32\dvips.exe" & vbLf & """%Bm.dvi""" & vbLf & vbLf
+Next
+
+' postprocessing: ps2pdf
+sGS = replace(sTL, "\", "/") & "/tlpkg/tlgs/"
+oWsh.RegWrite sPro & "LaTeX => PS => PDF\PostProcessors\PostProcessor1", _
+ "gswin32c" & vbLf & _
+ sTL & "\tlpkg\tlgs\bin\gswin32c.exe" & vbLf & _
+ "-I""" & sGS & "lib;" & sGS & "fonts;" & sGS & "Resource""" & _
+ " -sPAPERSIZE#a4 -dPDFSETTINGS#/prepress -dCOMPATIBILITYLEVEL#1.3" & _
+ " -dNOPAUSE -dBATCH -q -dSAFER -sDEVICE#pdfwrite" & _
+ " -sOutputFile#""%Bm.pdf"" ""%Bm.ps""" & vbLf & vbLf
+
+' viewing: dvi
+sPr = "LaTeX => DVI\"
+oWsh.RegWrite sPro & sPr & "ViewerPath", _
+ "wscript """ & sTL & "\tlrug\dviout.vbs"""
+
+For Each s in Array("ViewCurrentCmd\", "ViewProjectCmd\")
+ sP = sPro & sPr & s
+ oWsh.RegWrite sP & "ProcessCmd", _
+ "wscript """ & sTL & "\tlrug\dviout.vbs""" & vbLf & """%bm.dvi"""
+ oWsh.RegWrite sP & "DDECmd", vbLf & "System" & vbLf & vbLf
+Next
+
+' viewing: ps
+sPr = "LaTeX => PS\"
+oWsh.RegWrite sPro & sPr & "ViewerPath", "wscript """ & sTL & "\tlrug\psv.vbs"""
+For Each s in Array("ViewCurrentCmd\", "ViewProjectCmd\")
+ sP = sPro & sPr & s
+ oWsh.RegWrite sP & "ProcessCmd", _
+ "wscript """ & sTL & "\tlrug\psv.vbs""" & vbLf & """%bm.ps"""
+ oWsh.RegWrite sP & "DDECmd", vbLf & "System" & vbLf & vbLf
+Next
+
+' viewing: pdf
+' when reconfiguring, check for Adobe Reader;
+' if found, ask whether to use it
+If bFirstConfig Then
+ bAdobe = False
+Else
+ Err.clear
+ bAdobe = True
+ sTmp = oWsh.RegRead("HKCR\.pdf\")
+ If ((Err.number>0) Or (sTmp="")) Then
+ bAdobe = False
+ Err.clear
+ Else
+ 'wscript.echo ".pdf: " & sTmp
+ sTmp = oWsh.RegRead("HKCR\" & sTmp & "\Shell\Open\Command\")
+ If Err.number>0 Then
+ bAdobe = False
+ Err.clear
+ Else
+ 'wscript.echo "open command:" & vbnewline & stmp & vbnewline
+ If InStr(sTmp, """") = 1 Then
+ sTmp = Mid(sTmp, 2)
+ End If
+ i = InStr(sTmp, ".exe")
+ If i=0 Then
+ bAdobe = False
+ Else
+ sAdobe = Mid(sTmp, 1, InStr(sTmp, ".exe")+3)
+ 'wscript.echo "reader:" & sAdobe
+ Err.clear
+ oTmp = oFS.GetFile(sAdobe)
+ If Err.number>0 Then
+ bAdobe = False
+ Err.clear
+ 'wscript.echo sadobe & " not a file"
+ End If
+ End If
+ End If
+ End If
+ If bAdobe Then
+ i = MsgBox( "Use Adobe Reader/Acrobat instead of SumatraPDF?", _
+ vbYesNo+vbQuestion, "PDF viewer")
+ If i = vbNo Then
+ bAdobe = False
+ End If
+ End If
+End If
+'If badobe Then
+' wscript.echo "reader: " & sadobe
+'Else
+' wscript.echo "no reader"
+'End If
+
+For Each sPr in Array("LaTeX => PDF\", "LaTeX => PS => PDF\")
+ If bAdobe Then
+ oWsh.RegWrite sPro & sPr & "ViewerPath", sAdobe
+ oWsh.RegWrite sPro & sPr & "CloseViewBeforeCompilation", 1, "REG_DWORD"
+ For Each s in Array("ViewCurrentCmd\", "ViewProjectCmd\")
+ sP = sPro & sPr & s
+ oWsh.RegWrite sP & "ActiveType", 1, "REG_DWORD"
+ oWsh.RegWrite sP & "ProcessCmd", vbLf
+ oWsh.RegWrite sP & "DDECmd", "acroview" & vbLf & "control" & vbLf & _
+ "[DocOpen(""%bm.pdf"")][FileOpen(""%bm.pdf"")]" & _
+ vbLf & sAdobe
+ ' "[MenuitemExecute(""GoBack"")]" &
+ Next
+ sP = sPro & sPr & "ViewCloseCmd\"
+ oWsh.RegWrite sP & "ActiveType", 1, "REG_DWORD"
+ oWsh.RegWrite sP & "ProcessCmd", vbLf
+ oWsh.RegWrite sP & "DDECmd", _
+ "acroview" & vbLf & "control" & vbLf & _
+ "[DocClose(""%bm.pdf"")]" & vbLf
+ Else
+ oWsh.RegWrite sPro & sPr & "ViewerPath", sTL & "\sumatrapdf\SumatraPDF.exe"
+ oWsh.RegWrite sPro & sPr & "CloseViewBeforeCompilation", 0, "REG_DWORD"
+ For Each s in Array("ViewCurrentCmd\", "ViewProjectCmd\")
+ sP = sPro & sPr & s
+ oWsh.RegWrite sP & "ActiveType", 1, "REG_DWORD"
+ oWsh.RegWrite sP & "DDECmd", "SUMATRA" & vbLf & "control" & vbLf & _
+ "[ForwardSearch(""%bm.pdf"",""%nc"",%l,0)]" & vbLf & _
+ sTL & "\sumatrapdf\SumatraPDF.exe"
+ 'oWsh.RegWrite sP & "ProcessCmd", _
+ ' sTL & "\SumatraPDF\SumatraPDF.exe" & vbLf & """%bm.pdf"""
+ oWsh.RegWrite sP & "ProcessCmd", vbLf
+ Next
+ oWsh.RegWrite sPro & sPr
+ End If
+Next
+
+If Not bFirstConfig Then
+ If bAdobe then
+ MsgBox "TeXnicCenter now configured for TeX Live 2008 and Adobe Reader", _
+ 0, "TeXnicCenter Configuration"
+ Else
+ MsgBox "TeXnicCenter now configured for TeX Live 2008 and SumatraPDF", _
+ 0, "TeXnicCenter Configuration"
+ End If
+End If