texworks: lowering the barrier to entrytug.org/texworks/texworks-presentation.pdfdevelopment...

21
. . . . . . T E Xworks: lowering the barrier to entry Jonathan Kew [email protected] July 21, 2008

Upload: others

Post on 13-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

TEXworks: loweringthebarriertoentry

[email protected]

July21, 2008

Page 2: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Approachable TEX?

Page 3: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Approachable TEX?

Page 4: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Approachable TEX?

Page 5: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Approachable TEX?

Page 6: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Approachable TEX?

Page 7: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Approachable TEX?

Page 8: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Approachable TEX!

Page 9: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

A TEX environmentfornewcomers

TheintroductionofTeXShopcauseda TEX-boomamongMacintoshusers.1

Oneoftheoutstandingsuccessstoriesofthe TEX worldinrecentyearshasbeenDickKoch’sTeXShopenvironmentforMacOS X.WhyhasTeXShopprovedsopopular, amongnewcomersaswellasexperienced TEX users?

• clean, uncluttereduserinterfacepresentingonlytheessentials

• “poweruser”featuresarenotthrustonthenewuser

• simplifiedworkflowbasedonPDF ratherthanDVI output• userinterfacetouches:

• magnifying-glasstool• source↔ previewsynchronization

1http://en.wikipedia.org/wiki/TeXShop

Page 10: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Sowhatis TEXworks?

The TEXworksprojectisanefforttobuildasimilar TEX front-endprogramthatwillbeavailableforalltoday’smajordesktopoperatingsystems—inparticular, MS Windows(XP andVista),typicalLinuxdistros, andotherX11-basedsystems, inadditiontoMacOS X.

TEXworkswasbegunfollowingdiscussionsatanumberofTUGmeetings, particularlysomeconversationsbetweenKarlBerry, DickKochandJonathanKew. Initialdesignanddevelopmenthasreceivedgeneroussponsorshipthroughthe TEX developmentfund.

Page 11: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Developmentapproach

Inordertodeliverafree, robust, capable, portableapplicationinareasonableamountoftime, TEXworksisbeingbuiltonthefoundationoftwokeyopen-sourcetools:

• thePopplerlibraryforPDF support• theQtapplicationframework

TheseinturnrelyonadditionalcomponentssuchasFreetype,Fontconfig, X11, zlib, etc., butPopplerandQtaretheprimarydependenciesof TEXworksitself.

ThecurrentcodealsoreliesontheHunspelllibraryforspell-checking,butthismaychangeinthefuture.

AlthoughQtisparticularlyassociatedwiththeKDE desktopenvironment, ithasalonghistoryasacross-platformapplicationframework, andunderliesanumberofmajorapplications(bothfreeandcommercial)onWindowsandMacOS X aswellasLinux/X11.

Page 12: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

TEXworksfeatures

1.SimpleGUI texteditor• UnicodesupportusingstandardOpenTypefonts• multi-levelundo/redo• search&replace, with(optional)regexsupport• comment/uncommentlines, etc.• TEX/LATEX syntaxcoloring• auto-completionforeasyinsertionofcommoncommands• templatestoprovideastartingpointforcommondocument

types

Page 13: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

TEXworksfeatures

2.Toolstoexecute TEX andrelatedprogramstocreatePDF• extensiblesetof TEX commands(withcommoncommands

suchaspdftex, pdflatex, xelatex, context, etc. beingpreconfigured)

• alsosupportrunningBibTEX, Makeindex, etc.• anyterminaloutputappearsina“console”panelofthe

documentwindow; automaticallyhiddenifnoerrorsoccur• “rootdocument”metadataso“Typeset”worksfroman

\includedfile

Page 14: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

TEXworksfeatures

3.Previewwindowtoviewtheoutput• anti-aliasedPDF display• automaticallyopenswhen TEX finishes• auto-refreshwhenre-typesetting(stayatsamepage/view)• TeXShop-like“magnifyingglass”featuretoexaminedetailin

thepreview• one-clickre-typesettingfromeithersourceorpreview• source↔ previewsynchronizationbasedonJérômeLaurens’

SyncTEX technology

Page 15: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

TEXworksfeatures

1. SimpleGUI texteditor

2. Toolstoexecute TEX andrelatedprograms

3. Previewwindowtoviewtheoutput

4. Additional“poweruser”features• advancededitorfeaturessuchascodefolding• interactionwithexternaleditorsandviewers• customizabletoolbars, palettes, etc.• butonlyiftheycanbeaddedwithoutclutteringor

complicatingtheinterfaceandtheinitialuserexperience

Page 16: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

TEXworksfeatures

1. SimpleGUI texteditor

2. Toolstoexecute TEX andrelatedprograms

3. Previewwindowtoviewtheoutput4. Additional“poweruser”features

• advancededitorfeaturessuchascodefolding• interactionwithexternaleditorsandviewers• customizabletoolbars, palettes, etc.• butonlyiftheycanbeaddedwithoutclutteringor

complicatingtheinterfaceandtheinitialuserexperience

Page 17: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Demo

Currentpre-alpha TEXworksapplication

Page 18: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Invitation

TEXworksisafreeandopensourcesoftwareproject, andyouareinvitedtoparticipate.

• usetheprototypeforsomerealwork, andgivefeedbackonwhat’sgood, what’sbad, what’sbroken

• ifthere’sacurrentbinarydownloadavailableforyourplatform, trythat

• getthecodeandtrybuildingitonyourplatform; providebugreports(andfixes!) forwhateverproblemsshowup

• digintothecode, andsubmitpatchestoimplementyourfavoritemissingfeatures

Page 19: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Invitation

TEXworksisafreeandopensourcesoftwareproject, andyouareinvitedtoparticipate.

• writedocumentationandtutorialsfornewcomerstoTEXworksand TEX; bothstandalonedocumentationandpagessuitableforon-linehelparewelcome

• reviewandenhancethecommandcompletionlistsavailablefortheintegratededitor

• providewell-commentedtemplatesforvarioustypesofdocument

• designiconsforthetoolbars, etc.; TEXworkshassomeniceiconsfromQtandtheTangoproject, butothersaremerelyroughplaceholders

Page 20: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Invitation

TEXworksisafreeandopensourcesoftwareproject, andyouareinvitedtoparticipate.

• usetheQtLinguisttooltolocalizetheuserinterfaceforyourlanguage

• package TEXworksappropriatelyforyourfavoriteGNU/LinuxorBSD distribution, orcreateandmaintainaproperinstallerfortheWindowsorMacOS X platform

Page 21: TeXworks: lowering the barrier to entrytug.org/texworks/TeXworks-presentation.pdfDevelopment approach In order to deliver a free,robust,capable,portable application in a reasonable

. . . . . .

Formoreinformation

• TEXworkshomepageontug.org:http://tug.org/texworks/• shouldincludelinkstoeverythingelse

• developmentishostedatGoogleCode:http://code.google.com/p/texworks/• sourcecoderepository• downloadsofbinarypackages• issuetracker• wikifordevelopernotes