12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817 |
- This is org, produced by makeinfo version 4.8 from org.texi.
- INFO-DIR-SECTION Emacs
- START-INFO-DIR-ENTRY
- * Org Mode: (org). outline-based notes management and organizer
- END-INFO-DIR-ENTRY
- This manual is for Org-mode (version 4.33).
- Copyright (C) 2004, 2005, 2006 Free Software Foundation
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, with the Front-Cover texts
- being "A GNU Manual," and with the Back-Cover Texts as in (a)
- below. A copy of the license is included in the section entitled
- "GNU Free Documentation License."
- (a) The FSF's Back-Cover Text is: "You have freedom to copy and
- modify this GNU Manual, like GNU software. Copies published by
- the Free Software Foundation raise funds for GNU development."
- File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
- Org Mode Manual
- ***************
- This manual is for Org-mode (version 4.33).
- Copyright (C) 2004, 2005, 2006 Free Software Foundation
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, with the Front-Cover texts
- being "A GNU Manual," and with the Back-Cover Texts as in (a)
- below. A copy of the license is included in the section entitled
- "GNU Free Documentation License."
- (a) The FSF's Back-Cover Text is: "You have freedom to copy and
- modify this GNU Manual, like GNU software. Copies published by
- the Free Software Foundation raise funds for GNU development."
- * Menu:
- * Introduction:: Getting started
- * Document structure:: A tree works like your brain
- * Tables:: Pure magic for quick formatting
- * Hyperlinks:: Notes in context
- * TODO items:: Every tree branch can be a TODO item
- * Timestamps:: Assign date and time to items
- * Tags:: Tagging headlines and matching sets of tags
- * Agenda views:: Collecting information into views
- * Exporting:: Sharing and publishing of notes
- * Publishing:: Create a web site of linked Org-mode files
- * Miscellaneous:: All the rest which did not fit elsewhere
- * Index:: The fast road to specific information
- * Key Index:: Key bindings and where they are described
- --- The Detailed Node Listing ---
- Introduction
- * Summary:: Brief summary of what Org-mode does
- * Installation and activation:: How to install Org-mode
- * Feedback:: Bug reports, ideas, patches etc.
- Document Structure
- * Outlines:: Org-mode is based on outline-mode
- * Headlines:: How to typeset org-tree headlines
- * Visibility cycling:: Show and hide, much simplified
- * Motion:: Jumping to other headlines
- * Structure editing:: Changing sequence and level of headlines
- * Archiving:: Move done task trees to a different place
- * Sparse trees:: Matches embedded in context
- * Plain lists:: Editing hand-formatted lists
- Tables
- * Built-in table editor:: Simple tables
- * Narrow columns:: Stop wasting space in tables
- * Table calculations:: Compute a field from other fields
- * orgtbl-mode:: The table editor as minor mode
- * table.el:: Complex tables
- Calculations in tables
- * Formula syntax:: How to write a formula
- * Lisp formulas:: An alternative way to write formulas
- * Column formulas:: Formulas valid for all fields in a column
- * Advanced features:: Field names, parameters and automatic recalc
- * Named-field formulas:: Formulas valid in single fields
- * Editing/debugging formulas:: Changing a stored formula
- * Appetizer:: Taste the power of calc
- Hyperlinks
- * Link format:: How links in Org-mode are formatted
- * Internal links:: Links to other places in the current file
- * External links:: URL-like links to the world
- * Handling links:: Creating, inserting and following
- * Search options:: Linking to a specific location
- * Custom searches:: When the default search is not enough
- * Remember:: Org-trees store quick notes
- Internal links
- * Radio targets:: Make targets trigger links in plain text.
- * CamelCase links:: Activating CamelCase words as links
- TODO items
- * TODO basics:: Marking and displaying TODO entries
- * Progress logging:: Document your productivity
- * TODO extensions:: Workflow and assignments
- * Priorities:: Some things are more important than others
- Extended use of TODO keywords
- * Workflow states:: From TODO to DONE in steps
- * TODO types:: I do this, Fred the rest
- * Per file keywords:: Different files, different requirements
- Timestamps
- * Time stamps:: Assigning a time to a tree entry
- * Creating timestamps:: Commands which insert timestamps
- Tags
- * Tag inheritance:: Tags use the tree structure of the outline
- * Setting tags:: How to assign tags to a headline
- * Tag searches:: Searching for combinations of tags
- Agenda Views
- * Agenda files:: Files being searched for agenda information
- * Agenda dispatcher:: Keyboard access to agenda views
- * Weekly/Daily agenda:: The calendar page with current tasks
- * Global TODO list:: All unfinished action items
- * Matching headline tags:: Structured information with fine-tuned search
- * Timeline:: Time-sorted view for single file
- * Agenda commands:: Remote editing of org trees
- The weekly/daily agenda
- * Categories:: Not all tasks are equal
- * Time-of-day specifications:: How the agenda knows the time
- * Calendar/Diary integration:: Integrating Anniversaries and more
- * Sorting of agenda items:: The order of things
- Exporting
- * ASCII export:: Exporting to plain ASCII
- * HTML export:: Exporting to HTML
- * XOXO export:: Exporting to XOXO
- * iCalendar export:: Exporting in iCalendar format
- * Text interpretation:: How the exporter looks at the file
- Text interpretation by the exporter
- * Comment lines:: Some lines will not be exported
- * Enhancing text:: Subscripts, symbols and more
- * Export options:: How to influence the export settings
- Publishing
- * Configuration:: Defining projects
- * Sample configuration:: Example projects
- * Triggering publication:: Publication commands
- Configuration
- * Project alist:: The central configuration variable
- * File sources and destinations:: From here to there
- * Selecting files:: What files are part of the project?
- * Publishing action:: Setting the function doing the publishing
- * Publishing options:: Tweaking HTML export
- * Publishing links:: Which links keep working after publishing?
- * Project page index:: Publishing a list of project files
- Sample configuration
- * Simple example:: One-component publishing
- * Complex example:: A multi-component publishing example
- Miscellaneous
- * Completion:: M-TAB knows what you need
- * Customization:: Adapting Org-mode to your taste
- * Summary of in-buffer settings:: Using special lines to set options
- * The very busy C-c C-c key:: When in doubt, press C-c C-c
- * Clean view:: Getting rid of leading stars in the outline
- * TTY keys:: Using Org-mode on a tty
- * FAQ:: Frequently asked questions
- * Interaction:: Other Emacs packages
- * Bugs:: Things which do not work perfectly
- * Acknowledgments:: These people provided feedback and more
- Interaction with other packages
- * Extensions:: Third-party extensions for Org-mode
- * Cooperation:: Packages Org-mode cooperates with
- * Conflicts:: Packages that lead to conflicts
- File: org, Node: Introduction, Next: Document structure, Prev: Top, Up: Top
- 1 Introduction
- **************
- * Menu:
- * Summary:: Brief summary of what Org-mode does
- * Installation and activation:: How to install Org-mode
- * Feedback:: Bug reports, ideas, patches etc.
- File: org, Node: Summary, Next: Installation and activation, Prev: Introduction, Up: Introduction
- 1.1 Summary
- ===========
- Org-mode is a mode for keeping notes, maintaining ToDo lists, and doing
- project planning with a fast and effective plain-text system.
- Org-mode develops organizational tasks around NOTES files that
- contain information about projects as plain text. Org-mode is
- implemented on top of outline-mode, which makes it possible to keep the
- content of large files well structured. Visibility cycling and
- structure editing help to work with the tree. Tables are easily
- created with a built-in table editor. Org-mode supports ToDo items,
- deadlines, time stamps, and scheduling. It dynamically compiles
- entries into an agenda that utilizes and smoothly integrates much of
- the Emacs calendar and diary. Plain text URL-like links connect to
- websites, emails, Usenet messages, BBDB entries, and any files related
- to the projects. For printing and sharing of notes, an Org-mode file
- can be exported as a structured ASCII file, as HTML, or (todo and
- agenda items only) as an iCalendar file. It can also serve as a
- publishing tool for a set of linked webpages.
- Org-mode keeps simple things simple. When first fired up, it should
- feel like a straightforward, easy to use outliner. Complexity is not
- imposed, but a large amount of functionality is available when you need
- it. Org-mode can be used on different levels and in different ways, for
- example:
- * as an outline extension with visibility cycling and structure editing
- * as an ASCII system and table editor for taking structured notes
- * as an ASCII table editor with spreadsheet-like capabilities
- * as a TODO list editor
- * as a full agenda and planner with deadlines and work scheduling
- * as a simple hypertext system, with HTML export
- * as a publishing tool to create a set of interlinked webpages
- The Org-mode table editor can be integrated into any major mode by
- activating the minor Orgtbl-mode.
- There is a website for Org-mode which provides links to the newest
- version of Org-mode, as well as additional information, screen shots
- and example files. This page is located at
- `http://www.astro.uva.nl/~dominik/Tools/org/'.
- File: org, Node: Installation and activation, Next: Feedback, Prev: Summary, Up: Introduction
- 1.2 Installation and Activation
- ===============================
- If Org-mode is part of the Emacs distribution or an XEmacs package, you
- only need to copy the following lines to your `.emacs' file. The last
- two lines define _global_ keys for the commands `org-store-link' and
- `org-agenda' - please choose suitable keys yourself.
- ;; The following lines are always needed. Choose your own keys.
- (add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
- (define-key global-map "\C-cl" 'org-store-link)
- (define-key global-map "\C-ca" 'org-agenda)
- Furthermore, you must activate `font-lock-mode' in org-mode buffers,
- because significant functionality depends on font-locking being active.
- You can do this with either one of the following two lines:
- (global-font-lock-mode 1) ; for all buffers
- (add-hook 'org-mode-hook 'turn-on-font-lock) ; org-mode buffers only
- If you have downloaded Org-mode from the Web, you must take
- additional action: Byte-compile `org.el' and `org-publish.el' and put
- them together with `org-install.el' on your load path. Then add to
- `.emacs':
- ;; This line only if org-mode is not part of the X/Emacs distribution.
- (require 'org-install)
- With this setup, all files with extension `.org' will be put into
- Org-mode. As an alternative, make the first line of a file look like
- this:
- MY PROJECTS -*- mode: org; -*-
- which will select Org-mode for this buffer no matter what the file's
- name is. See also the variable `org-insert-mode-line-in-empty-file'.
- File: org, Node: Feedback, Prev: Installation and activation, Up: Introduction
- 1.3 Feedback
- ============
- If you find problems with Org-mode, or if you have questions, remarks,
- or ideas about it, please contact the maintainer Carsten Dominik at
- <dominik@science.uva.nl>.
- For bug reports, please provide as much information as possible,
- including the version information of Emacs (`C-h v emacs-version
- <RET>') and Org-mode (`C-h v org-version <RET>'), as well as the
- Org-mode related setup in `.emacs'. If an error occurs, a traceback
- can be very useful. Often a small example file helps, along with clear
- information about:
- 1. What exactly did you do?
- 2. What did you expect to happen?
- 3. What happened instead?
- Thank you for helping to improve this mode.
- File: org, Node: Document structure, Next: Tables, Prev: Introduction, Up: Top
- 2 Document Structure
- ********************
- Org-mode is based on outline mode and provides flexible commands to
- edit the structure of the document.
- * Menu:
- * Outlines:: Org-mode is based on outline-mode
- * Headlines:: How to typeset org-tree headlines
- * Visibility cycling:: Show and hide, much simplified
- * Motion:: Jumping to other headlines
- * Structure editing:: Changing sequence and level of headlines
- * Archiving:: Move done task trees to a different place
- * Sparse trees:: Matches embedded in context
- * Plain lists:: Editing hand-formatted lists
- File: org, Node: Outlines, Next: Headlines, Prev: Document structure, Up: Document structure
- 2.1 Outlines
- ============
- Org-mode is implemented on top of outline-mode. Outlines allow to
- organize a document in a hierarchical structure, which (at least for
- me) is the best representation of notes and thoughts. Overview over
- this structure is achieved by folding (hiding) large parts of the
- document to show only the general document structure and the parts
- currently being worked on. Org-mode greatly simplifies the use of
- outlines by compressing the entire show/hide functionality into a
- single command `org-cycle', which is bound to the <TAB> key.
- File: org, Node: Headlines, Next: Visibility cycling, Prev: Outlines, Up: Document structure
- 2.2 Headlines
- =============
- Headlines define the structure of an outline tree. The headlines in
- Org-mode start with one or more stars, on the left margin. For example:
- * Top level headline
- ** Second level
- *** 3rd level
- some text
- *** 3rd level
- more text
- * Another top level headline
- Some people find the many stars too noisy and would prefer an outline
- that has whitespace followed by a single star as headline starters.
- *Note Clean view:: describes a setup to realize this.
- File: org, Node: Visibility cycling, Next: Motion, Prev: Headlines, Up: Document structure
- 2.3 Visibility cycling
- ======================
- Outlines make it possible to hide parts of the text in the buffer.
- Org-mode uses just two commands, bound to <TAB> and `S-<TAB>' to change
- the visibility in the buffer.
- `<TAB>'
- _Subtree cycling_: Rotate current subtree between the states
- ,-> FOLDED -> CHILDREN -> SUBTREE --.
- '-----------------------------------'
- The cursor must be on a headline for this to work(1). When the
- cursor is at the beginning of the buffer and the first line is not
- a headline, then <TAB> actually runs global cycling (see
- below)(2). Also when called with a prefix argument (`C-u <TAB>'),
- global cycling is invoked.
- `S-<TAB>'
- `C-u <TAB>'
- _Global cycling_: Rotate the entire buffer between the states
- ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
- '--------------------------------------'
- Note that inside tables, `S-<TAB>' jumps to the previous field.
- `C-c C-a'
- Show all.
- When Emacs first visits an Org-mode file, the global state is set to
- OVERVIEW, i.e. only the top level headlines are visible. This can be
- configured through the variable `org-startup-folded', or on a per-file
- basis by adding one of the following lines anywhere in the buffer:
- #+STARTUP: overview
- #+STARTUP: content
- #+STARTUP: showall
- ---------- Footnotes ----------
- (1) see, however, the option `org-cycle-emulate-tab'.
- (2) see the option `org-cycle-global-at-bob'.
- File: org, Node: Motion, Next: Structure editing, Prev: Visibility cycling, Up: Document structure
- 2.4 Motion
- ==========
- The following commands jump to other headlines in the buffer.
- `C-c C-n'
- Next heading.
- `C-c C-p'
- Previous heading.
- `C-c C-f'
- Next heading same level.
- `C-c C-b'
- Previous heading same level.
- `C-c C-u'
- Backward to higher level heading.
- `C-c C-j'
- Jump to a different place without changing the current outline
- visibility. Shows the document structure in a temporary buffer,
- where you can use visibility cycling (<TAB>) to find your
- destination. After pressing <RET>, the cursor moves to the
- selected location in the original buffer, and the headings
- hierarchy above it is made visible.
- File: org, Node: Structure editing, Next: Archiving, Prev: Motion, Up: Document structure
- 2.5 Structure editing
- =====================
- `M-<RET>'
- Insert new heading with same level as current. If the cursor is
- in a plain list item, a new item is created (*note Plain lists::).
- To force creation of a new headline, use a prefix arg, or first
- press <RET> to get to the beginning of the next line. When this
- command is used in the middle of a line, the line is split and the
- rest of the line becomes the new headline. If the command is used
- at the beginning of a headline, the new headline is created before
- the current line. If at the beginning of any other line, the
- content of that line is made the new heading.
- `M-S-<RET>'
- Insert new TODO entry with same level as current heading.
- `M-<left>'
- Promote current heading by one level.
- `M-<right>'
- Demote current heading by one level.
- `M-S-<left>'
- Promote the current subtree by one level.
- `M-S-<right>'
- Demote the current subtree by one level.
- `M-S-<up>'
- Move subtree up (swap with previous subtree of same level).
- `M-S-<down>'
- Move subtree down (swap with next subtree of same level).
- `C-c C-x C-w'
- `C-c C-x C-k'
- Kill subtree, i.e. remove it from buffer but save in kill ring.
- `C-c C-x M-w'
- Copy subtree to kill ring.
- `C-c C-x C-y'
- Yank subtree from kill ring. This does modify the level of the
- subtree to make sure the tree fits in nicely at the yank position.
- The yank level can also be specified with a prefix arg, or by
- yanking after a headline marker like `****'.
- When there is an active region (transient-mark-mode), promotion and
- demotion work on all headlines in the region. To select a region of
- headlines, it is best to place both point and mark at the beginning of a
- line, mark at the beginning of the first headline, and point at the line
- just after the last headline to change. Note that when the cursor is
- inside a table (*note Tables::), the Meta-Cursor keys have different
- functionality.
- File: org, Node: Archiving, Next: Sparse trees, Prev: Structure editing, Up: Document structure
- 2.6 Archiving
- =============
- When a project represented by a (sub)tree is finished, you may want to
- move the tree to an archive place, either in the same file under a
- special top-level heading, or even to a different file.
- `C-c $'
- Archive the subtree starting at the cursor position to the location
- given by `org-archive-location'.
- The default archive is a file in the same directory as the current
- file, with the name derived by appending `_archive' to the current file
- name. For information and examples on how to change this, see the
- documentation string of the variable `org-archive-location'. If you
- are also using the Org-mode agenda, archiving to a different file is a
- good way to keep archived trees from contributing agenda items.
- File: org, Node: Sparse trees, Next: Plain lists, Prev: Archiving, Up: Document structure
- 2.7 Sparse trees
- ================
- An important feature of Org-mode is the ability to construct _sparse
- trees_ for selected information in an outline tree. A sparse tree
- means that the entire document is folded as much as possible, but the
- selected information is made visible along with the headline structure
- above it(1). Just try it out and you will see immediately how it works.
- Org-mode contains several commands creating such trees. The most
- basic one is `org-occur':
- `C-c /'
- Occur. Prompts for a regexp and shows a sparse tree with all
- matches. If the match is in a headline, the headline is made
- visible. If the match is in the body of an entry, headline and
- body are made visible. In order to provide minimal context, also
- the full hierarchy of headlines above the match is shown, as well
- as the headline following the match. Each match is also
- highlighted; the highlights disappear when the buffer is changed
- with an editing command.
- For frequently used sparse trees of specific search strings, you can
- use the variable `org-agenda-custom-commands' to define fast keyboard
- access to specific sparse trees. These commands will then be
- accessible through the agenda dispatcher (*note Agenda dispatcher::).
- For example:
- (setq org-agenda-custom-commands
- '(("f" occur-tree "FIXME")))
- will define the key `C-c a f' as a shortcut for creating a sparse tree
- matching the string `FIXME'.
- Other commands use sparse trees as well. For example `C-c C-v'
- creates a sparse TODO tree (*note TODO basics::).
- To print a sparse tree, you can use the Emacs command
- `ps-print-buffer-with-faces' which does not print invisible parts of
- the document (2). Or you can use the command `C-c C-x v' to export
- only the visible part of the document and print the resulting file.
- ---------- Footnotes ----------
- (1) See also the variables `org-show-hierarchy-above' and
- `org-show-following-heading'.
- (2) This does not work under XEmacs, because XEmacs uses selective
- display for outlining, not text properties.
- File: org, Node: Plain lists, Prev: Sparse trees, Up: Document structure
- 2.8 Plain lists
- ===============
- Headlines define both the structure of the Org-mode file, and also lists
- (for example, TODO items (*note TODO items::) should be created using
- headline levels). When taking notes, however, the plain text is
- sometimes easier to read with hand-formatted lists. Org-mode supports
- editing such lists, and the HTML exporter (*note Exporting::) does
- parse and format them.
- Org-mode knows ordered and unordered lists. Unordered list items
- start with `-', `+', or `*'(1) as bullets. Ordered list items start
- with `1.' or `1)'. Items belonging to the same list must have the same
- indentation on the first line. In particular, if an ordered list
- reaches number `10.', then the 2-digit numbers must be written
- left-aligned with the other numbers in the list. Indentation also
- determines the end of a list item. It ends before the next line that
- is indented like the bullet/number, or less. For example:
- ** Lord of the Rings
- My favorite scenes are (in this order)
- 1. Eowyns fight with the witch king
- + this was already my favorite scene in the book
- + I really like Miranda Otto.
- 2. The attack of the Rohirrim
- 3. Peter Jackson being shot by Legolas
- - on DVD only
- He makes a really funny face when it happens.
- But in the end, not individual scenes matter but the film as a whole.
- Org-mode supports these lists by tuning filling and wrapping commands
- to deal with them correctly.
- Every item in a plain list can be made a checkbox by starting it with
- the string `[ ]'. The checkbox status can conveniently be toggled with
- `C-c C-c'.
- * Stupid mistakes when distributing a new version
- - [ ] update also Emacs CVS
- - [X] forget to update index.html on the website
- - [X] leaving a `(debug)' form in the code
- The following commands act on items when the cursor is in the first
- line of an item (the line with the bullet or number).
- `<TAB>'
- Items can be folded just like headline levels if you set the
- variable `org-cycle-include-plain-lists'. The level of an item is
- then given by the indentation of the bullet/number. Items are
- always subordinate to real headlines, however; the hierarchies
- remain completely separated.
- `M-<RET>'
- Insert new item at current level. With prefix arg, force a new
- heading (*note Structure editing::). If this command is used in
- the middle of a line, the line is _split_ and the rest of the line
- becomes the new item. If this command is executed in the
- _whitespace before a bullet or number_, the new item is created
- _before_ the current item. If the command is executed in the
- white space before the text that is part of an item but does not
- contain the bullet, a bullet is added to the current line.
- `M-S-<RET>'
- Insert a new item with a checkbox.
- `S-<up>'
- `S-<down>'
- Jump to the previous/next item in the current list.
- `M-S-<up>'
- `M-S-<down>'
- Move the item including subitems up/down (swap with previous/next
- item of same indentation). If the list is ordered, renumbering is
- automatic.
- `M-S-<left>'
- `M-S-<right>'
- Decrease/increase the indentation of the item, including subitems.
- Initially, the item tree is selected based on current indentation.
- When these commands are executed several times in direct
- succession, the initially selected region is used, even if the new
- indentation would imply a different hierarchy. To use the new
- hierarchy, break the command chain with a cursor motion or so.
- `C-c C-c'
- If there is a checkbox in the item line, toggle the state of the
- checkbox. Otherwise, if this is an ordered list, renumber the
- ordered list at the cursor.
- ---------- Footnotes ----------
- (1) When using `*' as a bullet, lines must be indented or they will
- be seen as top-level headlines. Also, when you are hiding leading
- stars to get a clean outline view, plain list items starting with a
- star are visually indistinguishable from true headlines. In short:
- even though `*' is supported, it may be better not to use it for plain
- list items
- File: org, Node: Tables, Next: Hyperlinks, Prev: Document structure, Up: Top
- 3 Tables
- ********
- Org-mode has a very fast and intuitive table editor built-in.
- Spreadsheet-like calculations are supported in connection with the
- Emacs `calc' package.
- * Menu:
- * Built-in table editor:: Simple tables
- * Narrow columns:: Stop wasting space in tables
- * Table calculations:: Compute a field from other fields
- * orgtbl-mode:: The table editor as minor mode
- * table.el:: Complex tables
- File: org, Node: Built-in table editor, Next: Narrow columns, Prev: Tables, Up: Tables
- 3.1 The built-in table editor
- =============================
- Org-mode makes it easy to format tables in plain ASCII. Any line with
- `|' as the first non-white character is considered part of a table.
- `|' is also the column separator. A table might look like this:
- | Name | Phone | Age |
- |-------+-------+-----|
- | Peter | 1234 | 17 |
- | Anna | 4321 | 25 |
- A table is re-aligned automatically each time you press <TAB> or
- <RET> or `C-c C-c' inside the table. <TAB> also moves to the next
- field (<RET> to the next row) and creates new table rows at the end of
- the table or before horizontal lines. The indentation of the table is
- set by the first line. Any line starting with `|-' is considered as a
- horizontal separator line and will be expanded on the next re-align to
- span the whole table width. So, to create the above table, you would
- only type
- |Name|Phone|Age
- |-
- and then press <TAB> to align the table and start filling in fields.
- When typing text into a field, Org-mode treats <DEL>, <Backspace>,
- and all character keys in a special way, so that inserting and deleting
- avoids shifting other fields. Also, when typing _immediately after the
- cursor was moved into a new field with `<TAB>', `S-<TAB>' or `<RET>'_,
- the field is automatically made blank. If this behavior is too
- unpredictable for you, configure the variables
- `org-enable-table-editor' and `org-table-auto-blank-field'.
- Creation and conversion
- .......................
- `C-c |'
- Convert the active region to table. If every line contains at
- least one TAB character, the function assumes that the material is
- tab separated. If not, lines are split at whitespace into fields.
- You can use a prefix argument to indicate the minimum number of
- consecutive spaces required to identify a field separator
- (default: just one).
- If there is no active region, this command creates an empty
- Org-mode table. But it's easier just to start typing, like
- `|Name|Phone|Age <RET> |- <TAB>'.
- Re-aligning and field motion
- ............................
- `C-c C-c'
- Re-align the table without moving the cursor.
- `<TAB>'
- Re-align the table, move to the next field. Creates a new row if
- necessary.
- `S-<TAB>'
- Re-align, move to previous field.
- `<RET>'
- Re-align the table and move down to next row. Creates a new row if
- necessary. At the beginning or end of a line, <RET> still does
- NEWLINE, so it can be used to split a table.
- Column and row editing
- ......................
- `M-<left>'
- `M-<right>'
- Move the current column left/right.
- `M-S-<left>'
- Kill the current column.
- `M-S-<right>'
- Insert a new column to the left of the cursor position.
- `M-<up>'
- `M-<down>'
- Move the current row up/down.
- `M-S-<up>'
- Kill the current row or horizontal line.
- `M-S-<down>'
- Insert a new row above (with arg: below) the current row.
- `C-c -'
- Insert a horizontal line below current row. With prefix arg, the
- line is created above the current line.
- `C-c ^'
- Sort the table lines in the region. Point and mark must be in the
- first and last line to be included, and must be in the column that
- should be used for sorting. The command prompts for numerical
- versus alphanumerical sorting.
- Regions
- .......
- `C-c C-x M-w'
- Copy a rectangular region from a table to a special clipboard.
- Point and mark determine edge fields of the rectangle. The
- process ignores horizontal separator lines.
- `C-c C-x C-w'
- Copy a rectangular region from a table to a special clipboard, and
- blank all fields in the rectangle. So this is the "cut" operation.
- `C-c C-x C-y'
- Paste a rectangular region into a table. The upper right corner
- ends up in the current field. All involved fields will be
- overwritten. If the rectangle does not fit into the present table,
- the table is enlarged as needed. The process ignores horizontal
- separator lines.
- `C-c C-q'
- Wrap several fields in a column like a paragraph. If there is an
- active region, and both point and mark are in the same column, the
- text in the column is wrapped to minimum width for the given
- number of lines. A prefix ARG may be used to change the number of
- desired lines. If there is no region, the current field is split
- at the cursor position and the text fragment to the right of the
- cursor is prepended to the field one line down. If there is no
- region, but you specify a prefix ARG, the current field is made
- blank, and the content is appended to the field above.
- Calculations
- ............
- `C-c ='
- Install a new formula for the current column and replace current
- field with the result of the formula.
- `C-u C-c ='
- Install a new formula for the current field, which must be a named
- field. Evaluate the formula and replace the field content with the
- result.
- `C-c ''
- Edit all formulas associated with the current table in a separate
- buffer.
- `C-c *'
- Recalculate the current row by applying the stored formulas from
- left to right. When called with a `C-u' prefix, recalculate the
- entire table, starting with the first non-header line (i.e. below
- the first horizontal separator line). For details, see *Note
- Table calculations::.
- `C-#'
- Rotate the calculation mark in first column through the states `',
- `#', `*', `!', `$'. For the meaning of these marks see *Note
- Advanced features::. When there is an active region, change all
- marks in the region.
- `C-c ?'
- Which table column is the cursor in? Displays number >0 in echo
- area.
- `C-c +'
- Sum the numbers in the current column, or in the rectangle defined
- by the active region. The result is shown in the echo area and can
- be inserted with `C-y'.
- `S-<RET>'
- When current field is empty, copy from first non-empty field above.
- When not empty, copy current field down to next row and move cursor
- along with it. Depending on the variable
- `org-table-copy-increment', integer field values will be
- incremented during copy. This key is also used by CUA-mode (*note
- Cooperation::).
- Miscellaneous
- .............
- `C-c `'
- Edit the current field in a separate window. This is useful for
- fields that are not fully visible (*note Narrow columns::). When
- called with a `C-u' prefix, just make the full field visible, so
- that it can be edited in place.
- `C-c <TAB>'
- This is an alias for `C-u C-c `' to make the current field fully
- visible.
- `M-x org-table-import'
- Import a file as a table. The table should be TAB- or whitespace
- separated. Useful, for example, to import an Excel table or data
- from a database, because these programs generally can write
- TAB-separated text files. This command works by inserting the
- file into the buffer and then converting the region to a table.
- Any prefix argument is passed on to the converter, which uses it
- to determine the separator.
- `M-x org-table-export'
- Export the table as a TAB-separated file. Useful for data
- exchange with, for example, Excel or database programs.
- If you don't like the automatic table editor because it gets in your
- way on lines which you would like to start with `|', you can turn it
- off with
- (setq org-enable-table-editor nil)
- Then the only table command that still works is `C-c C-c' to do a
- manual re-align.
- File: org, Node: Narrow columns, Next: Table calculations, Prev: Built-in table editor, Up: Tables
- 3.2 Narrow columns
- ==================
- The width of columns is automatically determined by the table editor.
- Sometimes a single field or a few fields need to carry more text,
- leading to inconveniently wide columns. To limit(1) the width of a
- column, one field anywhere in the column may contain just the string
- `<N>' where `N' is an integer specifying the width of the column in
- characters. The next re-align will then set the width of this column
- to no more than this value.
- |---+------------------------------| |---+--------|
- | | | | | <6> |
- | 1 | one | | 1 | one |
- | 2 | two | ----\ | 2 | two |
- | 3 | This is a long chunk of text | ----/ | 3 | This=> |
- | 4 | four | | 4 | four |
- |---+------------------------------| |---+--------|
- Fields that are wider become clipped and end in the string `=>'. Note
- that the full text is still in the buffer, it is only invisible. To
- see the full text, hold the mouse over the field - a tooltip window
- will show the full content. To edit such a field, use the command `C-c
- `' (that is `C-c' followed by the backquote). This will open a new
- window with the full field. Edit it and finish with `C-c C-c'.
- When visiting a file containing a table with narrowed columns, the
- necessary character hiding has not yet happened, and the table needs to
- be aligned before it looks nice. Setting the option
- `org-startup-align-all-tables' will realign all tables in a file upon
- visiting, but also slow down startup. You can also set this option on
- a per-file basis with:
- #+STARTUP: align
- #+STARTUP: noalign
- ---------- Footnotes ----------
- (1) This feature does not work on XEmacs.
- File: org, Node: Table calculations, Next: orgtbl-mode, Prev: Narrow columns, Up: Tables
- 3.3 Calculations in tables
- ==========================
- The table editor makes use of the Emacs `calc' package to implement
- spreadsheet-like capabilities. It can also evaluate Emacs Lisp forms to
- derive fields from other fields. Org-mode has two levels of complexity
- for table calculations. On the basic level, tables do only horizontal
- computations, so a field can be computed from other fields _in the same
- row_, and Org-mode assumes that there is only one formula for each
- column. This is very efficient to work with and enough for many tasks.
- On the complex level, columns and individual fields can be named for
- easier referencing in formulas, individual named fields can have their
- own formula associated with them, and recalculation can be automated.
- * Menu:
- * Formula syntax:: How to write a formula
- * Lisp formulas:: An alternative way to write formulas
- * Column formulas:: Formulas valid for all fields in a column
- * Advanced features:: Field names, parameters and automatic recalc
- * Named-field formulas:: Formulas valid in single fields
- * Editing/debugging formulas:: Changing a stored formula
- * Appetizer:: Taste the power of calc
- File: org, Node: Formula syntax, Next: Lisp formulas, Prev: Table calculations, Up: Table calculations
- 3.3.1 Formula syntax
- --------------------
- A formula can be any algebraic expression understood by the Emacs
- `calc' package. Note that `calc' has the slightly non-standard
- convention that `/' has lower precedence than `*', so that `a/b*c' is
- interpreted as `a/(b*c)'. Before evaluation by `calc-eval' (*note
- calc-eval: (calc)Calling Calc from Your Programs.), variable
- substitution takes place:
- $ refers to the current field
- $3 refers to the field in column 3 of the current row
- $3..$7 a vector of the fields in columns 3-7 of current row
- $P1..$P3 vector of column range, using column names
- &2 second data field above the current, in same column
- &5-2 vector from fifth to second field above current
- &III-II vector of fields between 2nd and 3rd hline above
- &III vector of fields between third hline above and current field
- $name a named field, parameter or constant
- The range vectors can be directly fed into the calc vector functions
- like `vmean' and `vsum'.
- `$name' is interpreted as the name of a column, parameter or
- constant. Constants are defined globally through the variable
- `org-table-formula-constants'. If you have the `constants.el' package,
- it will also be used to resolve constants, including natural constants
- like `$h' for Planck's constant, and units like `$km' for kilometers.
- Column names and parameters can be specified in special table lines.
- These are described below, see *Note Advanced features::.
- A formula can contain an optional mode string after a semicolon.
- This string consists of flags to influence calc's modes(1) during
- execution, e.g. `p20' to switch the internal precision to 20 digits,
- `n3', `s3', `e2' or `f4' to switch to normal, scientific, engineering,
- or fixed display format, respectively, and `D', `R', `F', and `S' to
- turn on degrees, radians, fraction and symbolic modes, respectively.
- In addition, you may provide a `printf' format specifier to reformat
- the final result. A few examples:
- $1+$2 Sum of first and second field
- $1+$2;%.2f Same, format result to two decimals
- exp($2)+exp($1) Math functions can be used
- $;%.1f Reformat current cell to 1 decimal
- ($3-32)*5/9 Degrees F -> C conversion
- $c/$1/$cm Hz -> cm conversion, using `constants.el'
- tan($1);Dp3s1 Compute in degrees, precision 3, display SCI 1
- sin($1);Dp3%.1e Same, but use printf specifier for display
- vmean($2..$7) Compute column range mean, using vector function
- vsum(&III) Sum numbers from 3rd hline above, up to here
- taylor($3,x=7,2) taylor series of $3, at x=7, second degree
- ---------- Footnotes ----------
- (1) By default, Org-mode uses the standard calc modes (precision 12,
- angular units degrees, fraction and symbolic modes off). The display
- format, however, has been changed to `(float 5)' to keep tables compact.
- The default settings can be configured using the variable
- `org-calc-default-modes'.
- File: org, Node: Lisp formulas, Next: Column formulas, Prev: Formula syntax, Up: Table calculations
- 3.3.2 Emacs Lisp forms as formulas
- ----------------------------------
- It is also possible to write a formula in Emacs lisp; this can be useful
- for string manipulation and control structures. If a formula starts
- with a single quote followed by an opening parenthesis, then it is
- evaluated as a lisp form. The evaluation should return either a string
- or a number. Just as with `calc' formulas, you can provide a format
- specifier after a semicolon. A few examples:
- swap the first two characters of the content of column 1
- '(concat (substring "$1" 1 2) (substring "$1" 0 1) (substring "$1" 2))
- Add columns 1 and 2, equivalent to the calc's `$1+$2'
- '(+ $1 $2)
- File: org, Node: Column formulas, Next: Advanced features, Prev: Lisp formulas, Up: Table calculations
- 3.3.3 Column formulas
- ---------------------
- To apply a formula to a field, type it directly into the field,
- preceded by an equal sign, like `=$1+$2'. When you press <TAB> or
- <RET> or `C-c C-c' with the cursor still in the field, the formula will
- be stored as the formula for the current column, evaluated and the
- current field replaced with the result. If the field contains only
- `=', the previously stored formula for this column is used.
- For each column, Org-mode will remember the most recently used
- formula. The information is stored in a special line starting with
- `#+TBLFM' directly below the table. When adding/deleting/moving
- columns with the appropriate commands, the stored equations will be
- modified accordingly. When a column used in a calculation is removed,
- references to this column become invalid and will cause an error upon
- applying the equation.
- Instead of typing an equation into the field, you may also use the
- command `C-c ='. It prompts for a formula (with default taken from the
- `#+TBLFM:' line) and applies it to the current field. A numerical
- prefix (e.g. `C-5 C-c =') will apply it to that many subsequent fields
- in the current column.
- To recompute all the fields in a line, use the command `C-c *'. It
- re-applies all stored equations to the current row, from left to right.
- With a `C-u' prefix, this will be done to every line in the table, so
- use this command it you want to make sure the entire table is
- up-to-date. `C-u C-c C-c' is another way to update the entire table.
- Global updating does not touch the line(s) above the first horizontal
- separator line, assuming that this is the table header.
- File: org, Node: Advanced features, Next: Named-field formulas, Prev: Column formulas, Up: Table calculations
- 3.3.4 Advanced features
- -----------------------
- If you want the recalculation of fields to happen automatically, or if
- you want to be able to assign a formula to an individual field (instead
- of an entire column) you need to reserve the first column of the table
- for special marking characters. Here is an example of a table that
- collects exam results of students and makes use of these features:
- |---+---------+--------+--------+--------+-------+------|
- | | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note |
- |---+---------+--------+--------+--------+-------+------|
- | ! | | P1 | P2 | P3 | Tot | |
- | # | Maximum | 10 | 15 | 25 | 50 | 10.0 |
- | ^ | | m1 | m2 | m3 | mt | |
- |---+---------+--------+--------+--------+-------+------|
- | # | Peter | 10 | 8 | 23 | 41 | 8.2 |
- | # | Sara | 6 | 14 | 19 | 39 | 7.8 |
- | # | Sam | 2 | 4 | 3 | 9 | 1.8 |
- |---+---------+--------+--------+--------+-------+------|
- | | Average | | | | 29.7 | |
- | ^ | | | | | at | |
- | $ | max=50 | | | | | |
- |---+---------+--------+--------+--------+-------+------|
- #+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(&II);%.1f
- Important: Please note that for these special tables, recalculating the
- table with `C-u C-c *' will only affect rows that are marked `#' or
- `*', and named fields. The column formulas are not applied in rows
- with empty first field.
- The marking characters have the following meaning:
- `!'
- The fields in this line define names for the columns, so that you
- may refer to a column as `$Tot' instead of `$6'.
- `^'
- This row defines names for the fields _above_ the row. With such
- a definition, any formula in the table may use `$m1' to refer to
- the value `10'. Also, named fields can have their own formula
- associated with them.
- `_'
- Similar to `^', but defines names for the fields in the row
- _below_.
- `$'
- Fields in this row can define _parameters_ for formulas. For
- example, if a field in a `$' row contains `max=50', then formulas
- in this table can refer to the value 50 using `$max'. Parameters
- work exactly like constants, only that they can be defined on a
- per-table basis. Changing a parameter and then recalculating the
- table can be useful.
- `#'
- Fields in this row are automatically recalculated when pressing
- <TAB> or <RET> or `S-<TAB>' in this row. Also, this row is
- selected for a global recalculation with `C-u C-c *'. Unmarked
- lines will be left alone by this command.
- `*'
- Selects this line for global recalculation with `C-u C-c *', but
- not for automatic recalculation. Use this when automatic
- recalculation slows down editing too much.
- `'
- Unmarked lines are exempt from recalculation with `C-u C-c *'.
- All lines that should be recalculated should be marked with `#' or
- `*'.
- File: org, Node: Named-field formulas, Next: Editing/debugging formulas, Prev: Advanced features, Up: Table calculations
- 3.3.5 Named-field formulas
- --------------------------
- A named field can have its own formula associated with it. In the
- example above, this is used for the `at' field that contains the
- average result of the students. To enter a formula for a named field,
- just type it into the buffer, preceded by `:='. Or use `C-u C-c ='.
- This equation will be stored below the table like `$name=...'. Any
- recalculation in the table (even if only requested for the current
- line) will also update all named field formulas.
- File: org, Node: Editing/debugging formulas, Next: Appetizer, Prev: Named-field formulas, Up: Table calculations
- 3.3.6 Editing and debugging formulas
- ------------------------------------
- To edit a column or field formula, use the commands `C-c =' and `C-u
- C-c =', respectively. The currently active expression is then
- presented as default in the minibuffer, where it may be edited.
- Note that making a table field blank does not remove the formula
- associated with the field - during the next recalculation the field
- will be filled again. To remove a formula from a field, you have to
- give an empty reply when prompted for the formula, or to edit the
- `#+TBLFM' line.
- You may edit the `#+TBLFM' directly and re-apply the changed
- equations with `C-c C-c' in that line, or with the normal recalculation
- commands in the table.
- In particular for large tables with many formulas, it is convenient
- to use the command `C-c '' to edit the formulas of the current table in
- a separate buffer. That buffer will show the formulas one per line,
- and you are free to edit, add and remove formulas. Press `C-c ?' on a
- `$...' expression to get information about its interpretation.
- Exiting the buffer with `C-c C-c' only stores the modified formulas
- below the table. Exiting with `C-u C-c C-c' also applies them to the
- entire table. `C-c C-q' exits without installing the changes.
- When the evaluation of a formula leads to an error, the field content
- becomes the string `#ERROR'. If you would like see what is going on
- during variable substitution and calculation in order to find a bug,
- turn on formula debugging in the menu and repeat the calculation, for
- example by pressing `C-c = <RET>' in a field. Detailed information
- will be displayed.
- File: org, Node: Appetizer, Prev: Editing/debugging formulas, Up: Table calculations
- 3.3.7 Appetizer
- ---------------
- Finally, just to whet your appetite on what can be done with the
- fantastic `calc' package, here is a table that computes the Taylor
- series for a couple of functions (homework: try that with Excel :-)
- |---+-------------+---+-----+--------------------------------------|
- | | Func | n | x | Result |
- |---+-------------+---+-----+--------------------------------------|
- | # | exp(x) | 1 | x | 1 + x |
- | # | exp(x) | 2 | x | 1 + x + x^2 / 2 |
- | # | exp(x) | 3 | x | 1 + x + x^2 / 2 + x^3 / 6 |
- | # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 |
- | # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2 |
- | * | tan(x) | 3 | x | 0.0175 x + 1.77e-6 x^3 |
- |---+-------------+---+-----+--------------------------------------|
- #+TBLFM: $5=taylor($2,$4,$3);n3
- File: org, Node: orgtbl-mode, Next: table.el, Prev: Table calculations, Up: Tables
- 3.4 The Orgtbl minor mode
- =========================
- If you like the intuitive way the Org-mode table editor works, you
- might also want to use it in other modes like text-mode or mail-mode.
- The minor mode Orgtbl-mode makes this possible. You can always toggle
- the mode with `M-x orgtbl-mode'. To turn it on by default, for example
- in mail mode, use
- (add-hook 'mail-mode-hook 'turn-on-orgtbl)
- File: org, Node: table.el, Prev: orgtbl-mode, Up: Tables
- 3.5 The `table.el' package
- ==========================
- Complex ASCII tables with automatic line wrapping, column- and
- row-spanning, and alignment can be created using the Emacs table
- package by Takaaki Ota (`http://sourceforge.net/projects/table', and
- also part of Emacs 22). When <TAB> or `C-c C-c' is pressed in such a
- table, Org-mode will call `table-recognize-table' and move the cursor
- into the table. Inside a table, the keymap of Org-mode is inactive.
- In order to execute Org-mode-related commands, leave the table.
- `C-c C-c'
- Recognize `table.el' table. Works when the cursor is in a
- table.el table.
- `C-c ~'
- Insert a table.el table. If there is already a table at point,
- this command converts it between the table.el format and the
- Org-mode format. See the documentation string of the command
- `org-convert-table' for the restrictions under which this is
- possible.
- File: org, Node: Hyperlinks, Next: TODO items, Prev: Tables, Up: Top
- 4 Hyperlinks
- ************
- Just like HTML, Org-mode provides links inside a file, and external
- links to other files, Usenet articles, emails, and much more.
- * Menu:
- * Link format:: How links in Org-mode are formatted
- * Internal links:: Links to other places in the current file
- * External links:: URL-like links to the world
- * Handling links:: Creating, inserting and following
- * Search options:: Linking to a specific location
- * Custom searches:: When the default search is not enough
- * Remember:: Org-trees store quick notes
- File: org, Node: Link format, Next: Internal links, Prev: Hyperlinks, Up: Hyperlinks
- 4.1 Link format
- ===============
- Org-mode will recognize plain URL-like links and activate them as
- clickable links. The general link format, however, looks like this:
- [[link][description]] or alternatively [[link]]
- Once a link in the buffer is complete (all brackets present),
- Org-mode will change the display so that `description' is displayed
- instead of `[[link][description]]' and `link' is displayed instead of
- `[[link]]'. Links will be highlighted in the face `org-link', which by
- default is an underlined face. You can directly edit the visible part
- of a link. Note that this can be either the `link' part (if there is
- not description) or the `description' part. To edit also the invisible
- `link' part, use `C-c C-l' with the cursor on the link.
- If you place the cursor at the beginning or just behind the end of
- the displayed text and press <BACKSPACE>, you will remove the
- (invisible) bracket at that location. This makes the link incomplete
- and the internals are again displayed as plain text. Inserting the
- missing bracket hides the link internals again. To show the internal
- structure of all links, use the menu entry `Org->Hyperlinks->Literal
- links'.
- File: org, Node: Internal links, Next: External links, Prev: Link format, Up: Hyperlinks
- 4.2 Internal links
- ==================
- If the link does not look like a URL, it is considered to be internal in
- the current file. Links such as `[[My Target]]' or `[[My Target][Find
- my target]]' lead to a text search in the current file. The link can
- be followed with `C-c C-o' when the cursor is on the link, or with a
- mouse click (*note Handling links::). The preferred match for such a
- link is a dedicated target: the same string in double angular brackets.
- Targets may be located anywhere; often it is convenient to put them
- into a comment line. For example
- # <<My Target>>
- In HTML export (*note HTML export::), such targets will become named
- anchors for direct access through `http' links(1).
- If no dedicated target exists, Org-mode will search for the words in
- the link. In the above example the search would be for `my target'.
- Links starting with a star like `*My Target' restrict the search to
- headlines. When searching, Org-mode will first try an exact match, but
- then move on to more and more lenient searches. For example, the link
- `[[*My Targets]]' will find any of the following:
- ** My targets
- ** TODO my targets are bright
- ** my 20 targets are
- To insert a link targeting a headline, in-buffer completion can be
- used. Just type a star followed by a few optional letters into the
- buffer and press `M-<TAB>'. All headlines in the current buffer will be
- offered as completions. *Note Handling links::, for more commands
- creating links.
- Following a link pushes a mark onto Org-mode's own mark ring. You
- can return to the previous position with `C-c &'. Using this command
- several times in direct succession goes back to positions recorded
- earlier.
- * Menu:
- * Radio targets:: Make targets trigger links in plain text.
- * CamelCase links:: Activating CamelCase words as links
- ---------- Footnotes ----------
- (1) Note that text before the first headline will never be exported,
- so the first such target must be after the first headline.
- File: org, Node: Radio targets, Next: CamelCase links, Prev: Internal links, Up: Internal links
- 4.2.1 Radio targets
- -------------------
- You can configure Org-mode to link any occurrences of certain target
- names in normal text. So without explicitly creating a link, the text
- connects to the target radioing its position. Radio targets are
- enclosed by triple angular brackets. For example, a target `<<<My
- Target>>>' causes each occurrence of `my target' in normal text to
- become activated as a link. The Org-mode file is scanned automatically
- for radio targets only when the file is first loaded into Emacs. To
- update the target list during editing, press `C-c C-c' with the cursor
- on or at a target.
- File: org, Node: CamelCase links, Prev: Radio targets, Up: Internal links
- 4.2.2 CamelCase words as links
- ------------------------------
- Org-mode also supports CamelCase words as links. This feature is not
- turned on by default because of the inconsistencies this system suffers
- from. To activate CamelCase words as links, you need to customize the
- option `org-activate-links'. A CamelCase word then leads to a text
- search such that `CamelCaseLink' is equivalent to `[[camel case link]]'.
- File: org, Node: External links, Next: Handling links, Prev: Internal links, Up: Hyperlinks
- 4.3 External links
- ==================
- Org-mode supports links to files, websites, Usenet and email messages,
- and BBDB database entries. External links are URL-like locators. They
- start with a short identifying string followed by a colon. There can be
- no space after the colon. The following list shows examples for each
- link type.
- http://www.astro.uva.nl/~dominik on the web
- file:/home/dominik/images/jupiter.jpg file, absolute path
- file:papers/last.pdf file, relative path
- news:comp.emacs Usenet link
- mailto:adent@galaxy.net Mail link
- vm:folder VM folder link
- vm:folder#id VM message link
- vm://myself@some.where.org/folder#id VM on remote machine
- wl:folder WANDERLUST folder link
- wl:folder#id WANDERLUST message link
- mhe:folder MH-E folder link
- mhe:folder#id MH-E message link
- rmail:folder RMAIL folder link
- rmail:folder#id RMAIL message link
- gnus:group GNUS group link
- gnus:group#id GNUS article link
- bbdb:Richard Stallman BBDB link
- shell:ls *.org A shell command
- elisp:(find-file-other-frame "Elisp.org") An elisp form to evaluate
- A link should be enclosed in double brackets and may contain a
- descriptive text to be displayed instead of the url (*note Link
- format::), for example:
- [[http://www.gnu.org/software/emacs/][GNU Emacs]]
- Org-mode also finds external links in the normal text and activates
- them as links. If spaces must be part of the link (for example in
- `bbdb:Richard Stallman'), or you need to remove ambiguities about the
- end of the link, enclose them in angular brackets.
- File: org, Node: Handling links, Next: Search options, Prev: External links, Up: Hyperlinks
- 4.4 Handling links
- ==================
- Org-mode provides methods to create a link in the correct syntax, to
- insert it into an org-mode file, and to follow the link.
- `C-c l'
- Store a link to the current location. This is a _global_ command
- which can be used in any buffer to create a link. The link will be
- stored for later insertion into an Org-mode buffer (see below).
- For Org-mode files, if there is a `<<target>>' at the cursor, the
- link points to the target. Otherwise it points to the current
- headline. For VM, RMAIL, WANDERLUST, MH-E, GNUS and BBDB buffers,
- the link will indicate the current article/entry. For W3 and W3M
- buffers, the link goes to the current URL. For any other files,
- the link will point to the file, with a search string (*note
- Search options::) pointing to the contents of the current line.
- If there is an active region, the selected words will form the
- basis of the search string. If the automatically created link is
- not working correctly or accurately enough, you can write custom
- functions to select the search string and to do the search for
- particular file types - see *Note Custom searches::. The key
- binding `C-c l' is only a suggestion - see *Note Installation and
- activation::.
- `C-c C-l'
- Insert a link. This prompts for a link to be inserted into the
- buffer. You can just type a link, using text for an internal
- link, or one of the link type prefixes mentioned in the examples
- above. Through completion, all links stored during the current
- session can be accessed. The link will be inserted into the
- buffer, along with a descriptive text. Note that you don't have
- to use this command to insert a link. Links in Org-mode are plain
- text, and you can type or paste them straight into the buffer. By
- using this command, the links are automatically enclosed in double
- brackets, and you will be asked for the optional descriptive text.
- If the link is a `file:' link and the linked file is located in
- the same directory as the current file or a subdirectory of it, the
- path of the file will be inserted relative to the current
- directory.
- `C-u C-c C-l'
- When `C-c C-l' is called with a `C-u' prefix argument, a link to a
- file will be inserted and you may use file name completion to
- select the name of the file. The path to the file is inserted
- relative to the directory of the current org file, if the linked
- file is in the current directory or in a subdirectory of it, or if
- the path is written relative to the current directory using `../'.
- Otherwise an absolute path is used, if possible with `~/' for
- your home directory. You can force an absolute path with two
- `C-u' prefixes.
- `C-c C-l with cursor on existing link'
- When the cursor is on an existing link, `C-c C-l' allows you to
- edit the link and description parts of the link.
- `C-c C-o'
- Open link at point. This will launch a web browser for URLs (using
- `browse-url-at-point'), run vm/mh-e/wanderlust/rmail/gnus/bbdb for
- the corresponding links, and execute the command in a shell link.
- When the cursor is on an internal link, this commands runs the
- corresponding search. When the cursor is on a TAG list in a
- headline, it creates the corresponding TAGS view. If the cursor
- is on a time stamp, it compiles the agenda for that date.
- Furthermore, it will visit text files in `file:' links with Emacs
- and select a suitable application for non-text files.
- Classification of files is based on file extension only. See
- option `org-file-apps'. If you want to override the default
- application and visit the file with Emacs, use a `C-u' prefix.
- `mouse-2'
- `mouse-1'
- On links, `mouse-2' will open the link just as `C-c C-o' would.
- Under Emacs 22, also `mouse-1' will follow a link.
- `mouse-3'
- Like `mouse-2', but force file links to be opened with Emacs.
- `C-c %'
- Push the current position onto the mark ring, to be able to return
- easily. Commands following an internal link do this automatically.
- `C-c &'
- Jump back to a recorded position. A position is recorded by the
- commands following internal links, and by `C-c %'. Using this
- command several times in direct succession moves through a ring of
- previously recorded positions.
- File: org, Node: Search options, Next: Custom searches, Prev: Handling links, Up: Hyperlinks
- 4.5 Search options in file links
- ================================
- File links can contain additional information to make Emacs jump to a
- particular location in the file when following a link. This can be a
- line number or a search option after a double(1) colon. For example,
- when the command `C-c l' creates a link (*note Handling links::) to a
- file, it encodes the words in the current line as a search string that
- can be used to find this line back later when following the link with
- `C-c C-o'.
- Here is the syntax of the different ways to attach a search to a file
- link, together with an explanation:
- [[file:~/code/main.c::255]]
- [[file:~/xx.org::My Target]]
- [[file:~/xx.org::*My Target]]
- [[file:~/xx.org::/regexp/]]
- `255'
- Jump to line 255.
- `My Target'
- Search for a link target `<<My Target>>', or do a text search for
- `my target', similar to the search in internal links, see *Note
- Internal links::. In HTML export (*note HTML export::), such a
- file link will become an HTML reference to the corresponding named
- anchor in the linked file.
- `*My Target'
- In an Org-mode file, restrict search to headlines.
- `/regexp/'
- Do a regular expression search for `regexp'. This uses the Emacs
- command `occur' to list all matches in a separate window. If the
- target file is in Org-mode, `org-occur' is used to create a sparse
- tree with the matches.
- As a degenerate case, a file link with an empty file name can be used
- to search the current file. For example, `<file:::find me>' does a
- search for `find me' in the current file, just as `[[find me]]' would.
- ---------- Footnotes ----------
- (1) For backward compatibility, line numbers can also follow a
- single colon.
- File: org, Node: Custom searches, Next: Remember, Prev: Search options, Up: Hyperlinks
- 4.6 Custom Searches
- ===================
- The default mechanism for creating search strings and for doing the
- actual search related to a file link may not work correctly in all
- cases. For example, BibTeX database files have many entries like
- `year="1993"' which would not result in good search strings, because
- the only unique identification for a BibTeX entry is the citation key.
- If you come across such a problem, you can write custom functions to
- set the right search string for a particular file type, and to do the
- search for the string in the file. Using `add-hook', these functions
- need to be added to the hook variables
- `org-create-file-search-functions' and
- `org-execute-file-search-functions'. See the docstring for these
- variables for more information. Org-mode actually uses this mechanism
- for BibTeX database files, and you can use the corresponding code as an
- implementation example. Search for `BibTeX links' in the source file.
- File: org, Node: Remember, Prev: Custom searches, Up: Hyperlinks
- 4.7 Remember
- ============
- Another way to create org entries with links to other files is through
- the _Remember_ package by John Wiegley. _Remember_ lets you store
- quick notes with little interruption of your work flow. See
- `http://www.emacswiki.org/cgi-bin/wiki/RememberMode' for more
- information. The notes produced by _Remember_ can be stored in
- different ways, and Org-mode files are a good target. Org-mode allows
- you to file away notes either to a default file, or directly to the
- correct location in your Org-mode outline tree. The following
- customization will tell _Remember_ to use org files as target, and to
- create annotations compatible with Org-mode links.
- (setq org-directory "~/path/to/my/orgfiles/")
- (setq org-default-notes-file "~/.notes")
- (setq remember-annotation-functions '(org-remember-annotation))
- (setq remember-handler-functions '(org-remember-handler))
- (add-hook 'remember-mode-hook 'org-remember-apply-template)
- In combination with Org-mode, you can use templates to generate
- different types of remember notes. For example, if you would like to
- use one template to create general TODO entries, and another one for
- journal entries, you could use:
- (setq org-remember-templates
- '((?t "* TODO %?\n %i\n %a" "~/org/TODO.org")
- (?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org")))
- In these entries, the character specifies how to select the template,
- the first string specifies the template, and the (optional) second
- string specifies a default file (overruling `org-default-notes-file')
- as a target for this note.
- When you call `M-x remember' to remember something, org will prompt
- for a key to select the template and then prepare the buffer like
- * TODO
- <file:link to where you called remember>
- or
- * [2006-03-21 Tue 15:37]
- <file:link to where you called remember>
- See the variable `org-remember-templates' for more details.
- When you are finished composing a note with remember, you have to
- press `C-c C-c' to file the note away. The handler first prompts for a
- target file - if you press <RET>, the value of `org-default-notes-file'
- is used. Then the command offers the headings tree of the selected
- file. You can either immediately press <RET> to get the note appended
- to the file. Or you can use vertical cursor motion (<up> and <down>)
- and visibility cycling (<TAB>) to find a better place. Pressing <RET>
- or <left> or <right> leads to the following result.
- Cursor Key Note gets inserted
- position
- buffer-start <RET> as level 2 heading at end of file
- on headline <RET> as sublevel of the heading at cursor
- <left> as same level, before current heading
- <right> as same level, after current heading
- not on <RET> at cursor position, level taken from context.
- headline Or use prefix arg to specify level
- manually.
- So a fast way to store the note is to press `C-c C-c <RET> <RET>' to
- append it to the default file. Even shorter would be `C-u C-c C-c',
- which does the same without even showing the tree. But with little
- extra effort, you can push it directly to the correct location.
- Before inserting the text into a tree, the function ensures that the
- text has a headline, i.e. a first line that starts with a `*'. If not,
- a headline is constructed from the current date and some additional
- data. If the variable `org-adapt-indentation' is non-nil, the entire
- text is also indented so that it starts in the same column as the
- headline (after the asterisks).
- File: org, Node: TODO items, Next: Timestamps, Prev: Hyperlinks, Up: Top
- 5 TODO items
- ************
- Org-mode does not maintain TODO lists as a separate document. TODO
- items are an integral part of the notes file, because TODO items
- usually come up while taking notes! With Org-mode, you simply mark any
- entry in a tree as being a TODO item. In this way, the information is
- not duplicated, and the entire context from which the item emerged is
- always present when you check.
- Of course, this technique causes TODO items to be scattered
- throughout your file. Org-mode provides methods to give you an
- overview over all things you have to do.
- * Menu:
- * TODO basics:: Marking and displaying TODO entries
- * Progress logging:: Document your productivity
- * TODO extensions:: Workflow and assignments
- * Priorities:: Some things are more important than others
- File: org, Node: TODO basics, Next: Progress logging, Prev: TODO items, Up: TODO items
- 5.1 Basic TODO functionality
- ============================
- Any headline can become a TODO item by starting it with the word TODO,
- for example:
- *** TODO Write letter to Sam Fortune
- The most important commands to work with TODO entries are:
- `C-c C-t'
- Rotate the TODO state of the current item between
- ,-> (unmarked) -> TODO -> DONE --.
- '--------------------------------'
- The same rotation can also be done "remotely" from the timeline and
- agenda buffers with the `t' command key (*note Agenda commands::).
- `S-<right>'
- `S-<left>'
- Select the following/preceding TODO state, similar to cycling.
- Mostly useful if more than two TODO states are possible (*note
- TODO extensions::).
- `C-c C-v'
- View TODO items in a _sparse tree_ (*note Sparse trees::). Folds
- the entire buffer, but shows all TODO items and the headings
- hierarchy above them. With prefix arg, show also the DONE
- entries. With numerical prefix N, show the tree for the Nth
- keyword in the variable `org-todo-keywords'.
- `C-c a t'
- Show the global TODO list. This collects the TODO items from all
- agenda files (*note Agenda views::) into a single buffer. The
- buffer is in `agenda-mode', so there are commands to examine and
- manipulate the TODO entries directly from that buffer (*note
- Agenda commands::). *Note Global TODO list::, for more
- information.
- File: org, Node: Progress logging, Next: TODO extensions, Prev: TODO basics, Up: TODO items
- 5.2 Progress Logging
- ====================
- If you want to keep track of _when_ a certain TODO item was finished,
- turn on logging with
- (setq org-log-done t)
- Then each time you turn a TODO entry into DONE using either `C-c C-t'
- in the Org-mode buffer or `t' in the agenda buffer, a line `CLOSED:
- [timestamp]' will be inserted just after the headline. If you turn the
- entry back into a TODO item again through further state cycling, that
- line will be removed again. In the timeline (*note Timeline::) and in
- the agenda (*note Weekly/Daily agenda::), you can then use the `L' key
- to display the TODO items closed on each day, giving you an overview of
- what has been done on a day.
- File: org, Node: TODO extensions, Next: Priorities, Prev: Progress logging, Up: TODO items
- 5.3 Extended use of TODO keywords
- =================================
- The default implementation of TODO entries is just two states: TODO and
- DONE. You can, however, use the TODO feature for more complicated
- things by configuring the variables `org-todo-keywords' and
- `org-todo-interpretation'. Using special setup, you can even use TODO
- keywords in different ways in different org files.
- Note that tags are another way to classify headlines in general and
- TODO items in particular (*note Tags::).
- * Menu:
- * Workflow states:: From TODO to DONE in steps
- * TODO types:: I do this, Fred the rest
- * Per file keywords:: Different files, different requirements
- File: org, Node: Workflow states, Next: TODO types, Prev: TODO extensions, Up: TODO extensions
- 5.3.1 TODO keywords as workflow states
- --------------------------------------
- You can use TODO keywords to indicate different states in the process
- of working on an item, for example:
- (setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE")
- org-todo-interpretation 'sequence)
- Changing these variables only becomes effective in a new Emacs
- session. With this setup, the command `C-c C-t' will cycle an entry
- from TODO to FEEDBACK, then to VERIFY, and finally to DONE. You may
- also use a prefix argument to quickly select a specific state. For
- example `C-3 C-c C-t' will change the state immediately to VERIFY. If
- you define many keywords, you can use in-buffer completion (see *Note
- Completion::) to insert these words into the buffer.
- File: org, Node: TODO types, Next: Per file keywords, Prev: Workflow states, Up: TODO extensions
- 5.3.2 TODO keywords as types
- ----------------------------
- The second possibility is to use TODO keywords to indicate different
- types of action items. For example, you might want to indicate that
- items are for "work" or "home". If you are into David Allen's _Getting
- Things DONE_, you might want to use todo types `NEXTACTION', `WAITING',
- `MAYBE'. Or, when you work with several people on a single project,
- you might want to assign action items directly to persons, by using
- their names as TODO keywords. This would be set up like this:
- (setq org-todo-keywords '("Fred" "Sara" "Lucy" "Mike" "DONE")
- org-todo-interpretation 'type)
- In this case, different keywords do not indicate a sequence, but
- rather different types. So it is normally not useful to change from
- one type to another. Therefore, in this case the behavior of the
- command `C-c C-t' is changed slightly(1). When used several times in
- succession, it will still cycle through all names. But when you return
- to the item after some time and execute `C-c C-t' again, it will switch
- from each name directly to DONE. Use prefix arguments or completion to
- quickly select a specific name. You can also review the items of a
- specific TODO type in a sparse tree by using a numeric prefix to `C-c
- C-v'. For example, to see all things Lucy has to do, you would use
- `C-3 C-c C-v'. To collect Lucy's items from all agenda files into a
- single buffer, you would use the prefix arg as well when creating the
- global todo list: `C-3 C-c t'.
- ---------- Footnotes ----------
- (1) This is also true for the `t' command in the timeline and agenda
- buffers.
- File: org, Node: Per file keywords, Prev: TODO types, Up: TODO extensions
- 5.3.3 Setting up TODO keywords for individual files
- ---------------------------------------------------
- It can be very useful to use different aspects of the TODO mechanism in
- different files, which is not possible with the global settings
- described above. For file-local settings, you need to add special
- lines to the file which set the keywords and interpretation for that
- file only. For example, to set one of the two examples discussed
- above, you need one of the following lines, starting in column zero
- anywhere in the file:
- #+SEQ_TODO: TODO FEEDBACK VERIFY DONE
- #+TYP_TODO: Fred Sara Lucy Mike DONE
- To make sure you are using the correct keyword, type `#+' into the
- buffer and then use `M-<TAB>' completion.
- Remember that the last keyword must always mean that the item is DONE
- (although you may use a different word). Also note that in each file,
- only one of the two aspects of TODO keywords can be used. After
- changing one of these lines, use `C-c C-c' with the cursor still in the
- line to make the changes known to Org-mode(1).
- If you want to use very many keywords, for example when working with
- a large group of people, you may split the names over several lines:
- #+TYP_TODO: Fred Sara Lucy Mike
- #+TYP_TODO: Luis George Jules Jessica
- #+TYP_TODO: Kim Arnold Peter
- #+TYP_TODO: DONE
- ---------- Footnotes ----------
- (1) Org-mode parses these lines only when Org-mode is activated
- after visiting a file. `C-c C-c' with the cursor in a line starting
- with `#+' is simply restarting Org-mode, making sure that these changes
- will be respected.
- File: org, Node: Priorities, Prev: TODO extensions, Up: TODO items
- 5.4 Priorities
- ==============
- If you use Org-mode extensively to organize your work, you may end up
- with a number of TODO entries so large that you'd like to prioritize
- them. This can be done by placing a _priority cookie_ into the
- headline, like this
- *** TODO [#A] Write letter to Sam Fortune
- With its standard setup, Org-mode supports priorities `A', `B', and
- `C'. `A' is the highest priority. An entry without a cookie is
- treated as priority `B'. Priorities make a difference only in the
- agenda (*note Weekly/Daily agenda::).
- `C-c ,'
- Set the priority of the current headline. The command prompts for
- a priority character `A', `B' or `C'. When you press <SPC>
- instead, the priority cookie is removed from the headline. The
- priorities can also be changed "remotely" from the timeline and
- agenda buffer with the `,' command (*note Agenda commands::).
- `S-<up>'
- `S-<down>'
- Increase/decrease priority of current headline. Note that these
- keys are also used to modify time stamps (*note Creating
- timestamps::). Furthermore, these keys are also used by CUA-mode
- (*note Conflicts::).
- File: org, Node: Timestamps, Next: Tags, Prev: TODO items, Up: Top
- 6 Timestamps
- ************
- Items can be labeled with timestamps to make them useful for project
- planning.
- * Menu:
- * Time stamps:: Assigning a time to a tree entry
- * Creating timestamps:: Commands which insert timestamps
- File: org, Node: Time stamps, Next: Creating timestamps, Prev: Timestamps, Up: Timestamps
- 6.1 Time stamps, deadlines and scheduling
- =========================================
- A time stamp is a specification of a date (possibly with time) in a
- special format, either `<2003-09-16 Tue>' or `<2003-09-16 Tue 09:39>'.
- A time stamp can appear anywhere in the headline or body of an org-tree
- entry. Its presence allows entries to be shown on specific dates in
- the agenda (*note Weekly/Daily agenda::). We distinguish:
- PLAIN TIME STAMP
- A simple time stamp just assigns a date/time to an item. This is
- just like writing down an appointment in a paper agenda, or like
- writing down an event in a diary, when you want to take not of
- when something happened. In the timeline and agenda displays, the
- headline of an entry associated with a plain time stamp will be
- shown exactly on that date.
- TIME STAMP RANGE
- Two time stamps connected by `--' denote a time range. The
- headline will be shown on the first and last day of the range, and
- on any dates that are displayed and fall in the range. Here is an
- example:
- ** Meeting in Amsterdam
- <2004-08-23 Mon>--<2004-08-26 Thu>
- TIME STAMP WITH SCHEDULED KEYWORD
- If a time stamp is preceded by the word `SCHEDULED:', it means you
- are planning to start working on that task on the given date. So
- this is not about recording an event, but about planning your
- work. The headline will be listed under the given date. In
- addition, a reminder that the scheduled date has passed will be
- present in the compilation for _today_, until the entry is marked
- DONE. I.e., the task will automatically be forwarded until
- completed.
- *** TODO Call Trillian for a date on New Years Eve.
- SCHEDULED: <2004-12-25 Sat>
- TIME STAMP WITH DEADLINE KEYWORD
- If a time stamp is preceded by the word `DEADLINE:', the task
- (most likely a TODO item) is supposed to be finished on that date,
- and it will be listed then. In addition, the compilation for
- _today_ will carry a warning about the approaching or missed
- deadline, starting `org-deadline-warning-days' before the due
- date, and continuing until the entry is marked DONE. An example:
- *** TODO write article about the Earth for the Guide
- The editor in charge is <bbdb:Ford Prefect>
- DEADLINE: <2004-02-29 Sun>
- TIME STAMP WITH CLOSED KEYWORD
- When `org-log-done' is non-nil, Org-mode will automatically insert
- a special time stamp each time a TODO entry is marked done (*note
- Progress logging::). This time stamp is enclosed in square
- brackets instead of angular brackets.
- File: org, Node: Creating timestamps, Prev: Time stamps, Up: Timestamps
- 6.2 Creating timestamps
- =======================
- For Org-mode to recognize time stamps, they need to be in the specific
- format. All commands listed below produce time stamps in the correct
- format.
- `C-c .'
- Prompt for a date and insert a corresponding time stamp. When the
- cursor is at a previously used time stamp, it is updated to NOW.
- When this command is used twice in succession, a time range is
- inserted.
- `C-u C-c .'
- Like `C-c .', but use the alternative format which contains date
- and time. The default time can be rounded to multiples of 5
- minutes, see the option `org-time-stamp-rounding-minutes'.
- `C-c !'
- Like `C-c .', but insert an inactive time stamp not triggering the
- agenda.
- `C-c <'
- Insert a time stamp corresponding to the cursor date in the
- Calendar.
- `C-c >'
- Access the Emacs calendar for the current date. If there is a
- timestamp in the current line, goto the corresponding date instead.
- `C-c C-o'
- Access the agenda for the date given by the time stamp at point
- (*note Weekly/Daily agenda::).
- `C-c C-d'
- Insert `DEADLINE' keyword along with a stamp. The insertion will
- happen in the line directly following the headline.
- `C-c C-w'
- Create a sparse tree with all deadlines that are either past-due,
- or which will become due within `org-deadline-warning-days'. With
- `C-u' prefix, show all deadlines in the file. With a numeric
- prefix, check that many days. For example, `C-1 C-c C-w' shows
- all deadlines due tomorrow.
- `C-c C-s'
- Insert `SCHEDULED' keyword along with a stamp. The insertion will
- happen in the line directly following the headline. Any CLOSED
- timestamp will be removed.
- `S-<left>'
- `S-<right>'
- Change date at cursor by one day. These key bindings conflict with
- CUA-mode (*note Conflicts::).
- `S-<up>'
- `S-<down>'
- Change the item under the cursor in a timestamp. The cursor can
- be on a year, month, day, hour or minute. Note that if the cursor
- is not at a time stamp, these same keys modify the priority of an
- item. (*note Priorities::). The key bindings also conflict with
- CUA-mode (*note Conflicts::).
- `C-c C-y'
- Evaluate a time range by computing the difference between start and
- end. With prefix arg, insert result after the time range (in a
- table: into the following column).
- When Org-mode prompts for a date/time, the function reading your
- input will replace anything you choose not to specify with the current
- date and time. For details, see the documentation string of
- `org-read-date'. Also, a calender will pop up to allow selecting a
- date. The calendar can be fully controlled from the minibuffer, and a
- date can be selected with the following commands:
- `<'
- Scroll calendar backwards by one month.
- `>'
- Scroll calendar forwards by one month.
- `mouse-1'
- Select date by clicking on it.
- `S-<right>'
- One day forward.
- `S-<left>'
- One day back.
- `S-<down>'
- One week forward.
- `S-<up>'
- One week back.
- `M-S-<right>'
- One month forward.
- `M-S-<left>'
- One month back.
- `<RET>'
- Choose date in calendar (only if nothing typed into minibuffer).
- File: org, Node: Tags, Next: Agenda views, Prev: Timestamps, Up: Top
- 7 Tags
- ******
- If you wish to implement a system of labels and contexts for
- cross-correlating information, an excellent way is to assign tags to
- headlines. Org-mode has extensive support for using tags.
- Every headline can contain a list of tags, at the end of the
- headline. Tags are normal words containing letters, numbers, `_', and
- `@'. Tags must be preceded and followed by a single colon; like
- `:WORK:'. Several tags can be specified like `:WORK:URGENT:'.
- * Menu:
- * Tag inheritance:: Tags use the tree structure of the outline
- * Setting tags:: How to assign tags to a headline
- * Tag searches:: Searching for combinations of tags
- File: org, Node: Tag inheritance, Next: Setting tags, Prev: Tags, Up: Tags
- 7.1 Tag inheritance
- ===================
- Tags make use of the hierarchical structure of outline trees. If a
- heading has a certain tag, all subheadings will inherit the tag as
- well. For example, in the list
- * Meeting with the French group :WORK:
- ** Summary by Frank :BOSS:NOTES:
- *** TODO Prepare slides for him :ACTION:
- the final heading will have the tags `:WORK:', `:BOSS:', `:NOTES:', and
- `:ACTION:'. When executing tag searches and Org-mode finds that a
- certain headline matches the search criterion, it will not check any
- sublevel headline, assuming that these likely also match, and that the
- list of matches can become very long. This may not be what you want,
- however, and you can influence inheritance and searching using the
- variables `org-use-tag-inheritance' and `org-tags-match-list-sublevels'.
- File: org, Node: Setting tags, Next: Tag searches, Prev: Tag inheritance, Up: Tags
- 7.2 Setting tags
- ================
- Tags can simply be typed into the buffer at the end of a headline.
- After a colon, `M-<TAB>' offers completion on tags. There is also a
- special command for inserting tags:
- `C-c C-c'
- Enter new tags for the current headline. Org-mode will either
- offer completion or a special single-key interface for setting
- tags, see below. After pressing <RET>, the tags will be inserted
- and aligned to `org-tags-column'. When called with a `C-u'
- prefix, all tags in the current buffer will be aligned to that
- column, just to make things look nice. TAGS are automatically
- realigned after promotion, demotion, and TODO state changes (*note
- TODO basics::).
- Org will support tag insertion based on a _list of tags_. By
- default this list is constructed dynamically, containing all tags
- currently used in the buffer. You may also globally specify a hard list
- of tags with the variable `org-tag-alist'. Finally you can set the
- allowed tags for a given file with lines like
- #+TAGS: @WORK @HOME @TENNISCLUB
- #+TAGS: Laptop Car PC Sailboat
- The default method Org-mode uses to support setting tags is
- completion. However, it also implements a much better method: _fast tag
- selection_. This method allows to select and deselect tags with a
- single key per tag. To function efficiently, you need to assign unique
- keys to all tags. This can be done globally with
- (setq org-tag-alist '(("@WORK" . ?w) ("@HOME" . ?h) ("Laptop" . ?l)))
- or on a per-file basis with
- #+TAGS: @WORK(w) @HOME(h) @TENNISCLUB(t)
- #+TAGS: Laptop(l) Car(c) PC(p) Sailboat(s)
- Don't forget to press `C-c C-c' with the cursor in one of these lines
- to activate any changes.
- If selection keys have been configured, pressing `C-c C-c' will
- automatically present you with a special interface, listing inherited
- tags, the tags of the current headline, and a list of all legal tags
- with corresponding keys. Pressing keys for the tags will add or remove
- them from the list of tags in the current line. <SPC> clears all tags
- for this line, `RET' accepts the modified set, and `C-g' aborts without
- installing changes. This method lets you assing tags to a headline
- with very few keys. With the above setup, you could clear the current
- tags and set `@HOME', `Laptop' and `PC' tags with just the following
- keys: `C-c C-c <SPC> h l p <RET>'.
- What if you have globally defined your preferred set of tags using
- the variable `org-tag-alist', but would like to use a dynamic tag list
- in a specific file? Just add and empty TAGS option line to that file:
- #+TAGS:
- File: org, Node: Tag searches, Prev: Setting tags, Up: Tags
- 7.3 Tag searches
- ================
- Once a tags system has been set up, it can be used to collect related
- information into special lists.
- `C-c \'
- Create a sparse tree with all headlines matching a tags search.
- `C-c a m'
- Create a global list of tag matches from all agenda files. *Note
- Matching headline tags::.
- `C-c a M'
- Create a global list of tag matches from all agenda files, but
- check only TODO items and force checking subitems (see variable
- `org-tags-match-list-sublevels').
- A tags search string can use Boolean operators `&' for AND and `|'
- for OR. `&' binds more strongly than `|'. Parenthesis are currently
- not implemented. A tag may also be preceded by `-', to select against
- it, and `+' is syntactic sugar for positive selection. The AND
- operator `&' is optional when `+' or `-' is present. For example,
- `+WORK-BOSS' would select all headlines that are tagged `:WORK:', but
- discard those also tagged `:BOSS:'. The search string `WORK|LAPTOP'
- selects all lines tagged `:WORK:' or `:LAPTOP:'. The string
- `WORK|LAPTOP&NIGHT' requires that the `:LAPTOP:' lines are also tagged
- `NIGHT'.
- File: org, Node: Agenda views, Next: Exporting, Prev: Tags, Up: Top
- 8 Agenda Views
- **************
- Due to the way Org-mode works, TODO items, time-stamped items, and
- tagged headlines can be scattered throughout a file or even a number of
- files. To get an overview over open action items, or over events that
- are important for a particular date, this information must be collected,
- sorted and displayed in an organized way.
- Org-mode can select items based on various criteria, and display them
- in a separate buffer. Three different views are provided:
- * an _agenda_ that is like a calendar and shows information for
- specific dates
- * a _TODO list_ that covers all unfinished action items, and
- * a _tags view_ that shows information based on the tags associated
- with headlines in the outline tree.
- The extracted information is displayed in a special _agenda buffer_.
- This buffer is read-only, but provides commands to visit the
- corresponding locations in the original Org-mode files, and even to
- edit these files remotely.
- * Menu:
- * Agenda files:: Files being searched for agenda information
- * Agenda dispatcher:: Keyboard access to agenda views
- * Weekly/Daily agenda:: The calendar page with current tasks
- * Global TODO list:: All unfinished action items
- * Matching headline tags:: Structured information with fine-tuned search
- * Timeline:: Time-sorted view for single file
- * Agenda commands:: Remote editing of org trees
- File: org, Node: Agenda files, Next: Agenda dispatcher, Prev: Agenda views, Up: Agenda views
- 8.1 Agenda files
- ================
- The information to be shown is collected from all _agenda files_, the
- files listed in the variable `org-agenda-files'(1). Thus even if you
- only work with a single Org-mode file, this file should be put into
- that list(2). You can customize `org-agenda-files', but the easiest
- way to maintain it is through the following commands
- `C-c ['
- Add current file to the list of agenda files. The file is added to
- the front of the list. If it was already in the list, it is moved
- to the front. With prefix arg, file is added/moved to the end.
- `C-c ]'
- Remove current file from the list of agenda files.
- `C-,'
- Cycle through agenda file list, visiting one file after the other.
- The Org menu contains the current list of files and can be used to
- visit any of them.
- ---------- Footnotes ----------
- (1) If the value of that variable is not a list, but a single file
- name, then the list of agenda files will be maintained in that external
- file.
- (2) When using the dispatcher pressing `1' before selecting a
- command will actually limit the command to the current file, and ignore
- `org-agenda-files' until the next dispatcher command.
- File: org, Node: Agenda dispatcher, Next: Weekly/Daily agenda, Prev: Agenda files, Up: Agenda views
- 8.2 The agenda dispatcher
- =========================
- The views are created through a dispatcher that should be bound to a
- global key, for example `C-c a' (*note Installation and activation::).
- In the following we will assume that `C-c a' is indeed how the
- dispatcher is accessed and list keyboard access to commands
- accordingly. After pressing `C-c a', an additional letter is required
- to execute a command. The dispatcher offers the following default
- commands:
- `a'
- Create the calendar-like agenda (*note Weekly/Daily agenda::).
- `t / T'
- Create a list of all TODO items (*note Global TODO list::).
- `m / M'
- Create a list of headlines matching a TAGS expression (*note
- Matching headline tags::).
- You can also define custom commands that will be accessible through
- the dispatcher, just like the default commands. Custom commands are
- global searches for tags and specific TODO keywords, or a variety of
- sparse tree creating commands (*note Sparse trees::). As sparse trees
- are only defined for a single org-mode file, these latter commands act
- on the current buffer instead of the list of agenda files.
- Custom commands are configured in the variable
- `org-agenda-custom-commands'. You can customize this variable, for
- example by pressing `C-c a C'. You can also directly set it with Emacs
- Lisp in `.emacs'. For example:
- (setq org-agenda-custom-commands
- '(("w" todo "WAITING")
- ("u" tags "+BOSS-URGENT")
- ("U" tags-tree "+BOSS-URGENT")
- ("f" occur-tree "\\<FIXME\\>")))
- will define `C-c a w' as a global search for TODO entries with
- `WAITING' as the TODO keyword, `C-c a u' as a global tags search for
- headlines marked `:BOSS:' but not `:URGENT:', `C-c a U' to do the same
- search but only in the current buffer and display the result as a
- sparse tree, and `C-c a f' to create a sparse tree with all entries
- containing the word `FIXME'. For more information, look at the
- documentation string of the variable `org-agenda-custom-commands'.
- File: org, Node: Weekly/Daily agenda, Next: Global TODO list, Prev: Agenda dispatcher, Up: Agenda views
- 8.3 The weekly/daily agenda
- ===========================
- The purpose of the weekly/daily _agenda_ is to act like a page of a
- paper agenda, showing all the tasks for the current week or day.
- `C-c a a'
- Compile an agenda for the current week from a list of org files.
- The agenda shows the entries for each day. With a `C-u' prefix (or
- when the variable `org-agenda-include-all-todo' is `t'), all
- unfinished TODO items (including those without a date) are also
- listed at the beginning of the buffer, before the first date.
- Remote editing from the agenda buffer means, for example, that you
- can change the dates of deadlines and appointments from the agenda
- buffer. The commands available in the Agenda buffer are listed in
- *Note Agenda commands::.
- * Menu:
- * Categories:: Not all tasks are equal
- * Time-of-day specifications:: How the agenda knows the time
- * Calendar/Diary integration:: Integrating Anniversaries and more
- * Sorting of agenda items:: The order of things
- File: org, Node: Categories, Next: Time-of-day specifications, Prev: Weekly/Daily agenda, Up: Weekly/Daily agenda
- 8.3.1 Categories
- ----------------
- In the agenda buffer, each entry is preceded by a _category_, which is
- derived from the file name. The category can also be set with a
- special line anywhere in the buffer, looking like this:
- #+CATEGORY: Thesis
- If there are several such lines in a file, each specifies the
- category for the text below it (but the first category also applies to
- any text before the first CATEGORY line). The display in the agenda
- buffer looks best if the category is not longer than 10 characters.
- File: org, Node: Time-of-day specifications, Next: Calendar/Diary integration, Prev: Categories, Up: Weekly/Daily agenda
- 8.3.2 Time-of-Day Specifications
- --------------------------------
- Org-mode checks each agenda item for a time-of-day specification. The
- time can be part of the time stamp that triggered inclusion into the
- agenda, for example as in `<2005-05-10 Tue 19:00>'. Time ranges can be
- specified with two time stamps, like
- `<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>'.
- In the headline of the entry itself, a time(range) may also appear as
- plain text (like `12:45' or a `8:30-1pm'. If the agenda integrates the
- Emacs diary (*note Calendar/Diary integration::), time specifications
- in diary entries are recognized as well.
- For agenda display, Org-mode extracts the time and displays it in a
- standard 24 hour format as part of the prefix. The example times in
- the previous paragraphs would end up in the agenda like this:
- 8:30-13:00 Arthur Dent lies in front of the bulldozer
- 12:45...... Ford Prefect arrives and takes Arthur to the pub
- 19:00...... The Vogon reads his poem
- 20:30-22:15 Marwin escorts the Hitchhikers to the bridge
- If the agenda is in single-day mode, or for the display of today, the
- timed entries are embedded in a time grid, like
- 8:00...... ------------------
- 8:30-13:00 Arthur Dent lies in front of the bulldozer
- 10:00...... ------------------
- 12:00...... ------------------
- 12:45...... Ford Prefect arrives and takes Arthur to the pub
- 14:00...... ------------------
- 16:00...... ------------------
- 18:00...... ------------------
- 19:00...... The Vogon reads his poem
- 20:00...... ------------------
- 20:30-22:15 Marwin escorts the Hitchhikers to the bridge
- The time grid can be turned on and off with the variable
- `org-agenda-use-time-grid', and can be configured with
- `org-agenda-time-grid'.
- File: org, Node: Calendar/Diary integration, Next: Sorting of agenda items, Prev: Time-of-day specifications, Up: Weekly/Daily agenda
- 8.3.3 Calendar/Diary integration
- --------------------------------
- Emacs contains the calendar and diary by Edward M. Reingold. The
- calendar displays a three-month calendar with holidays from different
- countries and cultures. The diary allows you to keep track of
- anniversaries, lunar phases, sunrise/set, recurrent appointments
- (weekly, monthly) and more. In this way, it is quite complementary to
- Org-mode. It can be very useful to combine output from Org-mode with
- the diary.
- In order to include entries from the Emacs diary into Org-mode's
- agenda, you only need to customize the variable
- (setq org-agenda-include-diary t)
- After that, everything will happen automatically. All diary entries
- including holidays, anniversaries etc will be included in the agenda
- buffer created by Org-mode. <SPC>, <TAB>, and <RET> can be used from
- the agenda buffer to jump to the diary file in order to edit existing
- diary entries. The `i' command to insert new entries for the current
- date works in the agenda buffer, as well as the commands `S', `M', and
- `C' to display Sunrise/Sunset times, show lunar phases and to convert
- to other calendars, respectively. `c' can be used to switch back and
- forth between calendar and agenda.
- File: org, Node: Sorting of agenda items, Prev: Calendar/Diary integration, Up: Weekly/Daily agenda
- 8.3.4 Sorting of agenda items
- -----------------------------
- The entries for each day are sorted. The default order is to first
- collect all items containing an explicit time-of-day specification.
- These entries will be shown at the beginning of the list, as a
- _schedule_ for the day. After that, items remain grouped in
- categories, in the sequence given by `org-agenda-files'. Within each
- category, items are sorted by priority (*note Priorities::).
- The priority is a numerical quantity composed of the base priority
- (2000 for priority `A', 1000 for `B', and 0 for `C'), plus additional
- increments for overdue scheduled or deadline items.
- Sorting can be customized using the variable
- `org-agenda-sorting-strategy'.
- File: org, Node: Global TODO list, Next: Matching headline tags, Prev: Weekly/Daily agenda, Up: Agenda views
- 8.4 The global TODO list
- ========================
- The global TODO list contains all unfinished TODO items, formatted and
- collected into a single place.
- `C-c a t'
- Show the global TODO list. This collects the TODO items from all
- agenda files (*note Agenda views::) into a single buffer. The
- buffer is in `agenda-mode', so there are commands to examine and
- manipulate the TODO entries directly from that buffer (*note
- Agenda commands::). *Note Global TODO list::, for more
- information.
- `C-c a T'
- Like the above, but allows selection of a specific TODO keyword.
- You can also do this by specifying a prefix argument to `C-c a t'.
- With a `C-u' prefix you are prompted for a keyword. With a
- numeric prefix, the Nth keyword in `org-todo-keywords' is selected. The
- `r' key in the agenda buffer regenerates it, and you can give a
- prefix argument to this command to change the selected TODO
- keyword, for example `3 r'. If you often need a search for a
- specific keyword, define a custom command for it (*note Agenda
- dispatcher::).
- Remote editing of TODO items means that you can change the state of a
- TODO entry with a single key press. The commands available in the TODO
- list are described in *Note Agenda commands::.
- File: org, Node: Matching headline tags, Next: Timeline, Prev: Global TODO list, Up: Agenda views
- 8.5 Matching headline tags
- ==========================
- If headlines in the agenda files are marked with _tags_ (*note Tags::),
- you can select headlines based on the tags that apply to them and
- collect them into an agenda buffer.
- `C-c a m'
- Produce a list of all headlines that match a given set of tags.
- The command prompts for a selection criterion, which is a boolean
- logic expression with tags, like `+WORK+URGENT-WITHBOSS' or
- `WORK|HOME' (*note Tags::). If you often need a specific search,
- define a custom command for it (*note Agenda dispatcher::).
- `C-c a M'
- Like `C-c a m', but only select headlines that are also TODO items
- and force checking subitems (see variable
- `org-tags-match-list-sublevels'.
- The commands available in the tags list are described in *Note
- Agenda commands::.
- File: org, Node: Timeline, Next: Agenda commands, Prev: Matching headline tags, Up: Agenda views
- 8.6 Timeline for a single file
- ==============================
- The timeline is not really an agenda view, because it only summarizes
- items from a single Org-mode file. But it also uses the agenda buffer
- and provides similar commands, so we discuss it here. The timeline
- shows all time-stamped items in a single Org-mode file (or the selected
- part of it), in a _time-sorted view_. The main purpose of this command
- is to give an overview over events in a project.
- `C-c C-r'
- Show a time-sorted view of the org file, with all time-stamped
- items. When called with a `C-u' prefix, all unfinished TODO
- entries (scheduled or not) are also listed under the current date.
- The commands available in the timeline buffer are listed in *Note
- Agenda commands::.
- File: org, Node: Agenda commands, Prev: Timeline, Up: Agenda views
- 8.7 Commands in the agenda buffer
- =================================
- Entries in the agenda buffer are linked back to the org file or diary
- file where they originate. You are not allowed to edit the agenda
- buffer itself, but commands are provided to show and jump to the
- original entry location, and to edit the org-files "remotely" from the
- agenda buffer. In this way, all information is stored only once,
- removing the risk that your agenda and note files may diverge.
- Some commands can be executed with mouse clicks on agenda lines. For
- the other commands, the cursor needs to be in the desired line.
- Motion
- ......
- `n'
- Next line (same as <up>).
- `p'
- Previous line (same as <down>).
- View/GoTo org file
- ..................
- `mouse-3'
- `<SPC>'
- Display the original location of the item in another window.
- `L'
- Display original location and recenter that window.
- `mouse-2'
- `mouse-1'
- `<TAB>'
- Go to the original location of the item in another window. Under
- Emacs 22, `mouse-1' will also works for this.
- `<RET>'
- Go to the original location of the item and delete other windows.
- `f'
- Toggle Follow mode. In Follow mode, as you move the cursor through
- the agenda buffer, the other window always shows the corresponding
- location in the org file. The initial setting for this mode in new
- agenda buffers can be set with the variable
- `org-agenda-start-with-follow-mode'.
- `l'
- Toggle Logbook mode. In Logbook mode, entries that where marked
- DONE while logging was on (variable `org-log-done') are shown in
- the agenda.
- Change display
- ..............
- `o'
- Delete other windows.
- `w'
- Switch to weekly view (7 days displayed together).
- `d'
- Switch to daily view (just one day displayed).
- `D'
- Toggle the inclusion of diary entries. See *Note Calendar/Diary
- integration::.
- `g'
- Toggle the time grid on and off. See also the variables
- `org-agenda-use-time-grid' and `org-agenda-time-grid'.
- `r'
- Recreate the agenda buffer, for example to reflect the changes
- after modification of the time stamps of items with S-<left> and
- S-<right>. When the buffer is the global todo list, a prefix
- argument is interpreted to create a selective list for a specific
- TODO keyword.
- `<right>'
- Display the following `org-agenda-ndays' days. For example, if
- the display covers a week, switch to the following week. With
- prefix arg, go forward that many times `org-agenda-ndays' days.
- `<left>'
- Display the previous dates.
- `.'
- Goto today.
- Remote editing
- ..............
- `0-9'
- Digit argument.
- `t'
- Change the TODO state of the item, both in the agenda and in the
- original org file.
- `T'
- Show all tags associated with the current item. Because of
- inheritance, this may be more than the tags listed in the line
- itself.
- `:'
- Set tags for the current headline.
- `,'
- Set the priority for the current item. Org-mode prompts for the
- priority character. If you reply with <SPC>, the priority cookie
- is removed from the entry.
- `p'
- Display weighted priority of current item.
- `+'
- `S-<up>'
- Increase the priority of the current item. The priority is
- changed in the original buffer, but the agenda is not resorted.
- Use the `r' key for this.
- `-'
- `S-<down>'
- Decrease the priority of the current item.
- `C-c C-s'
- Schedule this item
- `C-c C-d'
- Set a deadline for this item.
- `S-<right>'
- Change the time stamp associated with the current line by one day
- into the future. With prefix argument, change it by that many
- days. For example, `3 6 5 S-<right>' will change it by a year.
- The stamp is changed in the original org file, but the change is
- not directly reflected in the agenda buffer. Use the `r' key to
- update the buffer.
- `S-<left>'
- Change the time stamp associated with the current line by one day
- into the past.
- `>'
- Change the time stamp associated with the current line to today.
- The key `>' has been chosen, because it is the same as `S-.' on my
- keyboard.
- `i'
- Insert a new entry into the diary. Prompts for the type of entry
- (day, weekly, monthly, yearly, anniversary, cyclic) and creates a
- new entry in the diary, just as `i d' etc. would do in the
- calendar. The date is taken from the cursor position.
- Calendar commands
- .................
- `c'
- Open the Emacs calendar and move to the date at the agenda cursor.
- `c'
- When in the calendar, compute and show the Org-mode agenda for the
- date at the cursor.
- `M'
- Show the phases of the moon for the three months around current
- date.
- `S'
- Show sunrise and sunset times. The geographical location must be
- set with calendar variables, see documentation of the Emacs
- calendar.
- `C'
- Convert the date at cursor into many other cultural and historic
- calendars.
- `H'
- Show holidays for three month around the cursor date.
- `C-c C-x C-c'
- Export a single iCalendar file containing entries from all agenda
- files.
- Quit and Exit
- .............
- `q'
- Quit agenda, remove the agenda buffer.
- `x'
- Exit agenda, remove the agenda buffer and all buffers loaded by
- Emacs for the compilation of the agenda. Buffers created by the
- user to visit org files will not be removed.
- File: org, Node: Exporting, Next: Publishing, Prev: Agenda views, Up: Top
- 9 Exporting
- ***********
- Org-mode documents can be exported into a variety of other formats. For
- printing and sharing of notes, ASCII export produces a readable and
- simple version of an Org-mode file. HTML export allows you to publish a
- notes file on the web, while the XOXO format provides a solid base for
- exchange with a broad range of other applications. To incorporate
- entries with associated times like deadlines or appointments into a
- desktop calendar program like iCal, Org-mode can also produce extracts
- in the iCalendar format. Currently Org-mode only supports export, not
- import of these different formats.
- When exporting, Org-mode uses special conventions to enrich the
- output produced. *Note Text interpretation::, for more details.
- * Menu:
- * ASCII export:: Exporting to plain ASCII
- * HTML export:: Exporting to HTML
- * XOXO export:: Exporting to XOXO
- * iCalendar export:: Exporting in iCalendar format
- * Text interpretation:: How the exporter looks at the file
- File: org, Node: ASCII export, Next: HTML export, Prev: Exporting, Up: Exporting
- 9.1 ASCII export
- ================
- ASCII export produces an simple and very readable version of an Org-mode
- file.
- `C-c C-x a'
- Export as ASCII file. If there is an active region, only the
- region will be exported. For an org file `myfile.org', the ASCII
- file will be `myfile.txt'. The file will be overwritten without
- warning.
- `C-c C-x v a'
- Export only the visible part of the document.
- In the exported version, the first 3 outline levels will become
- headlines, defining a general document structure. Additional levels
- will be exported as itemized lists. If you want that transition to
- occur at a different level, specify it with a prefix argument. For
- example,
- C-1 C-c C-x a org-export-as-ascii
- creates only top level headlines and does the rest as items.
- File: org, Node: HTML export, Next: XOXO export, Prev: ASCII export, Up: Exporting
- 9.2 HTML export
- ===============
- Org-mode contains an HTML exporter with extensive HTML formatting, in
- ways similar to John Grubers _markdown_ language, but with additional
- support for tables.
- `C-c C-x h'
- Export as HTML file `myfile.html'.
- `C-c C-x b'
- Export as HTML file and open it with a browser.
- `C-c C-x v h'
- `C-c C-x v b'
- Export only the visible part of the document.
- In the exported version, the first 3 outline levels will become
- headlines, defining a general document structure. Additional levels
- will be exported as itemized lists. If you want that transition to
- occur at a different level, specify it with a prefix argument. For
- example,
- C-2 C-c C-x b
- creates two levels of headings and does the rest as items.
- If you want to include HTML tags which should be interpreted as such,
- mark them with `@' as in `@<b>bold text@</b>'. Plain `<' and `>' are
- always transformed to `<' and `>' in HTML export.
- Internal links (*note Internal links::) will continue to work in HTML
- files only if they match a dedicated `<<target>>'. Automatic links
- created by radio targets (*note Radio targets::) will also work in the
- HTML file. Links to external files will still work if the HTML file is
- in the same directory as the Org-mode file. Links to other `.org'
- files will be translated into HTML links under the assumption that an
- HTML version also exists of the linked file. For information related to
- linking files while publishing them to a publishing directory see *Note
- Publishing links::.
- You can also give style information for the exported file. The HTML
- exporter assigns the following CSS classes to appropriate parts of the
- document - your style specifications may change these:
- .todo TODO keywords
- .done the DONE keyword
- .timestamp time stamp
- .timestamp-kwd keyword associated with a time stamp, like SCHEDULED
- .tag tag in a headline
- .target target for links
- The default style specification can be configured through the option
- `org-export-html-style'. If you want to use a file-local style, you
- may use file variables, best wrapped into a COMMENT section at the end
- of the outline tree. For example:
- * COMMENT HTML style specifications
- # Local Variables:
- # org-export-html-style: " <style type=\"text/css\">
- p {font-weight: normal; color: gray; }
- h1 {color: black; }
- </style>"
- # End: ***
- Remember to execute `M-x normal-mode' after changing this to make
- the new style visible to Emacs. This command restarts org-mode for the
- current buffer and forces Emacs to re-evaluate the local variables
- section in the buffer.
- File: org, Node: XOXO export, Next: iCalendar export, Prev: HTML export, Up: Exporting
- 9.3 XOXO export
- ===============
- Org-mode contains an exporter that produces XOXO-style output.
- Currently, this exporter only handles the general outline structure and
- does not interpret any additional Org-mode features.
- `C-c C-x C-x'
- Export as XOXO file `myfile.html'.
- `C-c C-x v x'
- Export only the visible part of the document.
- File: org, Node: iCalendar export, Next: Text interpretation, Prev: XOXO export, Up: Exporting
- 9.4 iCalendar export
- ====================
- Some people like to use Org-mode for keeping track of projects, but
- still prefer a standard calendar application for anniversaries and
- appointments. In this case it can be useful to have deadlines and
- other time-stamped items in Org-mode files show up in the calendar
- application. Org-mode can export calendar information in the standard
- iCalendar format.
- `C-c C-x i'
- Create iCalendar entries for the current file and store them in
- the same directory, using a file extension `.ics'.
- `C-c C-x C-i'
- Like `C-c C-x i', but do this for all files in `org-agenda-files'.
- For each of these files, a separate iCalendar file will be
- written.
- `C-c C-x c'
- Create a single large iCalendar file from all files in
- `org-agenda-files' and write it to the file given by
- `org-combined-agenda-icalendar-file'.
- How this calendar is best read and updated, depends on the
- application you are using. For example, when using iCal under Apple
- MacOS X, you could create a new calendar `OrgMode' (the default name
- for the calendar created by `C-c C-x c', see the variables
- `org-icalendar-combined-name' and
- `org-combined-agenda-icalendar-file'). Then set Org-mode to overwrite
- the corresponding file `~/Library/Calendars/OrgMode.ics'. You may even
- use AppleScript to make iCal re-read the calendar files each time a new
- version of `OrgMode.ics' is produced. Here is the setup needed for
- this:
- (setq org-combined-agenda-icalendar-file
- "~/Library/Calendars/OrgMode.ics")
- (add-hook 'org-after-save-iCalendar-file-hook
- (lambda ()
- (shell-command
- "osascript -e 'tell application \"iCal\" to reload calendars'")))
- File: org, Node: Text interpretation, Prev: iCalendar export, Up: Exporting
- 9.5 Text interpretation by the exporter
- =======================================
- The exporter backends interpret additional structure in the Org-mode
- file in order to produce better output.
- * Menu:
- * Comment lines:: Some lines will not be exported
- * Enhancing text:: Subscripts, symbols and more
- * Export options:: How to influence the export settings
- File: org, Node: Comment lines, Next: Enhancing text, Prev: Text interpretation, Up: Text interpretation
- 9.5.1 Comment lines
- -------------------
- Lines starting with `#' in column zero are treated as comments and will
- never be exported. Also entire subtrees starting with the word
- `COMMENT' will never be exported. Finally, any text before the first
- headline will not be exported either.
- `C-c ;'
- Toggle the COMMENT keyword at the beginning of an entry.
- File: org, Node: Enhancing text, Next: Export options, Prev: Comment lines, Up: Text interpretation
- 9.5.2 Enhancing text for export
- -------------------------------
- Some of the export backends of Org-mode allow for sophisticated text
- formatting, this is true in particular for the HTML backend. Org-mode
- has a number of typing conventions that allow to produce a richly
- formatted output.
- * Plain lists `-', `*' or `+' as bullet, or with `1.' or `2)' as
- enumerator will be recognized and transformed if the backend
- supports lists. See *Note Plain lists::.
- * You can make words *bold*, /italic/, and _underlined_
- * Simple TeX-like math constructs are interpreted:
- - `10^22' and `J_n' are super- and subscripts. You can quote
- `^' and `_' with a backslash: `\_' and `\^'
- - `\alpha' indicates a Greek letter, `\to' an arrow. You can
- use completion for these macros, just type `\' and maybe a few
- letters, and press `M-<TAB>' to see possible completions.
- * Tables are transformed into native tables under the exporter, if
- the export backend supports this. Data fields before the first
- horizontal separator line will be formatted as table header fields.
- * If a headline starts with the word `QUOTE', the text below the
- headline will be typeset as fixed-width, to allow quoting of
- computer codes etc. Lines starting with `:' are also typeset in
- fixed-width font.
- `C-c :'
- Toggle fixed-width for entry (QUOTE) or region, see below.
- If these conversions conflict with your habits of typing ASCII text,
- they can all be turned off with corresponding variables (see the
- customization group `org-export-general', and the following section
- which explains how to set export options with special lines in a buffer.
- File: org, Node: Export options, Prev: Enhancing text, Up: Text interpretation
- 9.5.3 Export options
- --------------------
- The exporter recognizes special lines in the buffer which provide
- additional information. These lines may be put anywhere in the file.
- The whole set of lines can be inserted into the buffer with `C-c C-x
- t'. For individual lines, a good way to make sure the keyword is
- correct is to type `#+' and then use `M-<TAB>' completion (*note
- Completion::).
- `C-c C-x t'
- Insert template with export options, see example below.
- #+TITLE: the title to be shown (default is the buffer name)
- #+AUTHOR: the author (default taken from `user-full-name')
- #+EMAIL: his/her email address (default from `user-mail-address')
- #+LANGUAGE: language for HTML, e.g. `en' (`org-export-default-language')
- #+TEXT: Some descriptive text to be inserted at the beginning.
- #+TEXT: Several lines may be given.
- #+OPTIONS: H:2 num:t toc:t \n:nil t ::t |:t ^:t *:nil TeX:t
- The OPTIONS line is a compact form to specify export settings. Here
- you can:
- H: set the number of headline levels for export
- num: turn on/off section-numbers
- toc: turn on/off table of contents
- \n: turn on/off linebreak-preservation
- @: turn on/off quoted HTML tags
- :: turn on/off fixed-width sections
- |: turn on/off tables
- ^: turn on/off TeX-like syntax for sub- and superscripts.
- *: turn on/off emphasized text (bold, italic, underlined)
- TeX: turn on/off TeX macros
- File: org, Node: Publishing, Next: Miscellaneous, Prev: Exporting, Up: Top
- 10 Publishing
- *************
- Org-mode includes(1) a publishing management system that allows you to
- configure automatic HTML conversion of _projects_ composed of
- interlinked org files. This system is called _org-publish_. You can
- also configure org-publish to automatically upload your exported HTML
- pages and related attachments, such as images and source code files, to
- a web server. Org-publish turns org-mode into a web-site authoring
- tool.
- Org-publish has been contributed to Org-mode by David O'Toole.
- * Menu:
- * Configuration:: Defining projects
- * Sample configuration:: Example projects
- * Triggering publication:: Publication commands
- ---------- Footnotes ----------
- (1) `org-publish.el' is not yet part of emacs, so if you are using
- `org.el' as it comes with Emacs, you need to download this file
- separately. Also make sure org.el is at least version 4.27.
- File: org, Node: Configuration, Next: Sample configuration, Prev: Publishing, Up: Publishing
- 10.1 Configuration
- ==================
- Publishing needs significant configuration to specify files, destination
- and many other properties of a project.
- * Menu:
- * Project alist:: The central configuration variable
- * File sources and destinations:: From here to there
- * Selecting files:: What files are part of the project?
- * Publishing action:: Setting the function doing the publishing
- * Publishing options:: Tweaking HTML export
- * Publishing links:: Which links keep working after publishing?
- * Project page index:: Publishing a list of project files
- File: org, Node: Project alist, Next: File sources and destinations, Prev: Configuration, Up: Configuration
- 10.1.1 The variable `org-publish-project-alist'
- -----------------------------------------------
- Org-publish is configured almost entirely through setting the value of
- one variable, called `org-publish-project-alist'. Each element of the
- list configures one project, and may be in one of the two following
- forms:
- ("project-name" :property value :property value ...)
- or
- ("project-name"
- ("component1" :property value :property value ...)
- ("component2" :property value :property value ...)
- ...)
- In both cases, projects are configured by specifying property values.
- A project defines the set of files that will be published, as well as
- the publishing configuration to use when publishing those files. When
- a project takes the second form listed above, the individual property
- lists are taken to be "components" of the project, which group together
- files requiring different publishing options.
- File: org, Node: File sources and destinations, Next: Selecting files, Prev: Project alist, Up: Configuration
- 10.1.2 Sources and destinations for files
- -----------------------------------------
- Most properties are optional, but some should always be set. In
- particular, org-publish needs to know where to look for source files,
- and where to put published files.
- `:base-directory' Directory containing publishing source files
- `:publishing-directory'Directory (possibly remote) where output files
- will be published.
- File: org, Node: Selecting files, Next: Publishing action, Prev: File sources and destinations, Up: Configuration
- 10.1.3 Selecting files
- ----------------------
- By default, all files with extension `.org' in the base directory are
- considered part of the project. This can be modified by setting the
- properties
- `:base-extension' Extension (without the dot!) of source files. This
- actually is a regular expression.
- `:exclude' Regular expression to match file names that should
- not be published, even though they have been selected
- on the basis of their extension.
- `:include' List of files to be included regardless of
- `:base-extension' and `:exclude'.
- File: org, Node: Publishing action, Next: Publishing options, Prev: Selecting files, Up: Configuration
- 10.1.4 Publishing Action
- ------------------------
- Publishing means that a file is copied to the destination directory and
- possibly transformed in the process. The default transformation is to
- export Org-mode files as HTML files, and this is done by the function
- `org-publish-org-to-html' which calls the HTML exporter (*note HTML
- export::). Other files like images only need to be copied to the
- publishing destination. For non-Org-mode files, you need to specify
- the publishing function.
- `:publishing-function' Function executing the publication of a file.
- The function must accept two arguments: a property list containing at
- least a `:publishing-directory' property, and the name of the file to
- be published. I should take the specified file, make the necessary
- transformation (if any) and place the result into the destination
- folder. You can write your own publishing function, but `org-publish'
- provides one for attachments (files that only need to be copied):
- `org-publish-attachment'.
- File: org, Node: Publishing options, Next: Publishing links, Prev: Publishing action, Up: Configuration
- 10.1.5 Options for the HTML exporter
- ------------------------------------
- The property list can be used to set many export options for the HTML
- exporter. In most cases, these properties correspond to user variables
- in Org-mode. The table below lists these properties along with the
- variable they belong to. See the documentation string for the
- respective variable for details.
- `:language' `org-export-default-language'
- `:headline-levels' `org-export-headline-levels'
- `:section-numbers' `org-export-with-section-numbers'
- `:table-of-contents' `org-export-with-toc'
- `:emphasize' `org-export-with-emphasize'
- `:sub-superscript' `org-export-with-sub-superscripts'
- `:TeX-macros' `org-export-with-TeX-macros'
- `:fixed-width' `org-export-with-fixed-width'
- `:timestamps' `org-export-with-timestamps'
- .
- `:tags' `org-export-with-tags'
- .
- `:tables' `org-export-with-tables'
- `:table-auto-headline' `org-export-highlight-first-table-line'
- `:style' `org-export-html-style'
- `:convert-org-links' `org-export-html-link-org-files-as-html'
- `:inline-images' `org-export-html-inline-images'
- `:expand-quoted-html' `org-export-html-expand'
- `:timestamp' `org-export-html-with-timestamp'
- `:publishing-directory'`org-export-publishing-directory'
- `:preamble' `org-export-html-preamble'
- `:postamble' `org-export-html-postamble'
- `:auto-preamble' `org-export-html-auto-preamble'
- `:auto-postamble' `org-export-html-auto-postamble'
- `:author' `user-full-name'
- `:email' `user-mail-address'
- When a property is given a value in org-publish-project-alist, its
- setting overrides the value of the corresponding user variable (if any)
- during publishing. options set within a file (*note Export options::),
- however, override everything.
- File: org, Node: Publishing links, Next: Project page index, Prev: Publishing options, Up: Configuration
- 10.1.6 Links between published files
- ------------------------------------
- To create a link from one Org-mode file to another, you would use
- something like `[[file:foo.org][The foo]]' or simply `file:foo.org.'
- (*note Hyperlinks::). Upon publishing this link becomes a link to
- `foo.html'. In this way, you can interlink the pages of your "org web"
- project and the links will work as expected when you publish them to
- HTML.
- You may also link to related files, such as images. Provided you are
- careful with relative pathnames, and provided you have also configured
- org-publish to upload the related files, these links will work too.
- *Note Complex example:: for an example of this usage.
- File: org, Node: Project page index, Prev: Publishing links, Up: Configuration
- 10.1.7 Project page index
- -------------------------
- The following properties may be used to control publishing of an index
- of files or summary page for a given project.
- `:auto-index' When non-nil, publish an index during
- org-publish-current-project or org-publish-all.
- `:index-filename' Filename for output of index. Defaults to `index.org'
- (which becomes `index.html').
- `:index-title' Title of index page. Defaults to name of file.
- `:index-function' Plugin function to use for generation of index.
- Defaults to `org-publish-org-index', which generates
- a plain list of links to all files in the project.
- File: org, Node: Sample configuration, Next: Triggering publication, Prev: Configuration, Up: Publishing
- 10.2 Sample configuration
- =========================
- Below we provide two example configurations. The first one is a simple
- project publishing only a set of Org-mode files. The second example is
- more complex, with a multi-component project.
- * Menu:
- * Simple example:: One-component publishing
- * Complex example:: A multi-component publishing example
- File: org, Node: Simple example, Next: Complex example, Prev: Sample configuration, Up: Sample configuration
- 10.2.1 Example: simple publishing configuration
- -----------------------------------------------
- This example publishes a set of Org-mode files to the `public_html'
- directory on the local machine.
- (setq org-publish-project-alist
- '(("org"
- :base-directory "~/org/"
- :publishing-directory "~/public_html"
- :section-numbers nil
- :table-of-contents nil
- :style "<link rel=stylesheet
- href=\"../other/mystyle.css\"
- type=\"text/css\">")))
- File: org, Node: Complex example, Prev: Simple example, Up: Sample configuration
- 10.2.2 Example: complex publishing configuration
- ------------------------------------------------
- This more complicated example publishes an entire website, including
- org files converted to HTML, image files, emacs lisp source code, and
- stylesheets. The publishing-directory is remote and private files are
- excluded.
- To ensure that links are preserved, care should be taken to replicate
- your directory structure on the web server, and to use relative file
- paths. For example, if your org files are kept in `~/org' and your
- publishable images in `~/images', you'd link to an image with
- file:../images/myimage.png
- On the web server, the relative path to the image should be the
- same. You can accomplish this by setting up an "images" folder in the
- right place on the webserver, and publishing images to it.
- (setq org-publish-project-alist
- '(("website"
- ("orgfiles"
- :base-directory "~/org/"
- :base-extension "org"
- :publishing-directory "/ssh:user@host:~/html/notebook/"
- :publishing-function org-publish-org-to-html
- :exclude "PrivatePage.org" ;; regexp
- :headline-levels 3
- :section-numbers nil
- :table-of-contents nil
- :style "<link rel=stylesheet
- href=\"../other/mystyle.css\" type=\"text/css\">"
- :auto-preamble t
- :auto-postamble nil)
- ("images"
- :base-directory "~/images/"
- :base-extension "jpg\\|gif\\|png"
- :publishing-directory "/ssh:user@host:~/html/images/"
- :publishing-function org-publish-attachment)
- ("other"
- :base-directory "~/other/"
- :base-extension "css\\|el"
- :publishing-directory "/ssh:user@host:~/html/other/"
- :publishing-function org-publish-attachment))))
- File: org, Node: Triggering publication, Prev: Sample configuration, Up: Publishing
- 10.3 Triggering publication
- ===========================
- Once org-publish is properly configured, you can publish with the
- following functions:
- `C-c C-e c'
- Prompts for a specific project to publish.
- `C-c C-e p'
- Publishes the project the current file is part of.
- `C-c C-e f'
- Publishes only the current file.
- `C-c C-e a'
- Publish all projects.
- Org uses timestamps to track when a file has changed. The above
- functions normally only publish changed files. You can override this and
- force publishing of all files by giving a prefix argument.
- File: org, Node: Miscellaneous, Next: Index, Prev: Publishing, Up: Top
- 11 Miscellaneous
- ****************
- * Menu:
- * Completion:: M-TAB knows what you need
- * Customization:: Adapting Org-mode to your taste
- * Summary of in-buffer settings:: Using special lines to set options
- * The very busy C-c C-c key:: When in doubt, press C-c C-c
- * Clean view:: Getting rid of leading stars in the outline
- * TTY keys:: Using Org-mode on a tty
- * FAQ:: Frequently asked questions
- * Interaction:: Other Emacs packages
- * Bugs:: Things which do not work perfectly
- * Acknowledgments:: These people provided feedback and more
- File: org, Node: Completion, Next: Customization, Prev: Miscellaneous, Up: Miscellaneous
- 11.1 Completion
- ===============
- Org-mode supports in-buffer completion. This type of completion does
- not make use of the minibuffer. You simply type a few letters into the
- buffer and use the key to complete text right there.
- `M-<TAB>'
- Complete word at point
- * At the beginning of a headline, complete TODO keywords.
- * After `\', complete TeX symbols supported by the exporter.
- * After `*', complete CamelCase versions of all headlines in the
- buffer.
- * After `:', complete tags used elsewhere in the buffer.
- * After `#+', complete the special keywords like `TYP_TODO' or
- `OPTIONS' which set file-specific options for Org-mode. When
- the option keyword is already complete, pressing `M-<TAB>'
- again will insert example settings for this keyword.
- * Elsewhere, complete dictionary words using ispell.
- File: org, Node: Customization, Next: Summary of in-buffer settings, Prev: Completion, Up: Miscellaneous
- 11.2 Customization
- ==================
- There are more than 100 variables that can be used to customize
- Org-mode. For the sake of compactness of the manual, we are not
- describing the variables here. A structured overview of customization
- variables is available with `M-x org-customize'. Or select `Browse Org
- Group' from the `Org->Customization' menu. Many settings can also be
- activated on a per-file basis, by putting special lines into the buffer
- (*note Summary of in-buffer settings::).
- File: org, Node: Summary of in-buffer settings, Next: The very busy C-c C-c key, Prev: Customization, Up: Miscellaneous
- 11.3 Summary of in-buffer settings
- ==================================
- Org-mode uses special lines in the buffer to define settings on a
- per-file basis. These lines start with a `#+' followed by a keyword, a
- colon, and then individual words defining a setting. Several settings
- words con be in the same line, but you can also have multiple lines for
- the keyword. While these settings are described throughout the manual,
- here is a summary. After changing any of those lines in the buffer,
- press `C-c C-c' with the cursor still in the line to activate the
- changes immediately. Otherwise they become effective only when the
- file is visited again in a new Emacs session.
- `#+STARTUP:'
- This line sets options to be used at startup of org-mode, when an
- Org-mode file is being visited. The first set of options deals
- with the initial visibility of the outline tree. The
- corresponding variable for global default settings is
- `org-startup-folded', with a default value `t', which means
- `overview'.
- overview top-level headlines only
- content all headlines
- showall no folding at all, show everything
- Then there are options for aligning tables upon visiting a file.
- This is useful in files containing narrowed table columns. The
- corresponding variable is `org-startup-align-all-tables', with a
- default value `nil'.
- align align all tables
- noalign don't align tables on startup
- Logging when a TODO item is marked DONE (variable `org-log-done')
- can be configured using these options.
- logging record a timestamp when an item is marked DONE
- nologging don't record when items are marked DONE
- Here are the options for hiding leading stars in outline headings.
- The corresponding variables are `org-hide-leading-stars' and
- `org-odd-levels-only', both with a default setting `nil' (meaning
- `showstars' and `oddeven').
- hidestars make all but one of the stars starting a headline invisible.
- showstars show all stars starting a headline
- odd allow only odd outline levels (1,3,...)
- oddeven allow all outline levels
- `#+SEQ_TODO: #+TYP_TODO:'
- These lines that the TODO keywords and their interpretation in the
- current file. The corresponding variables are `org-todo-keywords'
- and `org-todo-interpretation'.
- `#+TAGS: TAG1(c1) TAG2(c2)'
- These lines (several such lines are allowed) specify the legal
- tags in this file, and (potionally) the corresponding _fast tag
- selection_ keys. The corresponding variable is `org-tag-alist'.
- `#+CATEGORY:'
- This line sets the category for the agenda file. The category
- applies for all subsequent lines until the next `#+CATEGORY' line,
- or the end of the file.
- `#+TBLFM:'
- This line contains the formulas for the table directly above the
- line.
- `#+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS:'
- These lines provide setting for exporting files. For more details
- see *Note Export options::.
- File: org, Node: The very busy C-c C-c key, Next: Clean view, Prev: Summary of in-buffer settings, Up: Miscellaneous
- 11.4 The very busy C-c C-c key
- ==============================
- The key `C-c C-c' has many purposes in org-mode, which are all
- mentioned scattered throughout this manual. One specific function of
- this key is to add _tags_ to a headline (*note Tags::). In many other
- circumstances it means something like _Hey Org-mode, look here and
- update according to what you see here_. Here is a summary of what this
- means in different contexts.
- - If the cursor is in one of the special `#+KEYWORD' lines, this
- triggers scanning the buffer for these lines and updating the
- information.
- - If the cursor is inside a table, realign the table. This command
- works even if the automatic table editor has been turned off.
- - If the cursor is on a `#+TBLFM' line, re-apply the formulas to the
- entire table.
- - If the cursor is inside a table created by the `table.el' package,
- activate that table.
- - If the current buffer is a remember buffer, close note and file it.
- with a prefix argument, file it without further interaction to the
- default location.
- - If the cursor is on a `<<<target>>>', update radio targets and
- corresponding links in this buffer.
- - If the cursor is in a plain list item with a checkbox, toggle the
- status of the checkbox.
- - If the cursor is on a numbered item in a plain list, renumber the
- ordered list.
- File: org, Node: Clean view, Next: TTY keys, Prev: The very busy C-c C-c key, Up: Miscellaneous
- 11.5 A cleaner outline view
- ===========================
- Some people find it noisy and distracting that the Org-mode headlines
- are starting with a potentially large number of stars. For example the
- tree from *Note Headlines:::
- * Top level headline
- ** Second level
- *** 3rd level
- some text
- *** 3rd level
- more text
- * Another top level headline
- Unfortunately this is deeply ingrained into the code of Org-mode and
- cannot be easily changed. You can, however, modify the display in such
- a way that all leading stars become invisible and the outline more easy
- to read. To do this, customize the variable `org-hide-leading-stars'
- like this:
- (setq org-hide-leading-stars t)
- or change this on a per-file basis with one of the lines (anywhere in
- the buffer)
- #+STARTUP: showstars
- #+STARTUP: hidestars
- Press `C-c C-c' with the cursor in a `STARTUP' line to activate the
- modifications.
- With stars hidden, the tree becomes:
- * Top level headline
- * Second level
- * 3rd level
- some text
- * 3rd level
- more text
- * Another top level headline
- Note that the leading stars are not truly replaced by whitespace, they
- are only fontified with the face `org-hide' that uses the background
- color as font color. If are are not using either white or black
- background, you may have to customize this face to get the wanted
- effect. Another possibility is to set this font such that the extra
- stars are almost invisible, for example using the color `grey90' on a
- white background.
- Things become cleaner still if you skip all the even levels and use
- only odd levels 1, 3, 5..., effectively adding two stars to go from one
- outline level to the next:
- * Top level headline
- * Second level
- * 3rd level
- some text
- * 3rd level
- more text
- * Another top level headline
- In order to make the structure editing and export commands handle this
- convention correctly, use
- (setq org-odd-levels-only t)
- or set this on a per-file basis with one of the following lines (don't
- forget to press `C-c C-c' with the cursor in the startup line to
- activate changes immediately).
- #+STARTUP: odd
- #+STARTUP: oddeven
- You can convert an Org-mode file from single-star-per-level to the
- double-star-per-level convention with `M-x org-convert-to-odd-levels
- RET' in that file. The reverse operation is `M-x
- org-convert-to-oddeven-levels'.
- File: org, Node: TTY keys, Next: FAQ, Prev: Clean view, Up: Miscellaneous
- 11.6 Using org-mode on a tty
- ============================
- Org-mode uses a number of keys that are not accessible on a tty. This
- applies to most special keys like cursor keys, <TAB> and <RET>, when
- these are combined with modifier keys like <Meta> and/or <Shift>.
- Org-mode uses these bindings because it needs to provide keys for a
- large number of commands, and because these keys appeared particularly
- easy to remember. In order to still be able to access the core
- functionality of Org-mode on a tty, alternative bindings are provided.
- Here is a complete list of these bindings, which are obviously more
- cumbersome to use. Note that sometimes a work-around can be better.
- For example changing a time stamp is really only fun with `S-<cursor>'
- keys. On a tty you would rather use `C-c .' to re-insert the
- timestamp.
- Default Alternative 1 Alternative 2
- `S-<TAB>' `C-u <TAB>'
- `M-<left>' `C-c C-x l' `<Esc> <left>'
- `M-S-<left>'`C-c C-x L'
- `M-<right>' `C-c C-x r' `<Esc>
- <right>'
- `M-S-<right>'`C-c C-x R'
- `M-<up>' `C-c C-x u' `<Esc> <up>'
- `M-S-<up>' `C-c C-x U'
- `M-<down>' `C-c C-x d' `<Esc> <down>'
- `M-S-<down>'`C-c C-x D'
- `S-<RET>' `C-c C-x c'
- `M-<RET>' `C-c C-x m' `<Esc> <RET>'
- `M-S-<RET>' `C-c C-x M'
- `S-<left>' `C-c C-x
- <left>'
- `S-<right>' `C-c C-x
- <right>'
- `S-<up>' `C-c C-x
- <up>'
- `S-<down>' `C-c C-x
- <down>'
- File: org, Node: FAQ, Next: Interaction, Prev: TTY keys, Up: Miscellaneous
- 11.7 Frequently asked questions
- ===============================
- 1. When I try to use Org-mode, I always get `(wrong-type-argument
- keymapp nil)'.
- This is a conflict with an outdated version of the `allout.el'.
- See *Note Conflicts::.
- 2. Org-mode seems to be a useful default mode for the various
- `README' files I have scattered through my directories. How do I
- turn it on for all `README' files?
- (add-to-list 'auto-mode-alist '("README$" . org-mode))
- 3. I would like to use editing features of org-mode in other modes,
- is his possible?
- Not really. For tables there is `orgtbl-mode' which implements the
- table editor as a minor mode. For other features you need to
- switch to Org-mode temporarily, or prepare text in a different
- buffer.
- 4. Can I get the visibility-cycling features in outline-mode and
- outline-minor-mode?
- Yes, these functions are written in a way that they are
- independent of the outline setup. The following setup provides
- standard Org-mode functionality in outline-mode on <TAB> and
- `S-<TAB>'. For outline-minor-mode, we use `C-<TAB>' instead of
- <TAB>, because <TAB> usually has mode-specific tasks.
- (add-hook 'outline-minor-mode-hook
- (lambda ()
- (define-key outline-minor-mode-map [(control tab)] 'org-cycle)
- (define-key outline-minor-mode-map [(shift tab)] 'org-global-cycle)))
- (add-hook 'outline-mode-hook
- (lambda ()
- (define-key outline-mode-map [(tab)] 'org-cycle)
- (define-key outline-mode-map [(shift tab)] 'org-global-cycle)))
- Or check out `outline-magic.el', which does this and also provides
- promotion and demotion functionality. `outline-magic.el' is
- available at `http://www.astro.uva.nl/~dominik/Tools/OutlineMagic'.
- 5. Some of my links stopped working after I upgraded to a version
- 4.20 or later. Why is this, and how can I fix it?
- These must be links in plain text, containing white space, such as
- `bbdb:Richard Stallman'. You need to protect these links by
- putting double brackets around them, like `[[bbdb:Richard
- Stallman]]'.
- 6. I see that Org-mode now creates links using the double bracket
- convention that hides the link part and the brackets, only showing
- the description part. How can I convert my old links to this new
- format?
- Execute once in each Org-mode file: `M-x org-upgrade-old-links'.
- This replaces angular brackets with the new link format.
- 7. I don't care if you find the new bracket links great, I am
- attached to the old style using angular brackets and no hiding of
- the link text. Please give them back to me, don't tell me it is
- not possible!
- Would I let you down like that? If you must, you can do this
- (setq org-link-style 'plain
- org-link-format "<%s>")
- 8. When I am executing shell/elisp links I always get a confirmation
- prompt and need to type `yes <RET>', that's 4 key presses! Can I
- get rid of this?
- The confirmation is there to protect you from unwantingly execute
- potentially dangerous commands. For example, imagine a link
- `[[shell:rm -rf ~/*][Google Search]]'. In an Org-mode buffer, this
- command would look like `Google Search', but really it would remove
- your home directory. If you wish, you can make it easier to
- respond to the query by setting `org-confirm-shell-link-function'
- and/or `org-confirm-elisp-link-function' to `y-or-n-p'. Then a
- single `y' keypress will be enough to confirm those links. It is
- also possible to turn off this check entirely, but I do not
- recommend to do this. Be warned.
- 9. All these stars are driving me mad, I just find the Emacs outlines
- unreadable. Can't you just put white space and a single star as a
- starter for headlines?
- See *Note Clean view::.
- 10. I would like to have two windows on the same Org-mode file, but
- with different outline visibility. Is that possible?
- In GNU Emacs, you may use _indirect buffers_ which do exactly this.
- See the documentation on the command `make-indirect-buffer'. In
- XEmacs, this is currently not possible because of the different
- outline implementation.
- 11. When I export my TODO list, every TODO item becomes a separate
- section. How do I enforce these items to be exported as an
- itemized list?
- If you plan to use ASCII or HTML export, make sure things you want
- to be exported as item lists are level 4 at least, even if that
- does mean there is a level jump. For example:
- * Todays top priorities
- **** TODO write a letter to xyz
- **** TODO Finish the paper
- **** Pick up kids at the school
- Alternatively, if you need a specific value for the heading/item
- transition in a particular file, use the `+OPTIONS' line to
- configure the `H' switch.
- +OPTIONS: H:2; ...
- 12. I would like to export only a subtree of my file to HTML. How?
- If you want to export a subtree, mark the subtree as region and
- then export. Marking can be done with `C-c @ C-x C-x', for
- example.
- 13. Org-mode takes over the S-cursor keys. I also want to use
- CUA-mode, is there a way to fix this conflict?
- Yes, see *Note Conflicts::.
- 14. One of my table columns has started to fill up with `#ERROR'.
- What is going on?
- Org-mode tried to compute the column from other fields using a
- formula stored in the `#+TBLFM:' line just below the table, and
- the evaluation of the formula fails. Fix the fields used in the
- formula, or fix the formula, or remove it!
- 15. When I am in the last column of a table and just above a
- horizontal line in the table, pressing TAB creates a new table line
- before the horizontal line. How can I quickly move to the line
- below the horizontal line instead?
- Press <down> (to get on the separator line) and then <TAB>. Or
- configure the variable `org-table-tab-jumps-over-hlines'.
- 16. How can I change the indentation of an entire table without fixing
- every line by hand?
- The indentation of a table is set by the first line. So just fix
- the indentation of the first line and realign with <TAB>.
- 17. Is it possible to include entries from org-mode files into my
- emacs diary?
- Since the org-mode agenda is much more powerful and can contain the
- diary (*note Calendar/Diary integration::), you should think twice
- before deciding to do this. Integrating Org-mode information into
- the diary is, however, possible. You need to turn on _fancy diary
- display_ by setting in `.emacs':
- (add-hook 'diary-display-hook 'fancy-diary-display)
- Then include the following line into your `~/diary' file, in order
- to get the entries from all files listed in the variable
- `org-agenda-files':
- &%%(org-diary)
- You may also select specific files with
- &%%(org-diary) ~/path/to/some/org-file.org
- &%%(org-diary) ~/path/to/another/org-file.org
- If you now launch the calendar and press `d' to display a diary,
- the headlines of entries containing a timestamp, date range,
- schedule, or deadline referring to the selected date will be
- listed. Just like Org-mode's agenda view, the diary for _today_
- contains additional entries for overdue deadlines and scheduled
- items. See also the documentation of the `org-diary' function.
- Under XEmacs, it is not possible to jump back from the diary to
- the org, this works only in the agenda buffer.
- File: org, Node: Interaction, Next: Bugs, Prev: FAQ, Up: Miscellaneous
- 11.8 Interaction with other packages
- ====================================
- Org-mode lives in the world of GNU Emacs and interacts in various ways
- with other code out there.
- * Menu:
- * Extensions:: Third-party extensions for Org-mode
- * Cooperation:: Packages Org-mode cooperates with
- * Conflicts:: Packages that lead to conflicts
- File: org, Node: Extensions, Next: Cooperation, Prev: Interaction, Up: Interaction
- 11.8.1 Third-party extensions for Org-mode
- ------------------------------------------
- The following extensions for Org-mode have been written by other people:
- `org-checklet.el' by Frank Ruell
- Provides checklist of items which can be either checked or
- unchecked. This is similar to the TODO functionality in Org-mode,
- but never shows up in the agenda. `org-checklet' is freely
- available at
- `http://www.emacswiki.org/cgi-bin/emacs/org-checklet.el'.
- `org-mouse.el' by Piotr Zielinski
- This package implements extended mouse functionality for Org-mode.
- It allows you to cycle visibility and to edit the document
- structure with the mouse. Best of all, it provides a
- context-sensitive menu on <mouse-3> that changes depending on the
- context of a mouse-click. `org-mouse.el' is freely available at
- `http://www.cl.cam.ac.uk/~pz215/files/org-mouse.el'.
- `org-publish.el' by David O'Toole
- This package provides facilities for publishing related sets of
- Org-mode files together with linked files like images as a
- webpages. It is highly configurable and can be used for other
- publishing purposes as well. As of Org-mode version 4.30,
- `org-publish.el' is part of the Org-mode distribution. It is not
- yet part of Emacs, however, due to a pending copyright assignment.
- In the mean time, `org-publish.el' can be downloaded from David's
- site: `http://dto.freeshell.org/e/org-publish.el'.
- File: org, Node: Cooperation, Next: Conflicts, Prev: Extensions, Up: Interaction
- 11.8.2 Packages that Org-mode cooperates with
- ---------------------------------------------
- `calc.el' by Dave Gillespie
- Org-mode uses the calc package for implementing spreadsheet
- functionality in its tables (*note Table calculations::).
- Org-modes checks for the availability of calc by looking for the
- function `calc-eval' which should be autoloaded in your setup if
- calc has been installed properly. As of Emacs 22, calc is part of
- the Emacs distribution. Another possibility for interaction
- between the two packages is using calc for embedded calculations.
- *Note Embedded Mode: (calc)Embedded Mode.
- `constants.el' by Carsten Dominik
- In a table formula (*note Table calculations::), it is possible to
- use names for natural constants or units. Instead of defining
- your own constants in the variable `org-table-formula-constants',
- install the `constants' package which defines a large number of
- constants and units, and lets you use unit prefixes like `M' for
- `Mega' etc. You will need version 2.0 of this package, available
- at `http://www.astro.uva.nl/~dominik/Tools'. Org-mode checks for
- the function `constants-get', which has to be autoloaded in your
- setup. See the installation instructions in the file
- `constants.el'.
- `remember.el' by John Wiegley
- Org mode cooperates with remember, see *Note Remember::.
- `Remember.el' is not part of Emacs, find it on the web.
- `table.el' by Takaaki Ota
- Org mode cooperates with table.el, see *Note table.el::.
- `table.el' is part of Emacs 22.
- File: org, Node: Conflicts, Prev: Cooperation, Up: Interaction
- 11.8.3 Packages that lead to conflicts with Org-mode
- ----------------------------------------------------
- `allout.el' by Ken Manheimer
- Startup of Org-mode may fail with the error message
- `(wrong-type-argument keymapp nil)' when there is an outdated
- version `allout.el' on the load path, for example the version
- distributed with Emacs 21.x. Upgrade to Emacs 22 and this problem
- will disappear. If for some reason you cannot do this, make sure
- that org.el is loaded _before_ `allout.el', for example by putting
- `(require 'org)' early enough into your `.emacs' file.
- `CUA.el' by Kim. F. Storm
- Keybindings in Org-mode conflict with the `S-<cursor>' keys used
- by CUA-mode (as well as pc-select-mode and s-region-mode) to
- select and extend the region. If you want to use one of these
- packages along with Org-mode, configure the variable
- `org-CUA-compatible'. When set, Org-mode will move the following
- keybindings in org-mode files, and in the agenda buffer (but not
- during date selection).
- S-UP -> M-p S-DOWN -> M-n
- S-LEFT -> M-- S-RIGHT -> M-+
- S-RET -> C-S-RET
- Yes, these are unfortunately more difficult to remember. If you
- want to have other replacement keys, look at the variable
- `org-disputed-keys'.
- `windmove.el' by Hovav Shacham
- Also this package uses the `S-<cursor>' keys, so everything written
- in the paragraph above about CUA mode also applies here.
- File: org, Node: Bugs, Next: Acknowledgments, Prev: Interaction, Up: Miscellaneous
- 11.9 Bugs
- =========
- Here is a list of things that should work differently, but which I have
- found too hard to fix.
- * If a table field starts with a link, and if the corresponding table
- column is narrowed (*note Narrow columns::) to a width too small to
- display the link, the field would look entirely empty even though
- it is not. To prevent this, Org-mode throws an error. The
- work-around is to make the column wide enough to fit the link, or
- to add some text (at least 2 characters) before the link in the
- same field.
- * Narrowing table columns does not work on XEmacs, because the
- `format' function does not transport text properties.
- * Text in an entry protected with the `QUOTE' keyword should not
- autowrap.
- * When the application called by `C-c C-o' to open a file link fails
- (for example because the application does not exist or refuses to
- open the file), it does so silently. No error message is
- displayed.
- * Plain list items should be able to hold a TODO item.
- Unfortunately this has so many technical problems that I will only
- consider this change for the next major release (5.0).
- * The remote-editing commands in the agenda buffer cannot be undone
- with `undo' called from within the agenda buffer. But you can go
- to the corresponding buffer (using <TAB> or <RET> and execute
- `undo' there.
- * Recalculating a table line applies the formulas from left to right.
- If a formula uses _calculated_ fields further down the row,
- multiple recalculation may be needed to get all fields consistent.
- * Several words in a row may *be made bold*, but this does not work
- if the string is distributed over two lines.
- * The exporters work well, but could be made more efficient.
- File: org, Node: Acknowledgments, Prev: Bugs, Up: Miscellaneous
- 11.10 Acknowledgments
- =====================
- Org-mode was written by Carsten Dominik, who still maintains it at the
- Org-mode homepage `http://www.astro.uva.nl/~dominik/Tools/org/'. The
- following people (in alphabetic order) have helped the development
- along with ideas, suggestions and patches. Many thanks to all of you,
- Org-mode would not be what it is without your input.
- * Thomas Baumann contributed the code for links to the MH-E email
- system.
- * Alex Bochannek provided a patch for rounding time stamps.
- * Charles Caves' suggestion sparked the implementation of templates
- for Remember.
- * Pavel Chalmoviansky influenced the agenda treatment of items with
- specified time.
- * Gregory Chenov patched support for lisp forms into table
- calculations and improved XEmacs compatibility.
- * Sacha Chua suggested to copy some linking code from Planner.
- * Kees Dullemond inspired the use of narrowed tabled columns.
- * Christian Egli converted the documentation into TeXInfo format,
- patched CSS formatting into the HTML exporter, and inspired the
- agenda.
- * Nic Ferrier contributed mailcap and XOXO support.
- * Kai Grossjohann pointed out key-binding conflicts caused by
- Org-mode.
- * Stefan Monnier provided a patch to keep the Emacs-Lisp compiler
- happy.
- * Todd Neal provided patches for links to Info files and elisp forms.
- * Tim O'Callaghan suggested in-file links, search options for
- general file links, and TAGS.
- * Oliver Oppitz suggested multi-state TODO items.
- * Scott Otterson sparked the introduction of descriptive text for
- links, among other things.
- * Pete Phillips helped the development of the TAGS feature.
- * T.V. Raman reported bugs and suggested improvements.
- * Matthias Rempe (Oelde) provided ideas, Windows support, and quality
- control.
- * Kevin Rogers contributed code to access VM files on remote hosts.
- * Frank Ruell solved the mystery of the `keymapp nil' bug, a conflict
- with `allout.el'.
- * Philip Rooke created the Org-mode reference card and provided lots
- of feedback.
- * Christian Schlauer proposed angular brackets around links, among
- other things.
- * Linking to VM/BBDB/GNUS was inspired by Tom Shannon's
- `organizer-mode.el'.
- * David O'Toole wrote `org-publish.el' and came up with lots is ideas
- for small changes.
- * Ju"rgen Vollmer contributed code generating the table of contents
- in HTML output.
- * Chris Wallace provided a patch implementing the `QUOTE' keyword.
- * David Wainberg suggested archiving, and improvements to the linking
- system.
- * John Wiegley wrote `emacs-wiki.el' and `planner.el'. The
- development of Org-mode was fully independent, and both systems are
- really different beasts in their basic ideas and implementation
- details. I later looked at John's code, however, and learned from
- his implementation of (i) links where the link itself is hidden
- and only a description is shown, and (ii) popping up a calendar to
- select a date.
- * Carsten Wimmer suggested some changes and helped fix a bug in
- linking to GNUS.
- * Roland Winkler requested additional keybindings to make Org-mode
- work on a tty.
- * Piotr Zielinski wrote `org-mouse.el' and showed how to follow links
- with mouse-1.
- File: org, Node: Index, Next: Key Index, Prev: Miscellaneous, Up: Top
- 12 Index
- ********
- �[index�]
- * Menu:
- * acknowledgments: Acknowledgments. (line 6)
- * active region <1>: HTML export. (line 10)
- * active region <2>: ASCII export. (line 9)
- * active region <3>: Built-in table editor.
- (line 165)
- * active region: Structure editing. (line 51)
- * agenda: Weekly/Daily agenda. (line 6)
- * agenda commands, custom: Agenda dispatcher. (line 6)
- * agenda dispatcher: Agenda dispatcher. (line 6)
- * agenda files, removing buffers: Agenda commands. (line 195)
- * agenda views: Agenda views. (line 6)
- * agenda, for single file: Timeline. (line 6)
- * allout.el: Conflicts. (line 6)
- * allout.el, conflict with: FAQ. (line 8)
- * angular brackets, around links: External links. (line 38)
- * applescript, for calendar update: iCalendar export. (line 38)
- * archive locations: Archiving. (line 13)
- * archiving: Archiving. (line 6)
- * ASCII export: ASCII export. (line 6)
- * author: Feedback. (line 6)
- * autoload: Installation and activation.
- (line 6)
- * BBDB links: External links. (line 6)
- * bold text: Enhancing text. (line 15)
- * bug reports: Feedback. (line 6)
- * bugs: Bugs. (line 6)
- * calc package: Table calculations. (line 6)
- * calc.el: Cooperation. (line 6)
- * calculations, in tables <1>: Table calculations. (line 6)
- * calculations, in tables: Built-in table editor.
- (line 135)
- * calendar integration: Calendar/Diary integration.
- (line 6)
- * calendar, for selecting date: Creating timestamps. (line 71)
- * CamelCase link completion: Completion. (line 6)
- * CamelCase links: Internal links. (line 6)
- * CamelCase links, completion of: CamelCase links. (line 6)
- * category: Categories. (line 6)
- * checkboxes: Plain lists. (line 36)
- * children, subtree visibility state: Visibility cycling. (line 10)
- * clean outline view: Clean view. (line 6)
- * CLOSED keyword: Time stamps. (line 55)
- * column formula: Column formulas. (line 6)
- * commands, in agenda buffer: Agenda commands. (line 6)
- * comment lines: Comment lines. (line 6)
- * completion, of CamelCase links <1>: Completion. (line 6)
- * completion, of CamelCase links: CamelCase links. (line 6)
- * completion, of dictionary words: Completion. (line 6)
- * completion, of file names: Handling links. (line 44)
- * completion, of links: Handling links. (line 28)
- * completion, of option keywords <1>: Completion. (line 6)
- * completion, of option keywords: Export options. (line 6)
- * Completion, of option keywords: Per file keywords. (line 17)
- * completion, of tags <1>: Completion. (line 6)
- * completion, of tags: Setting tags. (line 11)
- * completion, of TeX symbols <1>: Completion. (line 6)
- * completion, of TeX symbols: Enhancing text. (line 19)
- * completion, of TODO keywords <1>: Completion. (line 6)
- * completion, of TODO keywords: Workflow states. (line 12)
- * constants, in calculations: Formula syntax. (line 26)
- * constants.el: Cooperation. (line 14)
- * contents, global visibility state: Visibility cycling. (line 22)
- * copying, of subtrees: Structure editing. (line 6)
- * creating timestamps: Creating timestamps. (line 6)
- * CUA.el: Conflicts. (line 15)
- * custom agenda commands: Agenda dispatcher. (line 6)
- * custom search strings: Custom searches. (line 6)
- * customization: Customization. (line 6)
- * cutting, of subtrees: Structure editing. (line 6)
- * cycling, of TODO states: TODO basics. (line 13)
- * cycling, visibility: Visibility cycling. (line 6)
- * dangerous commands: FAQ. (line 70)
- * date stamps: Time stamps. (line 6)
- * date, reading in minibuffer: Creating timestamps. (line 71)
- * DEADLINE keyword: Time stamps. (line 43)
- * deadlines: Time stamps. (line 6)
- * demotion, of subtrees: Structure editing. (line 6)
- * diary entries, creating from agenda: Agenda commands. (line 153)
- * diary integration: Calendar/Diary integration.
- (line 6)
- * dictionary word completion: Completion. (line 6)
- * dispatching agenda commands: Agenda dispatcher. (line 6)
- * document structure: Document structure. (line 6)
- * DONE, final TODO keyword: Per file keywords. (line 20)
- * editing tables: Tables. (line 6)
- * editing, of table formulas: Editing/debugging formulas.
- (line 6)
- * elisp links: External links. (line 6)
- * emphasized text: Export options. (line 25)
- * enhancing text: Enhancing text. (line 6)
- * evaluate time range: Creating timestamps. (line 66)
- * exporting: Exporting. (line 6)
- * exporting a subtree: FAQ. (line 112)
- * exporting, not: Comment lines. (line 6)
- * extended TODO keywords: TODO extensions. (line 6)
- * external links: External links. (line 6)
- * external links, in HTML export: HTML export. (line 35)
- * FAQ: FAQ. (line 6)
- * feedback: Feedback. (line 6)
- * file links: External links. (line 6)
- * file links, searching: Search options. (line 6)
- * file name completion: Handling links. (line 44)
- * files, adding to agenda list: Agenda files. (line 12)
- * filing subtrees: Archiving. (line 6)
- * fixed width: Enhancing text. (line 30)
- * fixed-width sections: Export options. (line 25)
- * folded, subtree visibility state: Visibility cycling. (line 10)
- * folding, sparse trees: Sparse trees. (line 6)
- * following links: Handling links. (line 59)
- * format specifier: Formula syntax. (line 34)
- * format, of links: Link format. (line 6)
- * formula editing: Editing/debugging formulas.
- (line 6)
- * formula syntax: Formula syntax. (line 6)
- * formula, for named table field: Named-field formulas.
- (line 6)
- * formula, for table column: Column formulas. (line 6)
- * formula, in tables: Built-in table editor.
- (line 135)
- * global cycling: Visibility cycling. (line 22)
- * global keybindings: Installation and activation.
- (line 6)
- * global TODO list: Global TODO list. (line 6)
- * global visibility states: Visibility cycling. (line 22)
- * GNUS links: External links. (line 6)
- * hand-formatted lists: Enhancing text. (line 11)
- * headline levels: Export options. (line 25)
- * headline levels, for exporting <1>: HTML export. (line 21)
- * headline levels, for exporting: ASCII export. (line 18)
- * headline navigation: Motion. (line 6)
- * headline tagging: Tags. (line 6)
- * headline, promotion and demotion: Structure editing. (line 6)
- * headlines: Headlines. (line 6)
- * hide text: Visibility cycling. (line 6)
- * hiding leading stars: Clean view. (line 6)
- * HTML export: HTML export. (line 6)
- * hyperlinks: Hyperlinks. (line 6)
- * iCalendar export: iCalendar export. (line 6)
- * in-buffer settings: Summary of in-buffer settings.
- (line 6)
- * indentation, of tables: FAQ. (line 136)
- * indirect buffers: FAQ. (line 88)
- * Info links: External links. (line 6)
- * inheritance, of tags: Tag inheritance. (line 6)
- * inserting links: Handling links. (line 28)
- * installation: Installation and activation.
- (line 6)
- * internal links: Internal links. (line 6)
- * internal links, in HTML export: HTML export. (line 35)
- * introduction: Introduction. (line 6)
- * italic text: Enhancing text. (line 15)
- * jumping, to headlines: Motion. (line 6)
- * keybindings, global: Installation and activation.
- (line 6)
- * keymapp nil error: FAQ. (line 6)
- * keyword options: Per file keywords. (line 6)
- * linebreak preservation: Export options. (line 25)
- * link completion: Handling links. (line 28)
- * link format: Link format. (line 6)
- * links, external: External links. (line 6)
- * links, in HTML export: HTML export. (line 35)
- * links, internal: Internal links. (line 6)
- * links, returning to: Handling links. (line 85)
- * Lisp forms, as table formulas: Lisp formulas. (line 6)
- * lists, hand-formatted: Enhancing text. (line 11)
- * lists, ordered: Plain lists. (line 6)
- * lists, plain: Plain lists. (line 6)
- * logging, of progress: Progress logging. (line 6)
- * maintainer: Feedback. (line 6)
- * make-indirect-buffer: FAQ. (line 88)
- * mark ring: Handling links. (line 81)
- * marking characters, tables: Advanced features. (line 34)
- * matching, of tags: Matching headline tags.
- (line 6)
- * matching, tags: Tags. (line 6)
- * MH-E links: External links. (line 6)
- * minor mode for tables: orgtbl-mode. (line 6)
- * mode, for calc: Formula syntax. (line 34)
- * motion, between headlines: Motion. (line 6)
- * name, of column or field: Formula syntax. (line 26)
- * named field formula: Named-field formulas.
- (line 6)
- * names as TODO keywords: TODO types. (line 6)
- * narrow columns in tables: Narrow columns. (line 6)
- * occur, command: Sparse trees. (line 6)
- * option keyword completion: Completion. (line 6)
- * options, for customization: Customization. (line 6)
- * options, for export: Export options. (line 6)
- * ordered lists: Plain lists. (line 6)
- * org-agenda, command: Weekly/Daily agenda. (line 9)
- * org-checklet.el: Extensions. (line 8)
- * org-mode, turning on: Installation and activation.
- (line 30)
- * org-mouse.el: Extensions. (line 13)
- * org-publish.el: Extensions. (line 21)
- * orgtbl-mode: orgtbl-mode. (line 6)
- * outline tree: Headlines. (line 6)
- * outline-mode: Outlines. (line 6)
- * outlines: Outlines. (line 6)
- * overview, global visibility state: Visibility cycling. (line 22)
- * packages, interaction with other: Interaction. (line 6)
- * pasting, of subtrees: Structure editing. (line 6)
- * per file keywords: Per file keywords. (line 6)
- * plain lists: Plain lists. (line 6)
- * plain text external links: External links. (line 38)
- * printing sparse trees: Sparse trees. (line 39)
- * priorities: Priorities. (line 6)
- * priorities, of agenda items: Sorting of agenda items.
- (line 6)
- * progress logging: Progress logging. (line 6)
- * promotion, of subtrees: Structure editing. (line 6)
- * quoted HTML tags: Export options. (line 25)
- * ranges, time: Time stamps. (line 6)
- * recomputing table fields: Column formulas. (line 27)
- * region, active <1>: HTML export. (line 10)
- * region, active <2>: ASCII export. (line 9)
- * region, active <3>: Built-in table editor.
- (line 165)
- * region, active: Structure editing. (line 51)
- * remember.el <1>: Cooperation. (line 29)
- * remember.el: Remember. (line 6)
- * richer text: Enhancing text. (line 6)
- * RMAIL links: External links. (line 6)
- * SCHEDULED keyword: Time stamps. (line 30)
- * scheduling: Time stamps. (line 6)
- * search option in file links: Search options. (line 6)
- * section-numbers: Export options. (line 25)
- * setting tags: Setting tags. (line 6)
- * SHELL links: External links. (line 6)
- * shell links, confirmation: FAQ. (line 70)
- * show all, command: Visibility cycling. (line 31)
- * show all, global visibility state: Visibility cycling. (line 22)
- * show hidden text: Visibility cycling. (line 6)
- * single file summary: Timeline. (line 6)
- * sorting, of agenda items: Sorting of agenda items.
- (line 6)
- * sparse tree, for deadlines: Creating timestamps. (line 41)
- * sparse tree, for TODO: TODO basics. (line 26)
- * sparse tree, tag based: Tags. (line 6)
- * sparse trees: Sparse trees. (line 6)
- * special keywords: Summary of in-buffer settings.
- (line 6)
- * spreadsheet capabilities: Table calculations. (line 6)
- * storing links: Handling links. (line 9)
- * structure editing: Structure editing. (line 6)
- * structure of document: Document structure. (line 6)
- * subtree cycling: Visibility cycling. (line 10)
- * subtree visibility states: Visibility cycling. (line 10)
- * subtree, cut and paste: Structure editing. (line 6)
- * subtree, subtree visibility state: Visibility cycling. (line 10)
- * subtrees, cut and paste: Structure editing. (line 6)
- * summary: Summary. (line 6)
- * syntax, of formulas: Formula syntax. (line 6)
- * table editor, builtin: Built-in table editor.
- (line 6)
- * table editor, table.el: table.el. (line 6)
- * table of contents: Export options. (line 25)
- * table.el <1>: Cooperation. (line 30)
- * table.el: table.el. (line 6)
- * tables <1>: Export options. (line 25)
- * tables: Tables. (line 6)
- * tables, export: Enhancing text. (line 26)
- * tag completion: Completion. (line 6)
- * tag searches: Tag searches. (line 6)
- * tags: Tags. (line 6)
- * tags view: Matching headline tags.
- (line 6)
- * templates, for remember: Remember. (line 23)
- * TeX interpretation: Enhancing text. (line 17)
- * TeX macros: Export options. (line 25)
- * TeX symbol completion: Completion. (line 6)
- * TeX-like syntax for sub- and superscripts: Export options. (line 25)
- * thanks: Acknowledgments. (line 6)
- * time stamps: Time stamps. (line 6)
- * time, reading in minibuffer: Creating timestamps. (line 71)
- * time-sorted view: Timeline. (line 6)
- * timeline, single file: Timeline. (line 6)
- * timerange: Time stamps. (line 21)
- * timestamp: Time stamps. (line 13)
- * timestamps, creating: Creating timestamps. (line 6)
- * TODO items: TODO items. (line 6)
- * TODO keywords completion: Completion. (line 6)
- * TODO list, global: Global TODO list. (line 6)
- * TODO types: TODO types. (line 6)
- * TODO workflow: Workflow states. (line 6)
- * transient-mark-mode <1>: HTML export. (line 10)
- * transient-mark-mode <2>: ASCII export. (line 9)
- * transient-mark-mode <3>: Built-in table editor.
- (line 165)
- * transient-mark-mode: Structure editing. (line 51)
- * trees, sparse: Sparse trees. (line 6)
- * trees, visibility: Visibility cycling. (line 6)
- * tty keybindings: TTY keys. (line 6)
- * types as TODO keywords: TODO types. (line 6)
- * underlined text: Enhancing text. (line 15)
- * URL links: External links. (line 6)
- * USENET links: External links. (line 6)
- * variables, for customization: Customization. (line 6)
- * vectors, in table calculations: Formula syntax. (line 23)
- * visibility cycling: Visibility cycling. (line 6)
- * visible text, printing: Sparse trees. (line 39)
- * VM links: External links. (line 6)
- * WANDERLUST links: External links. (line 6)
- * windmove.el: Conflicts. (line 33)
- * workflow states as TODO keywords: Workflow states. (line 6)
- * XOXO export: XOXO export. (line 6)
- File: org, Node: Key Index, Prev: Index, Up: Top
- 13 Key Index
- ************
- �[index�]
- * Menu:
- * +: Agenda commands. (line 120)
- * ,: Agenda commands. (line 112)
- * -: Agenda commands. (line 126)
- * .: Agenda commands. (line 91)
- * :: Agenda commands. (line 109)
- * <: Creating timestamps. (line 78)
- * <left>: Agenda commands. (line 88)
- * <RET> <1>: Agenda commands. (line 41)
- * <RET> <2>: Creating timestamps. (line 103)
- * <RET>: Built-in table editor.
- (line 64)
- * <right>: Agenda commands. (line 83)
- * <SPC>: Agenda commands. (line 28)
- * <TAB> <1>: Agenda commands. (line 35)
- * <TAB> <2>: Built-in table editor.
- (line 57)
- * <TAB> <3>: Plain lists. (line 48)
- * <TAB>: Visibility cycling. (line 10)
- * > <1>: Agenda commands. (line 148)
- * >: Creating timestamps. (line 79)
- * C: Agenda commands. (line 178)
- * c: Agenda commands. (line 162)
- * C-#: Built-in table editor.
- (line 155)
- * C-,: Agenda files. (line 18)
- * C-c !: Creating timestamps. (line 21)
- * C-c $: Archiving. (line 9)
- * C-c %: Handling links. (line 81)
- * C-c &: Handling links. (line 85)
- * C-c ' <1>: Editing/debugging formulas.
- (line 20)
- * C-c ': Built-in table editor.
- (line 144)
- * C-c *: Built-in table editor.
- (line 148)
- * C-c +: Built-in table editor.
- (line 165)
- * C-c ,: Priorities. (line 18)
- * C-c -: Built-in table editor.
- (line 92)
- * C-c .: Creating timestamps. (line 10)
- * C-c /: Sparse trees. (line 15)
- * C-c :: Enhancing text. (line 34)
- * C-c ;: Comment lines. (line 11)
- * C-c <: Creating timestamps. (line 25)
- * C-c <TAB>: Built-in table editor.
- (line 187)
- * C-c =: Built-in table editor.
- (line 135)
- * C-c >: Creating timestamps. (line 29)
- * C-c ? <1>: Editing/debugging formulas.
- (line 20)
- * C-c ?: Built-in table editor.
- (line 161)
- * C-c [: Agenda files. (line 12)
- * C-c \: Tag searches. (line 9)
- * C-c ]: Agenda files. (line 15)
- * C-c ^: Built-in table editor.
- (line 96)
- * C-c `: Built-in table editor.
- (line 181)
- * C-c a a: Weekly/Daily agenda. (line 9)
- * C-c a C: Agenda dispatcher. (line 30)
- * C-c a M: Matching headline tags.
- (line 15)
- * C-c a m: Matching headline tags.
- (line 10)
- * C-c a M: Tag searches. (line 14)
- * C-c a m: Tag searches. (line 10)
- * C-c a T: Global TODO list. (line 15)
- * C-c a t <1>: Global TODO list. (line 9)
- * C-c a t: TODO basics. (line 33)
- * C-c C-a: Visibility cycling. (line 31)
- * C-c C-b: Motion. (line 15)
- * C-c C-c <1>: The very busy C-c C-c key.
- (line 6)
- * C-c C-c <2>: Setting tags. (line 10)
- * C-c C-c <3>: table.el. (line 6)
- * C-c C-c <4>: Editing/debugging formulas.
- (line 16)
- * C-c C-c <5>: Built-in table editor.
- (line 54)
- * C-c C-c: Plain lists. (line 85)
- * C-c C-d <1>: Agenda commands. (line 133)
- * C-c C-d: Creating timestamps. (line 37)
- * C-c C-f: Motion. (line 12)
- * C-c C-j: Motion. (line 21)
- * C-c C-l: Handling links. (line 28)
- * C-c C-n: Motion. (line 8)
- * C-c C-o <1>: Creating timestamps. (line 33)
- * C-c C-o: Handling links. (line 59)
- * C-c C-p: Motion. (line 9)
- * C-c C-q <1>: Editing/debugging formulas.
- (line 20)
- * C-c C-q: Built-in table editor.
- (line 119)
- * C-c C-r: Timeline. (line 13)
- * C-c C-s <1>: Agenda commands. (line 130)
- * C-c C-s: Creating timestamps. (line 48)
- * C-c C-t: TODO basics. (line 13)
- * C-c C-u: Motion. (line 18)
- * C-c C-v: TODO basics. (line 26)
- * C-c C-w: Creating timestamps. (line 41)
- * C-c C-x a: ASCII export. (line 9)
- * C-c C-x b: HTML export. (line 11)
- * C-c C-x c: iCalendar export. (line 20)
- * C-c C-x C-c: Agenda commands. (line 185)
- * C-c C-x C-i: iCalendar export. (line 15)
- * C-c C-x C-k: Structure editing. (line 36)
- * C-c C-x C-w <1>: Built-in table editor.
- (line 108)
- * C-c C-x C-w: Structure editing. (line 36)
- * C-c C-x C-x: XOXO export. (line 10)
- * C-c C-x C-y <1>: Built-in table editor.
- (line 112)
- * C-c C-x C-y: Structure editing. (line 43)
- * C-c C-x h: HTML export. (line 10)
- * C-c C-x i: iCalendar export. (line 13)
- * C-c C-x M-w <1>: Built-in table editor.
- (line 105)
- * C-c C-x M-w: Structure editing. (line 40)
- * C-c C-x t: Export options. (line 13)
- * C-c C-x v <1>: XOXO export. (line 11)
- * C-c C-x v: Sparse trees. (line 39)
- * C-c C-x v a: ASCII export. (line 13)
- * C-c C-x v b: HTML export. (line 14)
- * C-c C-x v h: HTML export. (line 14)
- * C-c C-y: Creating timestamps. (line 66)
- * C-c l: Handling links. (line 9)
- * C-c |: Built-in table editor.
- (line 40)
- * C-c ~: table.el. (line 18)
- * C-u C-c .: Creating timestamps. (line 16)
- * C-u C-c =: Built-in table editor.
- (line 139)
- * C-u C-c C-l: Handling links. (line 44)
- * D: Agenda commands. (line 68)
- * d: Agenda commands. (line 65)
- * f: Agenda commands. (line 44)
- * g: Agenda commands. (line 72)
- * H: Agenda commands. (line 182)
- * i: Agenda commands. (line 153)
- * l: Agenda commands. (line 51)
- * L: Agenda commands. (line 32)
- * M: Agenda commands. (line 169)
- * M-<down>: Built-in table editor.
- (line 82)
- * M-<left> <1>: Built-in table editor.
- (line 72)
- * M-<left>: Structure editing. (line 18)
- * M-<RET> <1>: Plain lists. (line 53)
- * M-<RET>: Structure editing. (line 6)
- * M-<right> <1>: Built-in table editor.
- (line 72)
- * M-<right>: Structure editing. (line 21)
- * M-<TAB> <1>: Completion. (line 10)
- * M-<TAB> <2>: Setting tags. (line 6)
- * M-<TAB>: Per file keywords. (line 17)
- * M-<up>: Built-in table editor.
- (line 82)
- * M-S-<down> <1>: Built-in table editor.
- (line 89)
- * M-S-<down> <2>: Plain lists. (line 70)
- * M-S-<down>: Structure editing. (line 33)
- * M-S-<left> <1>: Creating timestamps. (line 100)
- * M-S-<left> <2>: Built-in table editor.
- (line 76)
- * M-S-<left> <3>: Plain lists. (line 76)
- * M-S-<left>: Structure editing. (line 24)
- * M-S-<RET> <1>: Plain lists. (line 63)
- * M-S-<RET>: Structure editing. (line 15)
- * M-S-<right> <1>: Creating timestamps. (line 97)
- * M-S-<right> <2>: Built-in table editor.
- (line 79)
- * M-S-<right> <3>: Plain lists. (line 76)
- * M-S-<right>: Structure editing. (line 27)
- * M-S-<up> <1>: Built-in table editor.
- (line 86)
- * M-S-<up> <2>: Plain lists. (line 70)
- * M-S-<up>: Structure editing. (line 30)
- * mouse-1 <1>: Agenda commands. (line 35)
- * mouse-1 <2>: Creating timestamps. (line 82)
- * mouse-1: Handling links. (line 73)
- * mouse-2 <1>: Agenda commands. (line 35)
- * mouse-2: Handling links. (line 73)
- * mouse-3 <1>: Agenda commands. (line 28)
- * mouse-3: Handling links. (line 78)
- * n: Agenda commands. (line 19)
- * o: Agenda commands. (line 59)
- * P: Agenda commands. (line 117)
- * p: Agenda commands. (line 20)
- * q: Agenda commands. (line 192)
- * r <1>: Agenda commands. (line 76)
- * r: Global TODO list. (line 21)
- * S: Agenda commands. (line 173)
- * S-<down> <1>: Agenda commands. (line 126)
- * S-<down> <2>: Creating timestamps. (line 58)
- * S-<down> <3>: Priorities. (line 25)
- * S-<down>: Plain lists. (line 66)
- * S-<left> <1>: Agenda commands. (line 144)
- * S-<left> <2>: Creating timestamps. (line 53)
- * S-<left>: TODO basics. (line 20)
- * S-<RET>: Built-in table editor.
- (line 170)
- * S-<right> <1>: Agenda commands. (line 136)
- * S-<right> <2>: Creating timestamps. (line 53)
- * S-<right>: TODO basics. (line 20)
- * S-<TAB> <1>: Built-in table editor.
- (line 61)
- * S-<TAB>: Visibility cycling. (line 22)
- * S-<up> <1>: Agenda commands. (line 120)
- * S-<up> <2>: Creating timestamps. (line 58)
- * S-<up> <3>: Priorities. (line 25)
- * S-<up>: Plain lists. (line 66)
- * T: Agenda commands. (line 104)
- * t: Agenda commands. (line 100)
- * w: Agenda commands. (line 62)
- * x: Agenda commands. (line 195)
- Tag Table:
- Node: Top959
- Node: Introduction8679
- Node: Summary8993
- Node: Installation and activation11249
- Node: Feedback12907
- Node: Document structure13693
- Node: Outlines14459
- Node: Headlines15119
- Node: Visibility cycling15742
- Ref: Visibility cycling-Footnote-117217
- Ref: Visibility cycling-Footnote-217275
- Node: Motion17325
- Node: Structure editing18109
- Node: Archiving20218
- Node: Sparse trees21078
- Ref: Sparse trees-Footnote-123057
- Ref: Sparse trees-Footnote-223149
- Node: Plain lists23264
- Ref: Plain lists-Footnote-127162
- Node: Tables27519
- Node: Built-in table editor28067
- Node: Narrow columns35674
- Ref: Narrow columns-Footnote-137613
- Node: Table calculations37659
- Node: Formula syntax38979
- Ref: Formula syntax-Footnote-141884
- Node: Lisp formulas42184
- Node: Column formulas42973
- Node: Advanced features44734
- Node: Named-field formulas47988
- Node: Editing/debugging formulas48628
- Node: Appetizer50386
- Node: orgtbl-mode51489
- Node: table.el51980
- Node: Hyperlinks52957
- Node: Link format53662
- Node: Internal links54956
- Ref: Internal links-Footnote-156945
- Node: Radio targets57077
- Node: CamelCase links57792
- Node: External links58290
- Node: Handling links60421
- Node: Search options64971
- Ref: Search options-Footnote-166745
- Node: Custom searches66826
- Node: Remember67874
- Node: TODO items71564
- Node: TODO basics72487
- Node: Progress logging74015
- Node: TODO extensions74801
- Node: Workflow states75601
- Node: TODO types76469
- Ref: TODO types-Footnote-178127
- Node: Per file keywords78209
- Ref: Per file keywords-Footnote-179663
- Node: Priorities79891
- Node: Timestamps81107
- Node: Time stamps81428
- Node: Creating timestamps84201
- Node: Tags87522
- Node: Tag inheritance88284
- Node: Setting tags89221
- Node: Tag searches91942
- Node: Agenda views93151
- Node: Agenda files94690
- Ref: Agenda files-Footnote-195650
- Ref: Agenda files-Footnote-295799
- Node: Agenda dispatcher95991
- Node: Weekly/Daily agenda98121
- Node: Categories99256
- Node: Time-of-day specifications99904
- Node: Calendar/Diary integration101880
- Node: Sorting of agenda items103257
- Node: Global TODO list104089
- Node: Matching headline tags105504
- Node: Timeline106447
- Node: Agenda commands107320
- Node: Exporting112788
- Node: ASCII export113921
- Node: HTML export114811
- Node: XOXO export117627
- Node: iCalendar export118066
- Node: Text interpretation119889
- Node: Comment lines120366
- Node: Enhancing text120835
- Node: Export options122666
- Node: Publishing124268
- Ref: Publishing-Footnote-1125064
- Node: Configuration125260
- Node: Project alist125981
- Node: File sources and destinations127039
- Node: Selecting files127591
- Node: Publishing action128344
- Node: Publishing options129458
- Node: Publishing links131497
- Node: Project page index132300
- Node: Sample configuration133078
- Node: Simple example133570
- Node: Complex example134243
- Node: Triggering publication136277
- Node: Miscellaneous136933
- Node: Completion137692
- Node: Customization138688
- Node: Summary of in-buffer settings139295
- Node: The very busy C-c C-c key142537
- Node: Clean view144052
- Node: TTY keys146629
- Node: FAQ148230
- Node: Interaction156027
- Node: Extensions156487
- Node: Cooperation158057
- Node: Conflicts159751
- Node: Bugs161343
- Node: Acknowledgments163241
- Node: Index166680
- Node: Key Index188999
- End Tag Table
|