[OS X TeX] Re: TeXShop Engine to use Acrobat as previewer

Ramón Figueroa-Centeno ramonf at hawaii.edu
Sat May 22 21:39:35 EDT 2010


Aloha,

Alas the engine I posted only works fully for Adobe Acrobat Pro and not
Adobe Reader, since although they have the same applescript dictionary
Acrobat Reader does not have many of the commands implemented.

Not all is lost as one can implement most of the functionality using System
Events, but the preview will always open on page 1. Moreover, the Acrobat
engine will set the preview position to the TeXShop default on its first
run, but once there is a preview open it will position subsequent previews
in the place the user chooses (until she closes it). The Reader engine
always opens the preview in the same place, as defined by TeXShop.

Finally, you must open System Preferences and check Enable Access for
Assistive Devices in the Universal Access preference pane, for this engine
to work.

Enjoy! (but not as much)

Ramón

---------------------------code starts after this
line--------------------------
#!/bin/bash

PATH="$PATH:/usr/texbin:/usr/local/bin"

name=$(basename "$1" .tex)
basefname="`pwd`/${name}"

# Change this line to whatever typesetting command you like that produces
PDFs.
# pdflatex --file-line-error --shell-escape --synctex=1 "$1"
# comment the line above and uncomment the one below if you wish to use an 
# installed TeXShop engine. Here we use pdflatexmk as an example.
~/Library/TeXShop/Engines/pdflatexmk.engine "$1"

# Get TeXShop's PDF window position
window=`defaults read TeXShop "NSWindow Frame PdfKitWindow"`
# replace every space run by a single space
window=`echo $window | sed 's/ +/ /g'`

x=`echo "$window" | cut -d ' ' -f 1`
y=`echo "$window" | cut -d ' ' -f 2`
width=`echo "$window" | cut -d ' ' -f 3`
height=`echo "$window" | cut -d ' ' -f 4`

# Close any preview that already exists (if any) and open the new one.
/usr/bin/osascript  <<END
activate application "Adobe Reader"
tell application "System Events"
	tell process "Adobe Reader"
		try
			click button 1 of window "$name.pdf" 
		end try
	end tell
end tell

set x to $x
set y to $y - 115
set h to $height + 115
set w to $width

tell application "Adobe Reader"
	open POSIX file "$basefname.pdf"
end tell

tell application "System Events"
	tell process "Adobe Reader"
		set position of window "$name.pdf" to {x, y}
		set size of window "$name.pdf" to {w, h}
	end tell
end tell

END

# We close the pdf window in TeXShop
close_window="tell application \"TeXShop\" to close (every window whose name
is \"$name.pdf\")"

/usr/bin/nohup /usr/bin/osascript  -e "$close_window" &

-- 
View this message in context: http://macosx-tex.576846.n2.nabble.com/TeXShop-Engine-to-use-Acrobat-as-previewer-tp5087826p5089719.html
Sent from the MacOSX-TeX mailing list archive at Nabble.com.



More information about the MacOSX-TeX mailing list