Tex: подробное описание С. М. Львовский
Download 1.51 Mb. Pdf ko'rish
|
LaTeX-Lvovsky
7.2. Сноски
Стиль оформления сносок зависит от многих вещей. Начнем с пробела между страницей и сносками. Чтобы его изменить, надо применить команду \setlength с необычным пер вым аргументом. Вот, например, как выглядит команда, устанавливающая стандартную для L A TEXа величину этого пробела: \setlength{\skip\footins}{12pt plus 4pt minus 4pt} То, что пробел сделан растяжимым (см. раздел VIII.3.3 ), — это понятно, а почему в первом аргументе целых две команды и что они значат, объяснить в рамках этой книги невозможно. Так что воспринимайте этот рецепт для установки пробела между текстом и сносками чи сто догматически (кому не лень, может попытаться узнать всю правду из пятнадцатой главы книги [ 2 ]). Далее, сноски обычно отделяются от текста не только пробелом, но и линейкой. Чтобы за дать вид этой линейки, отличный от стандартного, либо задать какой-то другой разделитель, надо переопределить команду \footnoterule, которая в стандарте определена так: \newcommand{\footnoterule}{\vspace*{-3pt} \hrule width .4\columnwidth \vspace*{2.6pt}} К этому макроопределению необходим комментарий: непонятно, зачем нужны команды \vspace. Дело в том, что «текст», генерируемый командой \footnoterule, не должен, с точки зрения TEXа, занимать места по вертикали (фактически он располагается внутри пробела между текстом и сносками, о котором шла речь выше). Поэтому мы сначала отступаем на 3 пунк та вверх, затем печатаем линейку (вспомним, что по умолчанию линейка, генерируемая ко мандой \hrule, имеет ширину 0,4 пункта), и затем спускаемся на 2,6 пункта вниз. В итоге получается, что и линейка напечаталась, и места по вертикали мы не занимаем, посколь ку −3 + 0,4 + 2,6 = 0. Если Вы хотите изменить ширину или толщину линейки, коман ду \footnoterule можно переопределить; только не забудьте проследить, чтобы толщина линейки была скомпенсирована отрицательным \vspace’ом! Можно, собственно говоря, сделать так, чтобы этой линейки вообще не было, сказав \renewcommand{\footnoterule}{} (уж в этом-то случае можно не сомневаться, что места по вертикали мы не займем!). Если Вам вдруг понадобится задать совсем иной разделитель между сносками и текстом, можете переопределить команду \footnoterule и принципиально по-иному. В этом случае необхо димо знать следующее: • Команда \footnoterule будет вызываться в те моменты, когда TEX находится в верти кальном режиме. IX.7. РАЗНОЕ 206 • По окончании работы команды \footnoterule TEX должен снова оказаться в верти кальном режиме. • Текст, генерируемый командой \footnoterule, не должен, с точки зрения TEXа, зани мать места по вертикали. Следующий параметр, от которого зависит оформление сносок, — это параметр со зна чением длины \footnotesep. Он означает следующее. В начале каждой сноски, для того, чтобы линейка, отделяющая сноски от текста, не подходила к тексту слишком близко, вста вляется невидимая линейка нулевой ширины наподобие \strut’а (см. раздел 9.3 главы III). Так вот, \footnotesep задает высоту этой линейки. За вид номеров сносок в тексте отвечает команда \@makefnmark. По умолчанию она опре делена следующим образом: \newcommand{\@makefnmark}{\hbox{\mathsurround=0pt $^{\@thefnmark}$}} Здесь на место команды \@thefnmark при выполнении будет подставлен номер сноски (или то, что его заменяет, если мы пользовались командой \footnotemark). Обратите внимание, что номер сноски оформлен как верхний индекс в математической формуле — именно за счет этого номера сносок печатаются над строкой. По этой же причине внутри группы, явля ющей собой аргумент команды \hbox, устанавливается в нуль параметр \mathsurround — иначе, если Вы установили для него ненулевое значение, номер сноски будет окружен лиш ними пробелами (если Вы пропустили раздел про \mathsurround, можете проигнорировать это место). И, наконец, самое главное — команда, генерирующая собственно текст сноски. Она на зывается \@makefntext. Вот ее стандартное определение, в котором аргумент #1 обозначает текст сноски, а на команда \@thefnmark означает то же, что и выше: \newcommand{\@makefntext}[1]{\parindent=1em\noindent \hbox to 1.8em{\hss$^{\@thefnmark}$}#1} При переопределении этой команды следует иметь в виду, что она будет выполняться внутри аргумента команды \parbox с длиной строки, равной ширине колонки текста; в приведенном выше определении применена команда \noindent, чтобы подавить абзацный отступ в первом абзаце сноски, в котором будет печататься ее номер. Если Вы захотите переопределить \@makefntext таким образом, чтобы изменилось оформ ление номера сноски, например, чтоб он печатался так, 10 ) то не забудьте изменить оформле ние номера сносок и в самом тексте, переопределив согласованным образом команду \@makefnmark. Download 1.51 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling