/// <summary>
        /// This creates a new build object that is a deep copy of the current
        /// instance.
        /// </summary>
        /// <returns>
        /// A new build object that is a deep copy of this instance.
        /// </returns>
        public override BuildComponentConfiguration Clone()
        {
            ConceptualMathConfiguration options = new ConceptualMathConfiguration(this);

            if (_inputPath != null)
            {
                options._inputPath = String.Copy(_inputPath);
            }
            if (_baseOutput != null)
            {
                options._baseOutput = String.Copy(_baseOutput);
            }
            if (_outputPath != null)
            {
                options._outputPath = String.Copy(_outputPath);
            }
            if (_namingPrefix != null)
            {
                options._namingPrefix = String.Copy(_namingPrefix);
            }
            if (_numFormat != null)
            {
                options._numFormat = String.Copy(_numFormat);
            }

            return(options);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ConceptualEngineSettings"/> class
        /// with the default parameters.
        /// </summary>
        public ConceptualEngineSettings()
            : base("Sandcastle.Conceptual.ConceptualEngineSettings", BuildEngineType.Conceptual)
        {
            IBuildNamedList <BuildComponentConfiguration> componentConfigurations
                = this.ComponentConfigurations;

            if (componentConfigurations != null)
            {
                ConceptualPreTransConfiguration preTrans =
                    new ConceptualPreTransConfiguration();

                ConceptualIntelliSenseConfiguration intelliSense =
                    new ConceptualIntelliSenseConfiguration();

                ConceptualCloneConfiguration cloneDocument =
                    new ConceptualCloneConfiguration();

                ConceptualPostTransConfiguration postTrans =
                    new ConceptualPostTransConfiguration();

                ConceptualCodeConfiguration codeComponent =
                    new ConceptualCodeConfiguration();

                ConceptualMathConfiguration mathComponent =
                    new ConceptualMathConfiguration();

                ConceptualMediaConfiguration mediaComponent =
                    new ConceptualMediaConfiguration();

                ConceptualLinkConfiguration topicLinkComponent =
                    new ConceptualLinkConfiguration();

                ConceptualReferenceLinkConfiguration referenceLinkComponent =
                    new ConceptualReferenceLinkConfiguration();

                ConceptualSharedConfiguration sharedComponent =
                    new ConceptualSharedConfiguration();

                componentConfigurations.Add(preTrans);
                componentConfigurations.Add(intelliSense);
                componentConfigurations.Add(codeComponent);
                componentConfigurations.Add(mathComponent);
                componentConfigurations.Add(mediaComponent);
                componentConfigurations.Add(postTrans);
                componentConfigurations.Add(cloneDocument);
                componentConfigurations.Add(topicLinkComponent);
                componentConfigurations.Add(referenceLinkComponent);
                componentConfigurations.Add(sharedComponent);
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ConceptualMathConfiguration"/> class
        /// with parameters copied from the specified instance of the
        /// <see cref="ConceptualMathConfiguration"/> class, a copy constructor.
        /// </summary>
        /// <param name="source">
        /// An instance of the <see cref="ConceptualMathConfiguration"/> class from which the
        /// initialization parameters or values will be copied.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// If the parameter <paramref name="source"/> is <see langword="null"/>.
        /// </exception>
        public ConceptualMathConfiguration(
            ConceptualMathConfiguration source)
            : base(source)
        {
            _inlineSize    = source._inlineSize;
            _displayedSize = source._displayedSize;
            _inlineZoom    = source._inlineZoom;
            _displayedZoom = source._displayedZoom;

            _inputPath  = source._inputPath;
            _baseOutput = source._baseOutput;
            _outputPath = source._outputPath;

            _namingPrefix = source._namingPrefix;
            _namingMethod = source._namingMethod;

            _numEnabled            = source._numEnabled;
            _numByPage             = source._numByPage;
            _numFormat             = source._numFormat;
            _numFormatIncludesPage = source._numFormatIncludesPage;
        }