[OS X TeX] latexdb & texshop
Claus Gerhardt
gerhardt at math.uni-heidelberg.de
Thu Oct 13 12:18:36 CEST 2005
The path for the subroutine was wrong, unless Ingo, like most people,
has installed Flashmode.
Claus
--Applescript
tell application "TeXShop"
get path of document of window 1
set fileName to result
end tell
set scriptPath to (do shell script "dirname " & "~/Library/
TeXShop/Scripts/ex")
set scriptPath to scriptPath & "/setnamets.scpt"
set scriptName to POSIX file scriptPath as alias
set scriptLiB to (load script scriptName)
tell scriptLiB
set {baseName, texName, pdfName, namePath, dirName,
dirNameunquoted, logName, logPath, rtfName} to setnamets(fileName)
end tell
set shellScript to "cd " & dirName & ";"
set shellScript to shellScript & "~/Library/TeXShop/bin/latexdbi " &
texName
do shell script shellScript
set shellScript to "cd " & dirName & ";"
set shellScript to shellScript & "~/Library/TeXShop/bin/dvipdfc " &
baseName
do shell script shellScript
(*
set pdfName to quotedform of pdfName
set thePDF to POSIX file pdfName as alias
*)
tell document texName of application "TeXShop"
activate
refreshpdf
end tell
%%%%%%%%% end %%%%%%%%%%
On Oct 13, 2005, at 12:06, Claus Gerhardt wrote:
> Sorry there were two typos in the basic Applescript.
>
> Claus
>
> --Applescript
>
> tell application "TeXShop"
> get path of document of window 1
> set fileName to result
> end tell
> set scriptPath to (do shell script "dirname " & "~/Library/
> Flashmode/Subroutines/ex")
> set scriptPath to scriptPath & "/setnamets.scpt"
> set scriptName to POSIX file scriptPath as alias
> set scriptLiB to (load script scriptName)
> tell scriptLiB
> set {baseName, texName, pdfName, namePath, dirName,
> dirNameunquoted, logName, logPath, rtfName} to setnamets(fileName)
> end tell
>
>
>
> set shellScript to "cd " & dirName & ";"
> set shellScript to shellScript & "~/Library/TeXShop/bin/latexdbi "
> & texName
> do shell script shellScript
>
> set shellScript to "cd " & dirName & ";"
> set shellScript to shellScript & "~/Library/TeXShop/bin/dvipdfc "
> & baseName
> do shell script shellScript
> (*
> set pdfName to quotedform of pdfName
>
> set thePDF to POSIX file pdfName as alias
> *)
> tell document texName of application "TeXShop"
> activate
> refreshpdf
> end tell
>
>
> %%%%%%%%% end %%%%%%%%%%
>
> On Oct 13, 2005, at 12:02, Claus Gerhardt wrote:
>
>
>> Ingo,
>>
>> Try the following script and convince yourself that the required
>> subscripts or subroutines are all available.
>>
>> Claus
>>
>> %%%%%%%% begin %%%%%%%
>> --Applescript
>>
>> tell application "TeXShop"
>> get path of document of window 1
>> set fileName to result
>> end tell
>> set scriptPath to (do shell script "dirname " & "~/Library/
>> Flashmode/Subroutines/ex")
>> set scriptPath to scriptPath & "/setnamets.scpt"
>> set scriptName to POSIX file scriptPath as alias
>> set scriptLiB to (load script scriptName)
>> tell scriptLiB
>> set {baseName, texName, pdfName, namePath, dirName,
>> dirNameunquoted, logName, logPath, rtfName} to setnamets(fileName)
>> end tell
>>
>>
>>
>> set shellScript to "cd " & dirName & ";"
>> set shellScript to shellScript & "~/Library/TeXShop/bin/latexdbi
>> " & texname
>> do shell script shellScript
>>
>> set shellScript to "cd " & dirName & ";"
>> set shellScript to shellScript & "~/Library/TeXShop/bin/dvipdfc "
>> & basename
>> do shell script shellScript
>> (*
>> set pdfName to quotedform of pdfName
>>
>> set thePDF to POSIX file pdfName as alias
>> *)
>> tell document texName of application "TeXShop"
>> activate
>> refreshpdf
>> end tell
>>
>>
>> %%%%%%%%% end %%%%%%%%%%
>>
>> -- Save the subroutine setnamets.scpt in ~/Library/TeXShop/Scripts
>>
>> on setnamets(x)
>> set n to (number of characters of contents of x)
>> set fileNamequoted to quoted form of x
>> set windowName to do shell script "basename " & fileNamequoted
>> set m to (number of characters of contents of windowName)
>> set dirName to quoted form of (characters 1 thru (n - m - 1)
>> of x as string)
>> set dirNameunquoted to (characters 1 thru (n - m - 1) of x as
>> string)
>> set theText to contents of windowName as string
>>
>> set n to (number of characters of contents of theText)
>> set i to n as number
>>
>> repeat while i > 0
>> if character i of theText is equal to "." then
>> set m to i
>> exit repeat
>> else
>> set i to (i - 1)
>> end if
>> end repeat
>>
>> set baseName to (characters 1 thru (m - 1) of theText as string)
>> set texName to baseName & ".tex"
>> set namePath to dirNameunquoted & "/" & baseName as string
>> set pdfName to namePath & ".pdf" as string
>> set rtfName to namePath & ".rtf" as string
>> set logPath to namePath & ".log" as string
>> set logName to baseName & ".log" as string
>>
>> try
>> tell application "TeXShop"
>> save document texName
>> end tell
>> end try
>> return {baseName, texName, pdfName, namePath, dirName,
>> dirNameunquoted, logName, logPath, rtfName} as list
>> end setnamets
>>
>>
>> On Oct 13, 2005, at 2:30, Claus Gerhardt wrote:
>>
>>
>>
>>> The command in the shell script should be
>>>
>>>
>>>
>>>
>>>> latexdb "$1"
>>>>
>>>>
>>>>
>>>
>>>
>>> Claus
>>>
>>>
>>> On Oct 13, 2005, at 1:12, Ingo Reich wrote:
>>>
>>>
>>>
>>>
>>>> Hi,
>>>> I'd like to use latexdb from within texshop. (latexdb is a
>>>> script based on python that enables one to connect to mySQL-
>>>> databases from within a latex-file: http://privat.hgesser.com/
>>>> software/latexdb/). I tried to adapt one of Claus Gerhardts
>>>> Scripts and came up with the one below. The applescript works
>>>> properly the first time it is called, the second time ii is
>>>> called however texshop complains that it can't locate the file
>>>> example.tex (in German: "Der Ort des Dokuments 'example.tex'
>>>> konnte nicht festgestellt werden"), and it wants me to "save
>>>> as ...". Any ideas what's going wrong here? Thanks,
>>>> Ingo
>>>>
>>>>
>>>>
>>>> %%%%%%%% begin %%%%%%%
>>>> --Applescript
>>>>
>>>> set scriptPath to (do shell script "dirname " & "~/Library/
>>>> TeXShop/Scripts/ex")
>>>> set scriptPath to scriptPath & "/setname.scpt"
>>>> set scriptName to POSIX file scriptPath as alias
>>>> set scriptLiB to (load script scriptName)
>>>> tell scriptLib
>>>> set frontName to setname(#NAMEPATH#,#TEXPATH#)
>>>> end tell
>>>>
>>>> set fileName to #NAMEPATH#
>>>> set n to (number of characters of contents of fileName)
>>>> set fileNamequoted to quoted form of fileName
>>>> set baseName to do shell script "basename " & fileNamequoted
>>>> set m to (number of characters of contents of baseName)
>>>> set dirName to quoted form of (characters 1 thru (n - m - 1) of
>>>> fileName as string)
>>>> set texName to baseName & ".tex"
>>>>
>>>> set shellScript to "cd " & dirName & ";"
>>>> set shellScript to shellScript & "~/Library/TeXShop/bin/
>>>> latexdbi " & baseName
>>>> do shell script shellScript
>>>>
>>>> tell application "TeXShop"
>>>> activate
>>>> open POSIX file #DVIPATH#
>>>> end tell
>>>> %%%%%%%%% end %%%%%%%%%%
>>>>
>>>>
>>>> where "latexdbi" is the following binary script:
>>>>
>>>> %%%%%%%% begin %%%%%%%%%%
>>>> #!/bin/tcsh
>>>> # latexdbi
>>>>
>>>> set path= ($path /usr/local/bin /usr/local/teTeX/bin/powerpc-
>>>> apple-darwin-current)
>>>>
>>>> latexdb "$1.tex"
>>>>
>>>> %%%%%%%%% end %%%%%%%%%%
>>>>
>>>> ------------------------- Info --------------------------
>>>> Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
>>>> & FAQ: http://latex.yauh.de/faq/
>>>> TeX FAQ: http://www.tex.ac.uk/faq
>>>> List Archive: http://tug.org/pipermail/macostex-archives/
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>> ------------------------- Info --------------------------
>>> Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
>>> & FAQ: http://latex.yauh.de/faq/
>>> TeX FAQ: http://www.tex.ac.uk/faq
>>> List Archive: http://tug.org/pipermail/macostex-archives/
>>>
>>>
>>>
>>>
>>
>> ------------------------- Info --------------------------
>> Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
>> & FAQ: http://latex.yauh.de/faq/
>> TeX FAQ: http://www.tex.ac.uk/faq
>> List Archive: http://tug.org/pipermail/macostex-archives/
>>
>>
>>
>
> ------------------------- Info --------------------------
> Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
> & FAQ: http://latex.yauh.de/faq/
> TeX FAQ: http://www.tex.ac.uk/faq
> List Archive: http://tug.org/pipermail/macostex-archives/
>
>
------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
& FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
More information about the macostex-archives
mailing list