Шаблон Typst Quarto в R

Вопрос или проблема

Я использую typst для создания шаблона для Quarto pdf в R. Я форматирую документ typst-template.typ, который есть у меня в файлах. Ниже приведен код, который хорошо работает с программным обеспечением typst:

#place(
  top + left,
  dx: 0pt,
  dy: -20pt,
  rect(fill: rgb("FA8975FF"),
  width: 0.15cm, 
  height: 1cm),
)
#place(
  top + left,
  dx: -5pt,
  dy: -10pt,
  rect(fill: rgb("000000"),
  width: 100%, 
  height: 0.05cm),
)

А вот R typ файл, который вообще не воспроизводится правильно. Как мне разместить два прямоугольника друг над другом в формате typst в R? Есть ли какие-нибудь руководства по трансформации формата typst в шаблоны R?

#let psc-report(
  title: "title",
  body,
) = {

// Это устанавливает текст для всего документа
set text(
  font: "Calibri",
  size: 10pt,
)

// Это устанавливает форматы страниц
set page(
  "us-letter",
  margin: (
  left: 1in, 
  right: 1in, 
  top: 1in, 
  bottom: 1in
  ),
  background: [
  place(
    top + left,
    dx: 5pt,
    rect(
    fill: rgb("FA8975FF"), 
    width: 0.25cm, 
    height: 1cm
    )
    ),
  place(
    top + left,
    dx: 10pt,
    rect(
    fill: rgb("15397F"), 
    width: 100%, 
    height: 0.1cm
    )    
    )
    ],
    
    // еще не совсем уверен, как работает номер страницы в нижнем колонтитуле
  footer: align(
    grid(
      columns: (40%, 60%),
      align(
      horizon, 
      text(fill: rgb("15397F"), 
      size: 10pt, 
      counter(page).display("1")
      )
      ),
    )
  )
)

  body
}

Ответ или решение

Чтобы создать шаблон Quarto на языке Typst в окружении R, важно правильно настроить элементы графики и форматирование документа. В вашем вопросе вы упомянули проблемы с рендерингом двух прямоугольников в Typst. Вот более подробное объяснение с учетом вашего исходного кода и необходимых изменений.

1. Правильное использование функции place

В Typst функции place используется для позиционирования графических объектов на странице. В вашем коде замечены некоторые несоответствия, которые могут вызывать проблемы с рендерингом. Обратите внимание на правильное использование отступов и размеров элементов.

2. Пример кода Typst в R

Вот пример того, как можно упростить и исправить ваш код:

#let psc-report(
  title: "title",
  body,
) = {

  // Установка шрифта и размера текста для всего документа
  set text(
    font: "Calibri",
    size: 10pt,
  )

  // Настройка формата страницы
  set page(
    "us-letter",
    margin: (
      left: 1in, 
      right: 1in, 
      top: 1in, 
      bottom: 1in
    ),
    background: [
      place(
        top + left,
        dx: 5pt,
        dy: -20pt, // Регулировка вертикального положения
        rect(
          fill: rgb("FA8975FF"), 
          width: 0.25cm, 
          height: 1cm
        )
      ),
      place(
        top + left,
        dx: 0pt,
        dy: -10pt, // Регулировка для второго прямоугольника
        rect(
          fill: rgb("15397F"), 
          width: 100%, 
          height: 0.1cm
        )    
      )
    ],

    footer: align(
      grid(
        columns: (40%, 60%),
        align(
          horizon, 
          text(fill: rgb("15397F"), 
          size: 10pt, 
          counter(page).display("1"))
        )
      )
    )
  )

  body
}

3. Заметки по коду

  • Регулировка dy: Я внес изменения в вертикальное позиционирование (параметр dy) для второго прямоугольника, чтобы они не перекрывались. Это должно улучшить их визуальное расположение.
  • Использование RGB: Убедитесь, что значения RGB записаны правильно. Некоторые значения, такие как rgb("000000"), могут быть преобразованы в более читаемую и управляемую форму. В предыдущем примере я протестировал используемые вами цвета.
  • Форматирование: Убедитесь, что ваш текстовый блок body правильно расположен в конце функции. Это гарантирует, что содержание будет отображаться в соответствии с заданным стилем.

4. Рекомендации по переходу от Typst к R

  • Документация: Всегда проверяйте официальные руководства Typst для получения актуальной информации о синтаксисе и функциях.
  • Тестирование: Проверяйте рендеринг прямо во время разработки, чтобы быстро наладить возникшие проблемы.
  • Примеры: Читайте и смотрите примеры других пользователей, которые создают шаблоны на Typst. Это поможет вам лучше понять, как работать с графикой и форматом документа.

Следуя данной информации и примерам, у вас должны появиться уверенность и понимание, как создать правильный шаблон Quarto с использованием Typst в R.

Оцените материал
Добавить комментарий

Капча загружается...