
Я пишу диссертацию, в которой есть приложение. На него есть ссылка в оглавлении приложений. Однако есть требование к:
- иметь название приложения заглавными буквами там, где оно на самом деле находится
- и в Приложении TOC оно должно быть указано строчными буквами
Я объявляю приложение следующим:
\Annexe{Échantillons Utilisés}
Это делает его приемлемым для строчных букв в TOC, но не приводит к тому, что они отображаются заглавными в заголовке приложения.
Здесьэто шаблон для использования. Кроме того, вотглавная страницапо которому вы сможете восстановить шаблон в случае неработающей ссылки.
Я думал заглянуть в .sty
файл \MakeUpperCase
"appendix head", но понятия не имею, где это записать. Это жизнеспособное решение? Куда мне это вписать (или более интересное решение, если кто-то его знает)?
Спасибо!
Редактировать :здесьэто моя попытка минимального (рабочего) примера в Overleaf playground, чтобы мы могли посмотреть и поиграть с предоставленным .sty файлом. Также есть папка с файлами всех шаблонов, если нужно.
Мой MWE полон ошибок (вздох), но мы видим, что оглавление приложения и заголовок приложения имеют одинаковое форматирование (заглавные/строчные буквы).
решение1
Добро пожаловать в TeX.SX! Немного больше кода было бы здорово, однако, если ваша проблема заключается только в том, что имя приложения не написано заглавными буквами, просто объявите его как подавленный раздел, если ваш документ является статьей или главой, если вы выбрали формат отчета, например: \chapter*{Appendix}
. Затем переопределите имя, используя \addcontentsline{toc}{chapter}{appendix}
Вот схематический пример из моего собственного макета диссертации:
\documentclass[12pt]{report}
\begin{document}
\chapter*{Abstract}
\newpage
\tableofcontents
\newpage
\chapter{Chapter 1}
\newpage
\chapter*{Appendix} %Suppress the capitalised name
\addcontentsline{toc}{chapter}{appendix} %Manually add the non-capitalised one
\section{Risk Assessment}
\section{Proofs}
\end{document}
В оглавлении ваше приложение будет выглядеть следующим образом:
решение2
У меня была похожая проблема, можно попробовать сделать что-то вроде этого: первая строка добавляет заголовок (так что в вашем случае он должен быть написан заглавными буквами), а вторая добавляет его в оглавление (так что вы печатаете его строчными буквами).
\chapter*{Your Uppercase Title}
\addcontentsline{toc}{chapter}{your lowercase title}
Редактировать: не забудьте добавить \appendix
перед началом приложений, чтобы они были пронумерованы "A.", "B." и т. д. вместо продолжения нумерации из предыдущих глав. Таким образом, полный код выше будет таким:
\appendix
\chapter*{Your Uppercase Title}
\addcontentsline{toc}{chapter}{your lowercase title}
решение3
Спасибо за ответы! Им действительно удалось решить проблему, но частично. В итоге она взаимодействовала со всеми правилами, включенными в .sty
файл шаблона.
Итак, подведем итог, ответ goto таков:
% eventually \appendix here
\chapter*{THE CHAPTER}
\addcontentsline{toc}{chapter}{The chapter}
Но это может противоречить \commands
определенному в .sty
шаблоне, который кто-то использует: как в моем случае, \Annexe{The chapter}
имеет определенный стиль/интервал и т. д. (Однако ответы помогли мне проследить весь процесс, так что .sty
большое спасибо!)
Поэтому вам нужно либо взять стиль .sty
и применить его к предложенному ответу, либо найти, где и как решить эту проблему, взломав ее напрямую \Annexe
.sty
.
Вот краткое изложение процесса, которое, надеюсь, поможет другим людям диагностировать школьный шаблон! :)
Во-первых, \newcommand\annexe
определение школы: здесь ищите свою интерпретацию \Annexe
(если это \Appendix
поиск \newcommand\appendix
).
В моем случае он вызывает \@annexe
в какой-то момент в этой команде. \@annexe
это функция, которая принимает в качестве входных данных мою "главу". Вот она полностью:
\def\@annexe[#1]#2{\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\if@english
\addcontentsline{app}{annexe}%
{\protect\numberline{Appendix\nobreakspace\thechapter}#1}%
\else
\addcontentsline{app}{annexe}%
{\protect\numberline{Annexe\nobreakspace\thechapter}#1}%
\fi
\else
\addcontentsline{app}{annexe}{#1}%
\fi
\else
\addcontentsline{app}{annexe}{#1}%
\fi
\chaptermark{#1}%
\if@twocolumn
\@topnewpage[\@makeappendixhead{#2}]%
\else
\@makeappendixhead{#2}%
\@afterheading
\fi}
Как мы видим, это беспорядок, и это объясняет, почему \chapter*{}
решение могло не сработать так, как предполагалось. Здесь мы \addcontentsline{}
также можем увидеть команду. Ключ к проблеме — \@makeappendixhead{#2}}
используемая команда, здесь с желаемой \MakeUppercase{}
командой:
\def\@makeappendixhead#1{%
{\parindent \z@ \raggedright \normalfont
\centering
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\if@english
\normalsize\bfseries APPENDIX\space\thechapter
\else
\normalsize\bfseries ANNEXE\space\thechapter
\fi
%\par\nobreak
%\vskip 20\p@
\space\space\space\space
\fi
\fi
\interlinepenalty\@M
\normalsize \bfseries {\MakeUppercase{#1}}\par\nobreak
\vskip 40\p@
}}
И вуаля! :)
Обратите внимание, что я не совсем понимаю, как использовать makeuppercase в этом контексте (двойной вариант {{}}
кажется мне подозрительным), но после нескольких проб и ошибок это в конечном итоге сработало!