[OS X TeX] Still trying...
Curtis Clifton
curt.clifton at mac.com
Wed Apr 7 17:31:10 CEST 2004
Herb,
On Apr 7, 2004, at 10:14 AM, Herb Schulz wrote:
> I'm back to trying to write an Applescript that does a search for the
> next
> occurrence of a particular character and then select that character
> within
> TeXShop. I can get the search to work fine but that doesn't select the
> character, it returns the character position in the file. Even though
> selection is a defined object in the TeXShop Applescript library I get
> an
> error when I try to set its position, length and contents to the
> required
> value. Is it read only?
I recall successfully setting the selection in TeXShop via Applescript
in the past, but I can't find the code that I used. Below is a script
that I use which includes some selection manipulation. The script
changes the contents of the selection and then repositions the point
inside the selection. I'm not sure it will be directly useful, but it
may inspire some ideas and is a useful script in its own right.
Curt
----------------------------------
Curtis Clifton, Graduate Student
Dept. of Computer Science, Iowa State University
http://www.cs.iastate.edu/~cclifton
--Applescript
-- Prompts the user for the name of an environment.
-- Surrounds the current selection with \begin{env} and \end{env}
-- where env is the given environment name.
-- by Curtis Clifton, http://www.cs.iastate.edu/~cclifton
property theEnv : "itemize" as Unicode text
property beginCmdPrelude : "\\begin{" as Unicode text
property cmdEnd : ("}" & return) as Unicode text
property endCmdPrelude : ("\\end{") as Unicode text
set advanceOffset to 8
try
activate
set theReply to (display dialog "Enter the environment name:" default
answer (theEnv as text) buttons {"Cancel", "OK"} default button "OK")
set theText to (text returned of theReply)
set theEnv to (theText as Unicode text)
set advanceOffset to advanceOffset + (length of theText)
tell application "TeXShop"
activate
tell selection of document #DOCUMENTNAME#
set originalOffset to offset
set content to (beginCmdPrelude & theEnv & cmdEnd & content &
endCmdPrelude & theEnv & cmdEnd)
set offset to (originalOffset + advanceOffset)
end tell
end tell
on error number errorNumber
if errorNumber is -128 then
-- User cancelled
else
error errorNumber
end if
end try
-----------------------------------------------------
Please see <http://www.esm.psu.edu/mac-tex/> for list
guidelines, information, and LaTeX/TeX resources.
More information about the macostex-archives
mailing list