@c ---------------------------------------------------------------------
@c
@c Copyright (C) 2012-2024 The Octave Project Developers
@c See the file COPYRIGHT.md in the top-level directory of this
@c or <https://octave.org/copyright/>.
@c
@c
@c This file is part of Octave.
@c
@c Octave is free software; you can redistribute it and/or modify it
@c under the terms of the GNU General Public License as published by the
@c Free Software Foundation; either version 3 of the License, or (at
@c your option) any later version.
@c
@c Octave is distributed in the hope that it will be useful, but WITHOUT
@c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@c FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
@c for more details.
@c
@c You should have received a copy of the GNU General Public License
@c along with Octave; see the file COPYING.  If not, see
@c <http://www.gnu.org/licenses/>.
@c
@c ---------------------------------------------------------------------

@c The following macro marks words that aspell should ignore during
@c spellchecking.  Within Texinfo it has no effect as it merely replaces
@c the macro call with the argument itself.

@macro nospell {arg}
\arg\
@end macro

@c The following macro works around the Info/plain text expansion of @code{XXX}
@c which is `XXX'.  This looks particularly bad when the macro body is
@c single or double-quoted text, such as a property value `"position"'
@ifinfo
@rmacro qcode{arg}
\arg\
@end rmacro
@end ifinfo
@ifnotinfo
@rmacro qcode{arg}
@code{\arg\}
@end rmacro
@end ifnotinfo

@c The following macro is used for the on-line help system, but we don't
@c want lots of `See also: foo, bar, and baz' strings cluttering the
@c printed manual (that information should be in the supporting text for
@c each group of functions and variables).
@c
@c Implementation Note:
@c For TeX, @vskip produces a nice separation.
@c For Texinfo, '@sp 1' should work, but in practice produces ugly results
@c for HTML.  We use a simple blank line to produce the correct behavior.

@macro seealso {args}
@iftex
@vskip 2pt
@end iftex
@ifnottex

@end ifnottex
@ifnotinfo
@noindent
@strong{See also:} \args\.
@end ifnotinfo
@ifinfo
@noindent
See also: \args\.
@end ifinfo
@end macro

@c The following macro works around a situation where the Info/plain text
@c expansion of the @code{XXX} macro is `XXX'.  The use of the apostrophe
@c can be confusing if the code segment itself ends with a transpose operator.
@ifinfo
@macro tcode{arg}
\arg\
@end macro
@end ifinfo
@ifnotinfo
@macro tcode{arg}
@code{\arg\}
@end macro
@end ifnotinfo

@c FIXME: someday, when Texinfo 5.X is standard, we might replace this with
@c @backslashchar, which is a new addition to Texinfo.

@macro xbackslashchar
\\
@end macro
