Menu

Стиль "код" применяется построчно, а не ко всему абзацу

fb2_user
2014-12-26
2015-03-23
  • fb2_user

    fb2_user - 2014-12-26

    Создаю свой стиль "Код", основной особенностью которого является шрифт "Courier New" (для автоматического применения тэга code, выделяю АБЗАЦ, применяю созданный Стиль абзаца "Код", в итоге получается следующее:
    Нужно чтобы было так (пробелы вместо подчеркивания):

    /
    Это простая программа на С#.
    Назовем ее Example.cs.
    /
    using System;
    class Example
    {
    _// Любая программа на C# начинается с вызова метола Main().
    static void Main()
    _{
    __Console.WriteLine("Простая программа на С#.");
    }
    }

    А получается так (тэг code применяется построчно, но начинается не с начала строки, а с тэга P):

    <p><code>/</code></p>
    <p><code>Это простая программа на С#.</code></p>
    <p><code>Назовем ее Example.cs.</code></p>
    <p><code>
    /</code></p>
    <p><code>using System;</code></p>
    <p><code>class Example</code></p>
    <p><code>{</code></p>
    <p> <code>// Любая программа на C# начинается с вызова метола Main().</code></p>
    <p> <code>static void Main()</code></p>
    <p> <code>{</code></p>
    <p> <code>Console.WriteLine("Простая программа на С#.");</code></p>
    <p> <code>}</code></p>
    <p><code>}</code></p>

    Т.е. мы видим код без отступов!

    /
    Это простая программа на С#.
    Назовем ее Example.cs.
    /
    using System;
    class Example
    {
    // Любая программа на C# начинается с вызова метола Main().
    static void Main()
    {
    Console.WriteLine("Простая программа на С#.");
    }
    }

     

    Last edit: fb2_user 2014-12-26
  • Starikov Sergey

    Starikov Sergey - 2014-12-27

    Вы пытаетесь применить формат вне его изначальной целевой ниши.
    В рамках XML данные элементы форматирования (отступы) задаются стилями.
    Но будьте готовы к встрече со второй необходимой частью решения: поддержкой используемых Вами элементов прикладным ПО (программами для чтения, стили ЕМНИП поддерживает только CoolReader3, но в как минимум базовой прошивке современных читалок он уже не встречается). И здесь Вас ждёт много «приятнейших» сюрпризов.

    Потому я бы рекомендовал начать с знакомства с областью и условиями реализуемости фичи автоматического масштабирования. Например в третьей версии сочинения тов. Львовского.
    И ориентироваться на родной формат оптимального решения задачи (dvi).

     
  • dikbsd

    dikbsd - 2014-12-29

    Уже не помню точно, но, кажется, я делал, чтобы стартовые в абзаце пробелы входили в обрамление тэгом code. После праздников посмотрю, в чем там дело.

     
  • fb2_user

    fb2_user - 2015-01-07

    Starikov Sergey, я не имею возможности читать книги, отформатированные "по фэншую", т.к. большая часть книг с технической литературой максимум что есть - это отсканированная и распознанная в FineReader книжка и хорошо, если она будет в fb2, а не pdf. Так что я буду продолжать использовать CoolReader ;)

    P.S. Интересно, а авторы sourceforge discussion не пробовали сделать для форматирования текста что-то подобное phpBB? :)))

     
    • Starikov Sergey

      Starikov Sergey - 2015-01-11

      Проблема в том, что не–фэньшуй в данном случае (распознали и засунули в xml) как правило означает потерю форматирования (и смыслов, заложенных в оное) вообще.
      Впрочем, и без форматирования, сделав шаг в сторону можно обнаружить целые залежи граблей (Вам показать… ИВНР «разработчиков», типа кириллических (!) шрифтов, на вопрос о количестве букв для полной поддержки только русской кириллицы гордо отвечающих — 33?).
      Если хотите убедиться на личном опыте — оформите в fb2 пару страниц pgfmanual

      ЗЫ: Задавать такие вопросы следует в соответствующем месте.
      https://sourceforge.net/p/forge/feature-requests/
      И не забудьте пожалуйста ссылку в тему ☺

       
  • fb2_user

    fb2_user - 2015-01-11

    Да нет. Я про то, что в IDE редакторах отступы форматируются именно с помощью пробелов (ну максимум с помощью табов), но не стилями. Поэтому для тэга CODE форматирование отступов происходит ТОЛЬКО с помощью пробелов. Хотите проверить, откройте Visual Studio, и скопируйте текст в блокнот. Если фрагмент кода без ошибок, IntelliSense его выравнивает с помощью пробелов.

     
  • Starikov Sergey

    Starikov Sergey - 2015-01-13

    в IDE редакторах отступы форматируются именно с помощью пробелов (ну максимум с помощью табов), но не стилями.

    Логично и закономерно.
    Ибо требования компилляторов/интерпретаторов.

    А вот проверить по предлагаемому сценария не могу. ☺
    Аж два раза.
    Во-первых, потому что разработчик не обременяет себя поддержкой моей платформы.
    Во-вторых в силу несогласия с условиями лицензионного «соглашения».

     
  • fb2_user

    fb2_user - 2015-01-15

    Так я не понял. Версия fb2tools обновилась, а изменений нет? При конвертации все так же блок code пробелы не ставит...

     
  • fb2_user

    fb2_user - 2015-01-15

    Или нужно где-то галку поставить?

     
  • fb2_user

    fb2_user - 2015-01-15

    Пример:

     
  • Starikov Sergey

    Starikov Sergey - 2015-01-16

    Есть мнение, что в качестве примера интересен не результат (.fb2), а исходник (.odt).
    Насколько я представляю логику, после задания стиля форматирования надо применить корректор текста.

     
  • fb2_user

    fb2_user - 2015-01-16

    О, помогло. Большое спасибо. Но разве корректор текста не запускается автоиматически при экспорте в fb2?

     
    • Starikov Sergey

      Starikov Sergey - 2015-01-16

      Но разве корректор текста не запускается автоиматически при экспорте в fb2?

      Нужто он (корректор текста) при каком-то сценарии должен делать это?
      Корректор реализует операцию обработки текста (предполагающую как минимум контроль результатов).
      Экспорт же является только преобразованием предварительно оформленного документа.

      Потому я и говорю не недопустимости стремления к халяве и уклонения в потреблядство: решение логичное и очевидное с точки зрения разработчика (или пользователя тем или иным образом причастного к разработке) может представляться внезапным для простопользователя.

      Решать это надо в два этапа:
      1. Не желающим вникать в нюансы разработки пользователям должно побороть соблазн потреблядства и воплотить свой опыт в пользовательскую документацию;
      2. «Теория без практики мертва». Поэтому помимо собственно оформления опыта необходимо работать и над его внедрением в практику.

       
      • fb2_user

        fb2_user - 2015-01-16

        "Экспорт же является только преобразованием предварительно оформленного документа."
        Не только.
        Если снизойти до потреблядственников, то можно заметить, что при открытии диалога "Настройки Export2FB21..." помимо всех пунктов, есть еще пункт "Разное", где как раз и ведется работа корректора (удаление пустых строк, обработка ссылок, обработка проблемных символов и т.п.)
        Таким образом было бы логичным добавить туда же функции по конвертации текста подготовленного для CODE в соответствующий для fb2 формат...

         

        Last edit: fb2_user 2015-01-16
  • fb2_user

    fb2_user - 2015-01-16

    Так лучше :)

     
  • dikbsd

    dikbsd - 2015-02-15

    Я создавал конвертер таким образом, чтобы он экспортировал максимально точно то, что приходит к не у на вход. Была введена некоторая интеллектуальность и мелкая обработка текста, но это все в очень малой степени влияет на изменение исходного текста.
    Кому-то нужен экспорт обработанного текста. Кому-то -нет. Поэтому пользователь может обработать текст Корректором так, как ему удобно, а потом сделать экспорт. Угадать желания всех пользователей по автообработке текста при экспорте невозможно :).

    Я не совсем понял, что там сейчас с code? Вроде я вносил изменения в код программы. Может я что-то упустил?

     
  • fb2_user

    fb2_user - 2015-02-15

    Да нет, сейчас вроде все нормально. Оказывается нужно принудительно запустить пункт меню "Автоматическая разметка листингов программ".

     
  • dikbsd

    dikbsd - 2015-02-16

    Это уже не обязательно :)
    Сделал для панели fb2 стилей, для стиля code дополнение: все множественные простые и множественные/одиночные пробелы автоматически меняются на неразрывные при задании выделенным абзацам стиля code. Так уцдобнее :)

     
  • fb2_user

    fb2_user - 2015-02-16

    А когда появится обновление для скачивания?

     
    • Starikov Sergey

      Starikov Sergey - 2015-02-24

      С таким вопросом приглашаю подписаться на список fbtools-release

       
  • dikbsd

    dikbsd - 2015-02-24

    Я сейчас в отпуск уехал - где-то после 10 марта исправлю еще новый баг экспорта - и выложу новый релиз.

     
  • dikbsd

    dikbsd - 2015-03-23

    Тему можно закрыть - все сделано в релизе 3.32

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.