mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-26 21:43:47 +02:00
128 lines
4.6 KiB
TeX
128 lines
4.6 KiB
TeX
%
|
|
% $Id$
|
|
% This file is part of the FPC documentation.
|
|
% Copyright (C) 1997, by Michael Van Canneyt
|
|
%
|
|
% The FPC documentation is free text; you can redistribute it and/or
|
|
% modify it under the terms of the GNU Library General Public License as
|
|
% published by the Free Software Foundation; either version 2 of the
|
|
% License, or (at your option) any later version.
|
|
%
|
|
% The FPC Documentation is distributed in the hope that it will be useful,
|
|
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
% Library General Public License for more details.
|
|
%
|
|
% You should have received a copy of the GNU Library General Public
|
|
% License along with the FPC documentation; see the file COPYING.LIB. If not,
|
|
% write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
% Boston, MA 02111-1307, USA.
|
|
%
|
|
\ProvidesPackage{fakehtml}[2001/07/01]
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% based upon Eijkhout's comment.sty v2.0
|
|
% with modifications to avoid conflicts with later versions
|
|
% of this package, should a user be requiring it.
|
|
% Ross Moore, 10 March 1999
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Comment.sty version 2.0, 19 June 1992
|
|
% selectively in/exclude pieces of text: the user can define new
|
|
% comment versions, and each is controlled separately.
|
|
% This style can be used with plain TeX or LaTeX, and probably
|
|
% most other packages too.
|
|
%
|
|
% Examples of use in LaTeX and TeX follow \endinput
|
|
%
|
|
% Author
|
|
% Victor Eijkhout
|
|
% Department of Computer Science
|
|
% University Tennessee at Knoxville
|
|
% 104 Ayres Hall
|
|
% Knoxville, TN 37996
|
|
% USA
|
|
%
|
|
% eijkhout@cs.utk.edu
|
|
%
|
|
% Usage: all text included in between
|
|
% \comment ... \endcomment
|
|
% or \begin{comment} ... \end{comment}
|
|
% is discarded. The closing command should appear on a line
|
|
% of its own. No starting spaces, nothing after it.
|
|
% This environment should work with arbitrary amounts
|
|
% of comment.
|
|
%
|
|
% Other 'comment' environments are defined by
|
|
% and are selected/deselected with
|
|
% \includecomment{versiona}
|
|
% \excludecoment{versionb}
|
|
%
|
|
% These environments are used as
|
|
% \versiona ... \endversiona
|
|
% or \begin{versiona} ... \end{versiona}
|
|
% with the closing command again on a line of its own.
|
|
%
|
|
% Basic approach:
|
|
% to comment something out, scoop up every line in verbatim mode
|
|
% as macro argument, then throw it away.
|
|
% For inclusions, both the opening and closing comands
|
|
% are defined as noop
|
|
%
|
|
% Changed \next to \html@next to prevent clashes with other sty files
|
|
% (mike@emn.fr)
|
|
% Changed \html@next to \htmlnext so the \makeatletter and
|
|
% \makeatother commands could be removed (they were causing other
|
|
% style files - changebar.sty - to crash) (nikos@cbl.leeds.ac.uk)
|
|
% Changed \htmlnext back to \html@next...
|
|
|
|
\def\makeinnocent#1{\catcode`#1=12 }
|
|
\def\csarg#1#2{\expandafter#1\csname#2\endcsname}
|
|
|
|
\def\ThrowAwayComment#1{\begingroup
|
|
\def\CurrentComment{#1}%
|
|
\let\do\makeinnocent \dospecials
|
|
\makeinnocent\^^L% and whatever other special cases
|
|
%%RRM
|
|
%% use \xhtmlComment for \xComment
|
|
%% use \html@next for \next
|
|
\endlinechar`\^^M \catcode`\^^M=12 \xhtmlComment}
|
|
{\catcode`\^^M=12 \endlinechar=-1 %
|
|
\gdef\xhtmlComment#1^^M{\def\test{#1}\edef\test{\meaning\test}
|
|
\csarg\ifx{PlainEnd\CurrentComment Test}\test
|
|
\let\html@next\endgroup
|
|
\else \csarg\ifx{LaLaEnd\CurrentComment Test}\test
|
|
\edef\html@next{\endgroup\noexpand\end{\CurrentComment}}
|
|
\else \csarg\ifx{LaInnEnd\CurrentComment Test}\test
|
|
\edef\html@next{\endgroup\noexpand\end{\CurrentComment}}
|
|
\else \let\html@next\xhtmlComment
|
|
\fi \fi \fi \html@next}
|
|
}
|
|
|
|
%%\def\includecomment %%RRM
|
|
\def\htmlincludecomment
|
|
#1{\expandafter\def\csname#1\endcsname{}%
|
|
\expandafter\def\csname end#1\endcsname{}}
|
|
%%\def\excludecomment %%RRM
|
|
\def\htmlexcludecomment
|
|
#1{\expandafter\def\csname#1\endcsname{\ThrowAwayComment{#1}}%
|
|
{\escapechar=-1\relax
|
|
\edef\tmp{\string\\end#1}%
|
|
\csarg\xdef{PlainEnd#1Test}{\meaning\tmp}%
|
|
\edef\tmp{\string\\end\string\{#1\string\}}%
|
|
\csarg\xdef{LaLaEnd#1Test}{\meaning\tmp}%
|
|
\edef\tmp{\string\\end \string\{#1\string\}}%
|
|
\csarg\xdef{LaInnEnd#1Test}{\meaning\tmp}%
|
|
}}
|
|
|
|
%%\excludecomment{comment} %%RRM
|
|
\htmlexcludecomment{comment}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% end Comment.sty
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\let\includecomment=\htmlincludecomment
|
|
\let\excludecomment=\htmlexcludecomment
|
|
|
|
\newcommand{\latex}[1]{#1}
|
|
\newcommand{\html}[1]{}
|
|
\htmlexcludecomment{htmlonly}
|
|
\newenvironment{latexonly}{}{}
|