示例#1
0
        private void AnalyzeNonMainPart(DqPart dqPart, DqDocument dqDocument)
        {
            var centeredParts = new[] { PartType.Bibliography, PartType.Abstract, PartType.Introduction, PartType.Conclusion, PartType.Toc };

            if (!centeredParts.Contains(dqPart.Type))
            {
                return;
            }

            var dqParagraph = dqPart.Start;

            if (!dqParagraph.Text.StartsWith("{PageBreak}") && !dqDocument.Paragraphs[dqParagraph.Index - 1].Text.EndsWith("{PageBreak}"))
            {
                dqParagraph.Meta.Errors.Add(new DqError("Перед разделом отсутсвует разрыв страницы."));
            }

            if (dqParagraph.Style.Aligment != DqAligment.Center)
            {
                dqParagraph.Meta.Errors.Add(new DqAlignmentError($"Заголовки разделов должны быть выровнены по центру."));
            }
            else if (dqParagraph.Style.Indent != 0)
            {
                dqParagraph.Meta.Errors.Add(new DqAlignmentError($"При выравнивании по центру должен отсутвовать абзацный отступ."));
            }

            if (string.Equals(dqParagraph.GetPureText(), "список использованной литературы", StringComparison.OrdinalIgnoreCase))
            {
                dqParagraph.Meta.Errors.Add(new DqError($"Нормативное название части — «Список использованных источников»."));
            }
        }
示例#2
0
 private void FindSpaces(DqPart dqPart)
 {
     foreach (var dqParagraph in dqPart.Paragraphs)
     {
         if (dqParagraph.Text.StartsWith("  "))
         {
             dqParagraph.Meta.Errors.Add(new DqWarning("Абзац начинается с нескольких пробелов."));
         }
     }
 }
示例#3
0
 private DqPart CopyContent(DqPart dqPart, DqDocument dqDocument, int partStart, int?partEnd)
 {
     dqPart.Paragraphs.AddRange(dqDocument.Paragraphs.GetRange(partStart, partEnd.Value - partStart));
     return(dqPart);
 }