1% Copyright (C) 1996-2020 John W. Eaton
2%
3% This file is part of Octave.
4%
5% Octave is free software: you can redistribute it and/or modify it
6% under the terms of the GNU General Public License as published by
7% the Free Software Foundation, either version 3 of the License, or
8% (at your option) any later version.
9%
10% Octave is distributed in the hope that it will be useful, but
11% WITHOUT ANY WARRANTY; without even the implied warranty of
12% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13% GNU General Public License for more details.
14%
15% You should have received a copy of the GNU General Public License
16% along with Octave; see the file COPYING.  If not, see
17% <https://www.gnu.org/licenses/>.
18
19\input texinfo
20
21@documentencoding UTF-8
22
23@setfilename octave.info
24
25@include macros.texi
26
27@dircategory Math
28@direntry
29* Octave: (octave).             Interactive language for numerical computations.
30@end direntry
31
32@c Settings for appearance of example blocks
33@c --------------------------------------------------------
34
35@exampleindent 2
36
37@c Settings for printing on 8-1/2 by 11 inch paper (default):
38@c --------------------------------------------------------
39
40@setchapternewpage odd
41@c Fix TOC margins for printed manual
42@tex
43{\globaldefs = 1 \contentsrightmargin = 0pt}
44@end tex
45
46@c Settings for small book format:
47@c ------------------------------
48
49@c @smallbook
50@c @setchapternewpage odd
51@c @finalout
52@c @iftex
53@c @cropmarks
54@c @end iftex
55
56@c ------------------------------
57
58@defindex op
59@defindex pr
60
61@c The version.texi file doesn't include a chapter, so it must not be included
62@c if you want to run the Emacs function texinfo-multiple-files-update.
63@include version-octave.texi
64
65@settitle GNU Octave (version @value{VERSION})
66
67@ifnottex
68
69Copyright @copyright{} 1996-2020 John W. Eaton.
70
71Permission is granted to make and distribute verbatim copies of
72this manual provided the copyright notice and this permission notice
73are preserved on all copies.
74
75@ignore
76Permission is granted to process this file through Tex and print the
77results, provided the printed document carries copying permission
78notice identical to this one except for the removal of this paragraph
79(this paragraph not being relevant to the printed manual).
80@end ignore
81
82Permission is granted to copy and distribute modified versions of
83this manual under the conditions for verbatim copying, provided that
84the entire resulting derived work is distributed under the terms of
85a permission notice identical to this one.
86
87Permission is granted to copy and distribute translations of this
88manual into another language, under the above conditions for
89modified versions.
90@end ifnottex
91
92@titlepage
93@title GNU Octave
94@subtitle A high-level interactive language for numerical computations
95@c FIXME: Would like to use @value{EDITION} but this variable is the
96@c        same as VERSION and contains MAJOR.MINOR.PATCH.  The variable
97@c        is automatically generated by Automake in version-octave.texi.
98@c        Need to use sed to strip off MINOR.PATCH numbers and place
99@c        the results in a new file, and then @include that new file.
100@subtitle Edition 6 for Octave version @value{VERSION}
101@subtitle @value{UPDATED-MONTH}
102@sp 2
103@multitable @columnfractions 0.4 0.025 0.65
104@item
105@flushright @image{octave_logo,2.1in}
106@end flushright
107@tab
108@c this is a spacer column
109@tab
110@sp 8
111@titlefont{Free Your Numbers}
112@end multitable
113@author John W. Eaton
114@author David Bateman
115@author S@o{}ren Hauberg
116@author Rik Wehbring
117@page
118@vskip 0pt plus 1filll
119Copyright @copyright{} 1996, 1997, 1999, 2000, 2001, 2002, 2005, 2006,
1202007, 2011, 2013, 2015, 2016, 2017, 2018, 2019, 2020 John W. Eaton.
121
122This is the sixth edition of the Octave documentation, and is consistent
123with version @value{VERSION} of Octave.
124
125Permission is granted to make and distribute verbatim copies of
126this manual provided the copyright notice and this permission notice
127are preserved on all copies.
128
129Permission is granted to copy and distribute modified versions of this
130manual under the conditions for verbatim copying, provided that the entire
131resulting derived work is distributed under the terms of a permission
132notice identical to this one.
133
134Permission is granted to copy and distribute translations of this manual
135into another language, under the same conditions as for modified versions.
136
137Portions of this document have been adapted from the @code{gawk},
138@code{readline}, @code{gcc}, and C library manuals, published by the Free
139Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
14002110-1301--1307, USA.
141@end titlepage
142
143@contents
144
145@ifnottex
146@node Top
147@top
148
149This manual documents how to run, install and port GNU Octave, as well
150as its new features and incompatibilities, and how to report bugs.
151It corresponds to GNU Octave version @value{VERSION}.
152@end ifnottex
153
154@c ------------------------------------------------------------------------
155
156@menu
157* Preface::
158* Introduction::                A brief introduction to Octave.
159* Getting Started::
160* Data Types::
161* Numeric Data Types::
162* Strings::
163* Data Containers::
164* Variables::
165* Expressions::
166* Evaluation::
167* Statements::                  Looping and program flow control.
168* Functions and Scripts::
169* Errors and Warnings::
170* Debugging::
171* Input and Output::
172* Plotting::
173* Matrix Manipulation::
174* Arithmetic::
175* Linear Algebra::
176* Vectorization and Faster Code Execution::
177* Nonlinear Equations::
178* Diagonal and Permutation Matrices::
179* Sparse Matrices::
180* Numerical Integration::
181* Differential Equations::
182* Optimization::
183* Statistics::
184* Sets::
185* Polynomial Manipulations::
186* Interpolation::
187* Geometry::
188* Signal Processing::
189* Image Processing::
190* Audio Processing::
191* Object Oriented Programming::
192* GUI Development::
193* System Utilities::
194* Packages::
195* External Code Interface::
196* Test and Demo Functions::
197* Obsolete Functions::
198* Trouble::                     If you have trouble installing Octave.
199* Installation::                How to configure, compile and install Octave.
200* Grammar and Parser::
201* Copying::                     The GNU General Public License.
202* Concept Index::               An item for each concept.
203* Function Index::              An item for each documented function.
204* Operator Index::              An item for each documented operator.
205* Graphics Properties Index::   An item for each graphics object property.
206
207@detailmenu
208 --- The Detailed Node Listing ---
209
210Preface
211
212* Acknowledgements::
213* Citing Octave in Publications::
214* How You Can Contribute to Octave::
215* Distribution::
216
217Introduction
218
219* Running Octave::
220* Simple Examples::
221* Conventions::
222
223Conventions
224
225* Fonts::
226* Evaluation Notation::
227* Printing Notation::
228* Error Messages::
229* Format of Descriptions::
230
231Format of Descriptions
232
233* A Sample Function Description::
234* A Sample Command Description::
235
236Getting Started
237
238* Invoking Octave from the Command Line::
239* Quitting Octave::
240* Getting Help::
241* Command Line Editing::
242* Errors::
243* Executable Octave Programs::
244* Comments::
245
246Invoking Octave from the Command Line
247
248* Command Line Options::
249* Startup Files::
250
251Command Line Editing
252
253* Cursor Motion::
254* Killing and Yanking::
255* Commands for Text::
256* Commands for Completion::
257* Commands for History::
258* Customizing readline::
259* Customizing the Prompt::
260* Diary and Echo Commands::
261
262Executable Octave Programs
263
264* Passing Arguments to Executable Scripts::
265* Dual-Purpose Executable Scripts and Octave Functions::
266
267Comments
268
269* Single Line Comments::
270* Block Comments::
271* Comments and the Help System::
272
273Data Types
274
275* Built-in Data Types::
276* User-defined Data Types::
277* Object Sizes::
278
279Built-in Data Types
280
281* Numeric Objects::
282* Missing Data::
283* String Objects::
284* Data Structure Objects::
285* Cell Array Objects::
286
287Numeric Data Types
288
289* Matrices::
290* Ranges::
291* Single Precision Data Types::
292* Integer Data Types::
293* Bit Manipulations::
294* Logical Values::
295* Promotion and Demotion of Data Types::
296* Predicates for Numeric Objects::
297
298Matrices
299
300* Empty Matrices::
301
302Integer Data Types
303
304* Integer Arithmetic::
305
306Strings
307
308* Escape Sequences in String Constants::
309* Character Arrays::
310* Creating Strings::
311* Comparing Strings::
312* Manipulating Strings::
313* String Conversions::
314* Character Class Functions::
315
316Creating Strings
317
318* Concatenating Strings::
319* Converting Numerical Data to Strings::
320
321Data Containers
322
323* Structures::
324* containers.Map::
325* Cell Arrays::
326* Comma Separated Lists::
327
328Structures
329
330* Basic Usage and Examples::
331* Structure Arrays::
332* Creating Structures::
333* Manipulating Structures::
334* Processing Data in Structures::
335
336Cell Arrays
337
338* Basic Usage of Cell Arrays::
339* Creating Cell Arrays::
340* Indexing Cell Arrays::
341* Cell Arrays of Strings::
342* Processing Data in Cell Arrays::
343
344Comma Separated Lists
345
346* Comma Separated Lists Generated from Cell Arrays::
347* Comma Separated Lists Generated from Structure Arrays::
348
349Variables
350
351* Global Variables::
352* Persistent Variables::
353* Status of Variables::
354
355Expressions
356
357* Index Expressions::
358* Calling Functions::
359* Arithmetic Ops::
360* Comparison Ops::
361* Boolean Expressions::
362* Assignment Ops::
363* Increment Ops::
364* Operator Precedence::
365
366Index Expressions
367
368* Advanced Indexing::
369
370Calling Functions
371
372* Call by Value::
373* Recursion::
374* Access via Handle::
375
376Boolean Expressions
377
378* Element-by-element Boolean Operators::
379* Short-circuit Boolean Operators::
380
381Evaluation
382
383* Calling a Function by its Name::
384* Evaluation in a Different Context::
385
386Statements
387
388* The if Statement::
389* The switch Statement::
390* The while Statement::
391* The do-until Statement::
392* The for Statement::
393* The break Statement::
394* The continue Statement::
395* The unwind_protect Statement::
396* The try Statement::
397* Continuation Lines::
398
399The switch Statement
400
401* Notes for the C Programmer::
402
403The for Statement
404
405* Looping Over Structure Elements::
406
407Functions and Scripts
408
409* Introduction to Function and Script Files::
410* Defining Functions::
411* Returning from a Function::
412* Multiple Return Values::
413* Variable-length Return Lists::
414* Variable-length Argument Lists::
415* Ignoring Arguments::
416* Default Arguments::
417* Validating Arguments::
418* Function Files::
419* Script Files::
420* Function Handles and Anonymous Functions::
421* Command Syntax and Function Syntax::
422* Organization of Functions::
423
424Validating Arguments
425
426* Validating the number of Arguments::
427* Validating the type of Arguments::
428* Parsing Arguments::
429
430Function Files
431
432* Manipulating the Load Path::
433* Subfunctions::
434* Private Functions::
435* Nested Functions::
436* Overloading and Autoloading::
437* Function Locking::
438* Function Precedence::
439
440Script Files
441
442* Publish Octave Script Files::
443* Publishing Markup::
444
445Publishing Markup
446
447* Using Publishing Markup in Script Files::
448* Text Formatting::
449* Sections::
450* Preformatted Code::
451* Preformatted Text::
452* Bulleted Lists::
453* Numbered Lists::
454* Including File Content::
455* Including Graphics::
456* Including URLs::
457* Mathematical Equations::
458* HTML Markup::
459* LaTeX Markup::
460
461Function Handles and Anonymous Functions
462
463* Function Handles::
464* Anonymous Functions::
465
466Errors and Warnings
467
468* Handling Errors::
469* Handling Warnings::
470
471Handling Errors
472
473* Raising Errors::
474* Catching Errors::
475* Recovering From Errors::
476
477Handling Warnings
478
479* Issuing Warnings::
480* Enabling and Disabling Warnings::
481
482Debugging
483
484* Entering Debug Mode::
485* Leaving Debug Mode::
486* Breakpoints::
487* Debug Mode::
488* Call Stack::
489* Profiling::
490* Profiler Example::
491
492Input and Output
493
494* Basic Input and Output::
495* C-Style I/O Functions::
496
497Basic Input and Output
498
499* Terminal Output::
500* Terminal Input::
501* Simple File I/O::
502
503Terminal Output
504
505* Paging Screen Output::
506
507Simple File I/O
508
509* Saving Data on Unexpected Exits::
510
511C-Style I/O Functions
512
513* Opening and Closing Files::
514* Simple Output::
515* Line-Oriented Input::
516* Formatted Output::
517* Output Conversion for Matrices::
518* Output Conversion Syntax::
519* Table of Output Conversions::
520* Integer Conversions::
521* Floating-Point Conversions::
522* Other Output Conversions::
523* Formatted Input::
524* Input Conversion Syntax::
525* Table of Input Conversions::
526* Numeric Input Conversions::
527* String Input Conversions::
528* Binary I/O::
529* Temporary Files::
530* EOF and Errors::
531* File Positioning::
532
533Plotting
534
535* Introduction to Plotting::
536* High-Level Plotting::
537* Graphics Data Structures::
538* Advanced Plotting::
539
540High-Level Plotting
541
542* Two-Dimensional Plots::
543* Three-Dimensional Plots::
544* Plot Annotations::
545* Multiple Plots on One Page::
546* Multiple Plot Windows::
547* Manipulation of Plot Objects::
548* Manipulation of Plot Windows::
549* Use of the @code{interpreter} Property::
550* Printing and Saving Plots::
551* Interacting with Plots::
552* Test Plotting Functions::
553
554Two-Dimensional Plots
555
556* Axis Configuration::
557* Two-dimensional Function Plotting::
558* Two-dimensional Geometric Shapes::
559
560Three-Dimensional Plots
561
562* Aspect Ratio::
563* Three-dimensional Function Plotting::
564* Three-dimensional Geometric Shapes::
565
566Graphics Data Structures
567
568* Introduction to Graphics Structures::
569* Graphics Objects::
570* Graphics Object Properties::
571* Searching Properties::
572* Managing Default Properties::
573
574Graphics Object Properties
575
576* Root Properties::
577* Figure Properties::
578* Axes Properties::
579* Legend Properties::
580* Line Properties::
581* Text Properties::
582* Image Properties::
583* Patch Properties::
584* Surface Properties::
585* Light Properties::
586* Uimenu Properties::
587* Uibuttongroup Properties::
588* Uicontextmenu Properties::
589* Uipanel Properties::
590* Uicontrol Properties::
591* Uitable Properties::
592* Uitoolbar Properties::
593* Uipushtool Properties::
594* Uitoggletool Properties::
595
596Advanced Plotting
597
598* Colors::
599* Line Styles::
600* Marker Styles::
601* Callbacks::
602* Application-defined Data::
603* Object Groups::
604* Transform Groups::
605* Graphics Toolkits::
606
607Object Groups
608
609* Data Sources in Object Groups::
610* Area Series::
611* Bar Series::
612* Contour Groups::
613* Error Bar Series::
614* Line Series::
615* Quiver Group::
616* Scatter Group::
617* Stair Group::
618* Stem Series::
619* Surface Group::
620
621Graphics Toolkits
622
623* Customizing Toolkit Behavior::
624* Hardware vs. Software Rendering::
625* Precision issues::
626
627Matrix Manipulation
628
629* Finding Elements and Checking Conditions::
630* Rearranging Matrices::
631* Special Utility Matrices::
632* Famous Matrices::
633
634Arithmetic
635
636* Exponents and Logarithms::
637* Complex Arithmetic::
638* Trigonometry::
639* Sums and Products::
640* Utility Functions::
641* Special Functions::
642* Rational Approximations::
643* Coordinate Transformations::
644* Mathematical Constants::
645
646Linear Algebra
647
648* Techniques Used for Linear Algebra::
649* Basic Matrix Functions::
650* Matrix Factorizations::
651* Functions of a Matrix::
652* Specialized Solvers::
653
654Vectorization and Faster Code Execution
655
656* Basic Vectorization::        Basic techniques for code optimization
657* Broadcasting::               Broadcasting operations
658* Function Application::       Applying functions to arrays, cells, and structs
659* Accumulation::               Accumulation functions
660* JIT Compiler::               Just-In-Time Compiler for loops
661* Miscellaneous Techniques::   Other techniques for speeding up code
662* Examples::
663
664Nonlinear Equations
665
666* Solvers::
667* Minimizers::
668
669Diagonal and Permutation Matrices
670
671* Basic Usage::          Creation and Manipulation of Diagonal/Permutation Matrices
672* Matrix Algebra::       Linear Algebra with Diagonal/Permutation Matrices
673* Function Support::     Functions That Are Aware of These Matrices
674* Example Code::         Examples of Usage
675* Zeros Treatment::      Differences in Treatment of Zero Elements
676
677Basic Usage
678
679* Creating Diagonal Matrices::
680* Creating Permutation Matrices::
681* Explicit and Implicit Conversions::
682
683Matrix Algebra
684
685* Expressions Involving Diagonal Matrices::
686* Expressions Involving Permutation Matrices::
687
688Function Support
689
690* Diagonal Matrix Functions::
691* Permutation Matrix Functions::
692
693Sparse Matrices
694
695* Basics::                      Creation and Manipulation of Sparse Matrices
696* Sparse Linear Algebra::       Linear Algebra on Sparse Matrices
697* Iterative Techniques::        Iterative Techniques
698* Real Life Example::           Using Sparse Matrices
699
700Basics
701
702* Storage of Sparse Matrices::
703* Creating Sparse Matrices::
704* Information::
705* Operators and Functions::
706
707Operators and Functions
708
709* Sparse Functions::
710* Return Types of Operators and Functions::
711* Mathematical Considerations::
712
713Numerical Integration
714
715* Functions of One Variable::
716* Orthogonal Collocation::
717* Functions of Multiple Variables::
718
719Differential Equations
720
721* Ordinary Differential Equations::
722* Differential-Algebraic Equations::
723
724Ordinary Differential Equations
725
726* Matlab-compatible solvers::
727
728Optimization
729
730* Linear Programming::
731* Quadratic Programming::
732* Nonlinear Programming::
733* Linear Least Squares::
734
735Statistics
736
737* Descriptive Statistics::
738* Statistics on Sliding Windows of Data::
739* Basic Statistical Functions::
740* Correlation and Regression Analysis::
741* Distributions::
742* Random Number Generation::
743
744Sets
745
746* Set Operations::
747
748Polynomial Manipulations
749
750* Evaluating Polynomials::
751* Finding Roots::
752* Products of Polynomials::
753* Derivatives / Integrals / Transforms::
754* Polynomial Interpolation::
755* Miscellaneous Functions::
756
757Interpolation
758
759* One-dimensional Interpolation::
760* Multi-dimensional Interpolation::
761
762Geometry
763
764* Delaunay Triangulation::
765* Voronoi Diagrams::
766* Convex Hull::
767* Interpolation on Scattered Data::
768* Vector Rotation Matrices::
769
770Delaunay Triangulation
771
772* Plotting the Triangulation::
773* Identifying Points in Triangulation::
774
775Image Processing
776
777* Loading and Saving Images::
778* Displaying Images::
779* Representing Images::
780* Plotting on top of Images::
781* Color Conversion::
782
783Audio Processing
784
785* Audio File Utilities::
786* Audio Device Information::
787* Audio Player::
788* Audio Recorder::
789* Audio Data Processing::
790
791Audio Player
792
793* Playback::
794* Player Properties::
795
796Audio Recorder
797
798* Recording::
799* Data Retrieval::
800* Recorder Properties::
801
802Object Oriented Programming
803
804* Creating a Class::
805* Class Methods::
806* Indexing Objects::
807* Overloading Objects::
808* Inheritance and Aggregation::
809* classdef Classes::
810
811Indexing Objects
812
813* Defining Indexing And Indexed Assignment::
814* Indexed Assignment Optimization::
815
816Overloading Objects
817
818* Function Overloading::
819* Operator Overloading::
820* Precedence of Objects::
821
822classdef Classes
823
824* Creating a classdef Class::
825* Properties::
826* Methods::
827* Inheritance::
828* Value Classes vs. Handle Classes::
829
830GUI Development
831
832* I/O Dialogs::
833* Progress Bar::
834* UI Elements::
835* GUI Utility Functions::
836* User-Defined Preferences::
837* Octave Workspace Windows::
838
839System Utilities
840
841* Timing Utilities::
842* Filesystem Utilities::
843* File Archiving Utilities::
844* Networking Utilities::
845* Controlling Subprocesses::
846* Process ID Information::
847* Environment Variables::
848* Current Working Directory::
849* Password Database Functions::
850* Group Database Functions::
851* System Information::
852* Hashing Functions::
853
854Networking Utilities
855
856* FTP Objects::
857* WWW Access::
858* Base64 and Binary Data Transmission::
859
860Packages
861
862* Installing and Removing Packages::
863* Using Packages::
864* Administrating Packages::
865* Creating Packages::
866
867Creating Packages
868
869* The DESCRIPTION File::
870* The INDEX File::
871* PKG_ADD and PKG_DEL Directives::
872* Missing Components::
873
874External Code Interface
875
876* Oct-Files::
877* Mex-Files::
878* Standalone Programs::
879* Java Interface::
880
881Oct-Files
882
883* Getting Started with Oct-Files::
884* Matrices and Arrays in Oct-Files::
885* Character Strings in Oct-Files::
886* Cell Arrays in Oct-Files::
887* Structures in Oct-Files::
888* Sparse Matrices in Oct-Files::
889* Accessing Global Variables in Oct-Files::
890* Calling Octave Functions from Oct-Files::
891* Calling External Code from Oct-Files::
892* Allocating Local Memory in Oct-Files::
893* Input Parameter Checking in Oct-Files::
894* Exception and Error Handling in Oct-Files::
895* Documentation and Testing of Oct-Files::
896
897Sparse Matrices in Oct-Files
898
899* Array and Sparse Class Differences::
900* Creating Sparse Matrices in Oct-Files::
901* Using Sparse Matrices in Oct-Files::
902
903Mex-Files
904
905* Getting Started with Mex-Files::
906* Working with Matrices and Arrays in Mex-Files::
907* Character Strings in Mex-Files::
908* Cell Arrays with Mex-Files::
909* Structures with Mex-Files::
910* Sparse Matrices with Mex-Files::
911* Calling Other Functions in Mex-Files::
912
913Java Interface
914
915* Making Java Classes Available::
916* How to use Java from within Octave::
917* Set up the JVM::
918* Java Interface Functions::
919
920Test and Demo Functions
921
922* Test Functions::
923* Demonstration Functions::
924
925Trouble
926
927* Actual Bugs::                 Bugs we will fix later.
928* Reporting Bugs::
929* How To Get Help with Octave::
930* How to Distinguish Between Octave and Matlab::
931
932Reporting Bugs
933
934* Bug Criteria::
935* Bug Tracker::        Where to submit your bug report.
936* Bug Reporting::      How to report a bug effectively.
937* Sending Patches::    How to send a patch for Octave.
938
939Installation
940
941* Build Dependencies::
942* Running Configure and Make::
943* Compiling Octave with 64-bit Indexing::
944* Installation Problems::
945
946Build Dependencies
947
948* Obtaining the Dependencies Automatically::
949* Build Tools::
950* External Packages::
951
952Grammar and Parser
953
954* Keywords::
955* Parser::
956@end detailmenu
957@end menu
958
959@c ------------------------------------------------------------------------
960@c Chapters of manual.
961
962@include preface.texi
963@include intro.texi
964@include basics.texi
965@include data.texi
966@include numbers.texi
967@include strings.texi
968@include container.texi
969@include var.texi
970@include expr.texi
971@include eval.texi
972@include stmt.texi
973@include func.texi
974@include errors.texi
975@include debug.texi
976@include io.texi
977@include plot.texi
978@include matrix.texi
979@include arith.texi
980@include linalg.texi
981@include vectorize.texi
982@include nonlin.texi
983@include diagperm.texi
984@include sparse.texi
985@include quad.texi
986@include diffeq.texi
987@include optim.texi
988@include stats.texi
989@include set.texi
990@include poly.texi
991@include interp.texi
992@include geometry.texi
993@include signal.texi
994@include image.texi
995@include audio.texi
996@include oop.texi
997@include gui.texi
998@include system.texi
999@include package.texi
1000
1001@c ------------------------------------------------------------------------
1002@c Appendices start here.
1003
1004@include external.texi
1005@include testfun.texi
1006@include obsolete.texi
1007@include bugs.texi
1008@include install.texi
1009@include grammar.texi
1010@include gpl.texi
1011
1012@c ------------------------------------------------------------------------
1013@c Indices start here.
1014
1015@include cp-idx.texi
1016@include fn-idx.texi
1017@include op-idx.texi
1018@include pr-idx.texi
1019
1020@bye
1021