Как заставить 'приложение' появиться в toc в Латексе?

Откуда вы знаете формат публикации данных в API, основанный на отдыхе, если нет документации?

blockquote>

Сервер должен научить клиента, как должен выглядеть запрос. В HTML, т. Е. Это делается через веб-форму, которая включает в себя все элементы, которые поддерживает сервер. В случае обновления поля могут быть автоматически заполнены текущими значениями, которые могут быть изменены пользователем / приложением. Поскольку форма также содержит URI для отправки данных, клиент может просто инициировать запрос, вызвав кнопку отправки формы.

Для REST API подобный подход может и должен быть принят. Здесь сервер может дать клиенту подсказку о поддерживаемых типах мультимедиа (в зависимости от того, поддерживает ли тип мультимедиа, полученный клиентом, такую ​​функцию), что также можно найти с помощью операции OPTIONS, которая информирует клиента о возможности конечной точки, такие как поддерживаемые типы медиа или операции, которые могут быть вызваны на конечной точке.

Должен ли метод get для коллекции возвращать пример элемента?

blockquote>

Если клиенту предоставляется форма, объясняющая, как должен выглядеть запрос, то нет Здесь действительно требуется информация о полосе, поэтому она не нужна.


Поскольку вы связали модель зрелости Ричардсена (RMM): IMO, эта модель не имеет особого смысла с точки зрения REST. Во-первых, в любом случае не существует приверженности REST до уровня 3, и даже при наличии уровня 3 у вас нет гарантии того, что вы действительно соответствуете архитектуре REST.

1113 Это, вероятно, нуждается в дополнительном объяснении, я полагаю. REST - это модель взаимодействия, а не протокол. Он использует свойства, которые сделали Интернет столь успешным, как, например, простое масштабирование посредством связи без сохранения состояния и снижение рабочей нагрузки за счет кэширования ответов на промежуточных серверах или распределения запросов между серверами с балансировкой нагрузки. Одна из его целей - разделение клиентов и серверов, позволяя последнему свободно развиваться, не опасаясь взлома первых. Таким образом, сервер должен обучать клиента всему, что ему нужно, чтобы сделать осознанный выбор, над какими «действиями» следует действовать дальше.

Т.е. сервер предоставит все ссылки, которые могут понадобиться клиенту, включая некоторые сопровождающие имена отношений ссылок, где имена отношений дают URI именованный контекст, который клиент может использовать, чтобы решить, вызывать его или нет. Такие имена либо стандартизированы IANA , либо должны быть абсолютными URI, как определено в RFC 8288 - Web Linking , т.е. как Dublin Core . Эта концепция позволяет серверу в любое время изменять URI ресурсов. Клиенты, уважающие эту концепцию, по-прежнему смогут выполнять свою задачу, в то время как клиенты, анализирующие и анализирующие такие URI, могут в результате этого сломаться.

Согласно Филдингу

API REST должен тратить почти все свои описательные усилия на определение типа (типов) мультимедиа, используемых для представления ресурсов и управления состоянием приложения, или на определение имен расширенных отношений и / или гипертекстовая разметка для существующих стандартных типов носителей. Любые усилия, затраченные на описание того, какие методы использовать для каких интересующих URI, должны быть полностью определены в рамках правил обработки для типа носителя (и, в большинстве случаев, уже определены существующими типами носителя) ( Источник )

blockquote>

Кроме того, Филдинг упомянул, что клиенты не должны относить ресурсы к определенному типу , а вместо этого договариваются с сервером о поддерживаемых форматах представления, понятных обоим приложениям. через согласование типа контента. Клиент, ожидающий, что конечная точка http://acmee.com/api/users вернет представление JSON с предопределенными полями, может иметь определенные проблемы, если ответ поставляется с другими именами полей или с другими типами значений, или вообще с другой структурой, отличной от ожидаемой. Это также напрямую связывает клиента с возвращаемым значением определенного API и, таким образом, требует определенных внеполосных знаний. Это то, чего не хватает в RMM. Поэтому, даже если вы достигли уровня 3 в RMM, вы все равно можете не соблюдать все ограничения, которые Fielding накладывает, чтобы придерживаться стиля архитектуры REST.

20
задан GEOCHET 22 April 2009 в 21:58
поделиться

2 ответа

Это, вероятно, наиболее легко достигается при помощи пакета приложения или класса мемуаров.

Если Вы не хотите использовать пакетное решение, необходимо будет взломать команды разделения. Когда я должен был сделать это для своей диссертации, я клонировался report класс, и отредактированный, пока я не сделал леди полей счастливой. То, что Вы ищете, является определением \addcontentsline макрос.

11
ответ дан 30 November 2019 в 00:27
поделиться

Существует несколько способов решить эту проблему; к сожалению, я только получил взлом для Вас на данном этапе. Одна проблема состоит в том, что, если мы переопределяем раздел номер "A" для включения слова "Appendix", это портит форматирование оглавления. Таким образом вместо этого, я только что определил новую команду разделения, которая печатает раздел без числа и вставляет "Приложение X" вручную.

Довольно ужасный, но по крайней мере это работает, не имея необходимость изменять любую разметку :)

\documentclass{article}

\makeatletter
\newcommand\appendix@section[1]{%
  \refstepcounter{section}%
  \orig@section*{Appendix \@Alph\c@section: #1}%
  \addcontentsline{toc}{section}{Appendix \@Alph\c@section: #1}%
}
\let\orig@section\section
\g@addto@macro\appendix{\let\section\appendix@section}
\makeatother

\begin{document}

\tableofcontents

\section{goo}
\label{a} 
This is sec~\ref{a}

\section{har}
\label{b}
This is sec~\ref{b}

\appendix
\section{ji}
\label{c} 
This is app~\ref{c}
\subsection{me}
does this look right?

\end{document}
12
ответ дан 30 November 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: