Как добавить новые стили в документы Google?

299

Документы Google имеют хороший набор стилей, таких как «Обычный текст» и «Заголовок 1».

Как добавить свой собственный? Я хочу добавить стиль под названием «код» для текста, который является программным кодом.

Дэвид Фокс
источник
42
Именно поэтому я пришел к этому вопросу. :) Я просто хотел создать стиль под названием Code и Inline code, который бы не был стилем абзаца.
Роберт Коритник
18
Я знаю ответ, но не могу добавить его, потому что мне не хватает репутации. В основном вы можете использовать скрипты Google Apps, вот что я сделал: pastebin.com/4pNBJ9pC . Чтобы включить его, нужно создать новый скрипт: Tools>> Script Manager>> Newи вставить туда код. Затем вам нужно будет авторизовать скрипт и перезагрузить документ, чтобы меню появилось в строке меню. Затем выберите фрагмент текста и выберите Extras>>Apply code style
Trident D'Gao
3
Я знаю свой ответ, но моей репутации явно недостаточно. Начиная с 3/14 ', после обновления существующих заголовков с помощью «Обновить заголовок X, чтобы он соответствовал», GDocs добавит дополнительный заголовок Y. Таким образом, он начинается с заголовка 1,2,3, но после обновления заголовка 3, GDocs представит заголовок 4. После того, как вы обновите заголовок 4, GDocs представит заголовок 5 и т. Д.
JJ Rohrer
7
Есть расширение, которое делает это: chrome.google.com/webstore/detail/paragraph-styles%20/… (Я не могу опубликовать ответ из-за ошибки в stackexchange - он говорит, что мне нужно 10 представителей, чтобы ответить, я ' у меня 103 представителя, ящика для ответов нет.)
Крис Москини
1
Ответ @AlekseyBykov помог мне с этим. Я обновил и исправил некоторые проблемы с ним здесь github.com/cr8ivecodesmith/google_docs_scripts/blob/master/…
cr8ivecodesmith

Ответы:

136

В настоящее время невозможно добавить больше стилей или переименовать существующие, но вы можете изменить их в соответствии со своими потребностями.

Например, вы можете стилизовать свой код по своему желанию, а затем, выбрав один из заголовков и выбрав Update Heading # to match selection, этот конкретный стиль может стать вашим новым стилем «Код» .

Затем выберите что-то еще и примените этот заголовок, и все готово.

Стили в Google Документах

Lipis
источник
104
Недостатком является то, что это будет включать в себя код в моем оглавлении. : / Я обнаружил, что использование стиля субтитров для кода предотвращает его отображение в оглавлении.
Марк Надиг
9
+1 @ digger69 за этот совет. Использование «Субтитров» для кода - единственный лучший совет, который я когда-либо получал от этого StackExchange. Отлично подходит для высоты строки 1.15 по всему документу, но 1.0 для кода! : D
ELLIOTTCABLE
9
Как я также упоминал в ответе digger69, другой недостаток заключается в том, что это не допускает встроенные стили; это должно быть на своей линии. Конечно, короткий код или, что более вероятно, термины, связанные с кодом (такие как имена тегов, функций или переменных), часто хотят встраиваться внутри абзаца текста.
Drewdavid
2
правда ли, что это должен быть «блок», означающий, что вся строка или абзац должны быть того же стиля - это не может быть строка со codeсмешанным с обычным текстом, как это: windowобъект
nopole
12
Я просто хочу отметить, что нет никакого смысла в том, что «эксперты по программному обеспечению» в Google никогда не добавляли функцию добавления нового стиля в Документы. Это должно было стать одним из их первоочередных приоритетов в течение десятилетия или около того, было доступно это веб-приложение.
Спенсер Уильямс
56

Как показывает Липис, вы все еще не можете создавать свои собственные стили. Итак, вам осталось изменить существующее. Недостатком использования заголовка является то, что это приведет к «коду» в моем оглавлении (TOC). : / Я обнаружил, что использование стилей заголовка и субтитров для кода не позволяет отображать эти стили в оглавлении.

Марк Надиг
источник
3
Основным недостатком этого подхода является то, что, хотя вы можете использовать ⌘ + Alt + 6, чтобы использовать этот макет, если вы переопределяете 6-й заголовок, для стиля Subtitle не существует соответствующего сочетания клавиш.
Амит Котловски
5
Другое замечание - это то, что это, похоже, не работает inline, должно быть по-своему (верно для всех стилей, которые я представляю)
Drewdavid
27

Многие решения не работают встроенными. Это чистое решение, предлагаемое @AlekseyBykov с помощью Google App Scripts для добавления настраиваемого действия в меню:

  1. Создать новый скрипт ( Tools > Script Editor)
  2. Скопируйте следующий код в редактор:
// Add new menu item
function onOpen() {
  DocumentApp.getUi()
  .createMenu('Styles')
  .addItem('Format Code', 'formatCode')
  .addToUi();
}

// Define code styling
var style = {};
style[DocumentApp.Attribute.FONT_FAMILY] = DocumentApp.FontFamily.CONSOLAS;
style[DocumentApp.Attribute.FONT_SIZE] = 10;
style[DocumentApp.Attribute.BACKGROUND_COLOR] = "#DDDDDD";
style[DocumentApp.Attribute.FOREGROUND_COLOR] = "#333333";
style[DocumentApp.Attribute.BOLD] = false;

// Apply code formatting
function formatCode() {
  var selection = DocumentApp.getActiveDocument().getSelection();
  if (selection) {
    var elements = selection.getRangeElements();
    for (var i = 0; i < elements.length; i++) {
      var element = elements[i];

      // Only modify elements that can be edited as text; skip images and other non-text elements.
      if (element.getElement().editAsText) {
        var text = element.getElement().editAsText();

        // Style the selected part of the element, or the full element if it's completely selected.
        if (element.isPartial()) {
          text.setAttributes(element.getStartOffset(), element.getEndOffsetInclusive(), style);
        } else {
          text.setAttributes(style);
        }
      }
    }
  }
}
  1. Назначьте триггер для запуска onOpenфункции «В открытом состоянии» ( Edit > Current Project's Triggers)
  2. После авторизации скрипта перезагрузите исходный документ
  3. Используйте новый пункт меню для форматирования выделенного текста ( Styles > Format Code)
Dule
источник
2
Отлично и работал отлично. Для более «слабого» стиля обратной галочки: style [DocumentApp.Attribute.BACKGROUND_COLOR] = "#FFEEEE"; style [DocumentApp.Attribute.FOREGROUND_COLOR] = "# 880000";
Джим Моррисон
1
отличные вещи. Мне не понравилось, что фон между словами отсутствовал, поэтому я изменил его, чтобы поместить содержимое в ячейку таблицы со сплошным фоном: gist.github.com/fatso83/ffb7871c537e04d9ce95f66fccc30495
oligofren
супер хороший сценарий, спасибо! Теперь я могу расширить его, чтобы поддерживать больше стилей
Unreality
15

Бесплатное расширение Google Docs Paragraph Styles + позволяет создавать пользовательские стили абзацев (плюс десятичная системная нумерация контуров для заголовков и оглавление с нумерацией страниц).

Я только что проверил это, и вот мое первое впечатление:

  • Хорошее начало. Для небольших документов, это должно быть хорошо использовать :-)
  • Однако он работает довольно медленно, хотя последние версии уже улучшили производительность.
  • Пользовательский интерфейс не интегрируется с пользовательским интерфейсом в стиле Google Docs. Вероятно, невозможно в противном случае в API Документов Google.
  • Оригинальная функция стиля Документов Google не знает о пользовательских стилях, рассматривая весь текст с пользовательскими стилями как имеющий формат «Обычный текст». Вы можете использовать оба параллельно, но обратите внимание, что кнопка «Очистить форматирование» (выглядит как « T x ») удалит пользовательское форматирование стиля из выделенного текста.
  • Похоже, что ваши стили персонажей хранятся во внешнем веб-сервисе, это означает, что вы должны доверить им доступ к своим документам так, как вы доверяете их Google сейчас ...

Источник: Признание комментария Криса Москини выше, который упомянул его первым.

tanius
источник
6
Существуют ли какие-либо риски для безопасности данных, связанные с установкой такого расширения документов, или Google проверил, что код не является вредоносным?
Грубер
7
Эти разрешения, по- видимому, позволяют отправлять ваши документы или делиться ими с другими без предварительного уведомления. Это, безусловно, пугает меня.
Рис
Как и положено, @Reece! Спасибо за указатель.
Cheeso
11

До недавнего времени было возможно редактировать CSS (таблицу стилей) и HTML-источник документа. Это заняло некоторую работу, но если вы знали HTML и CSS, вы могли бы добавить класс CSS в ваш документ, а затем отредактировать HTML, чтобы использовать его, например, в HTML

<span class='booktitle'>Infinite Jest</span>

и в CSS

.booktitle { font-style:italic; }

Google более или менее отказался от этой возможности в своем новом формате, перенеся старые документы в новый формат. Но я слышал, что есть способы сохранить документы в старом формате, поэтому есть некоторая надежда.

IJ Кеннеди
источник
1
Я хотел бы больше информации о том, как это сделать.
Рагу
2
Не работает, Google теперь удаляет все CSS, кроме inlines
vs4vijay
2
Сценарий писал выше , почти такой же , как эта функция. После установки вы можете просто отредактировать styleобъект по мере необходимости. Это javascript, немного отличающийся от CSS, но почти идентичный. Примечание: он не выполняет внешних вызовов, не отправляет и не загружает данные из других источников.
Джонатан Кросс