Ru-Board.club
← Вернуться в раздел «Программы»

» TeX, LaTeX и т.д.

Автор: Kostafey
Дата сообщения: 26.07.2008 20:35
Подскажите, пожалуйста как сделать автоматическую
нумерацию первого столбца таблицы.
Навроде:

№ Название
1. Камень
2. Ножницы
3. Бумага

Добавлено:
В некотором приближении решение описано на:
http://groups.google.com/group/latexusersgroup/browse_thread/thread/21e66d04bde01b8b

Соответственно:

\newcommand{\game}[1]{%
\refstepcounter{citycntr}%
\arabic{citycntr}.\
}

\begin{table}[htb]
\begin{tabular}{|c|c|} \hline
\game{камень} & камень \\ \hline
\game{ножницы} & ножницы \\ \hline
\game{бумага} & бумага \\ \hline
\end{tabular}
\end{table}

Но в этом случае \game нельзя будет
использовать в следующей таблице, т.к.
нумерация продолжится.

Существует ли способ обнулить нумерацию?

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

Добавлено:
Если нет способа лучше, то можно делать так:

\newcommand{\rowenumerate}[1]{%
\refstepcounter{#1}%
\arabic{#1}.\
}

\newcounter{mygame}
\begin{table}[htb]
\begin{tabular}{|c|c|} \hline
\rowenumerate{mygame} & камень \\ \hline
\rowenumerate{mygame} & ножницы \\ \hline
\rowenumerate{mygame} & бумага \\ \hline
\end{tabular}
\end{table}

\newcounter{matter}
\begin{table}[htb]
\begin{tabular}{|c|c|} \hline
\rowenumerate{matter} & стекляний \\ \hline
\rowenumerate{matter} & оловяний \\ \hline
\rowenumerate{matter} & деревяний \\ \hline
\end{tabular}
\end{table}
Автор: Gavk
Дата сообщения: 27.07.2008 04:50

Код: \newcounter{citycntr}[table]
\newcommand{\game}{%
\refstepcounter{citycntr}%
\arabic{citycntr}}
Автор: Cheery
Дата сообщения: 27.07.2008 05:22
Вопрос еще возник..
Как нить можно указать место предполагаемого переноса?
пример - есть caption к картинке.. там есть слово (название структуры и перенос невозможен)
так вот в list of figures это длинное слово вылазит за пределы области текста. Можно как то указать, чтобы latex перенес его по возможности на след. строку?
понятно, что можно и переписать, но не хочется.
ps: это перед словом не помогает..

Цитата:
The \- command tells LaTeX that it may hyphenate the word at that point. LaTeX is very good at hyphenating, and it will usually find all correct hyphenation points. The \- command is used for the exceptional cases.


в смысле переносит, но рисует и -, а мне перенос нужен только когда он необходим..
\linebreak в caption не работает


ps: решение нашел.. \sloppy
Автор: TeXpert
Дата сообщения: 27.07.2008 09:58
Cheery
Ещё такой вариант: загнать в \mbox, его внутренность "монолитна", но, конечно, твоё решение лучше
Автор: Kostafey
Дата сообщения: 27.07.2008 13:14

Цитата:

Gavk

\newcounter{citycntr}[table]
\newcommand{\game}{%
\refstepcounter{citycntr}%
\arabic{citycntr}}

Соответственно, где тебе надо сделать нумерацию, вставляешь \game.

Но в этом случае в новой таблице нумерация продолжается.
Нужно чтобы начиналась 1.

Добавлено:
или я что-то неправильно сделал?

\newcounter{rcounter}[table]
\newcommand{\game}{%
\refstepcounter{rcounter}%
\arabic{rcounter}}


\begin{table}[htb]
\begin{tabular}{|c|c|} \hline
\game & камень \\ \hline
\game & ножницы \\ \hline
\game & бумага \\ \hline
\end{tabular}
\end{table}

\begin{table}[htb]
\begin{tabular}{|c|c|} \hline
\game & стекляний \\ \hline
\game & оловяний \\ \hline
\game & деревяний \\ \hline
\end{tabular}
\end{table}
Автор: Griefin
Дата сообщения: 27.07.2008 16:52
Счетчик table будет работать, если у таблиц будут подписи, т.е. в окружении должен быть \caption{}. Если \caption не нужен, то проще сделать счетчик без подчинения table, и ставить \setcounter{rcounter}{0} перед каждой таблицей.


Цитата:
\game & стекляний \\ \hline
\game & оловяний \\ \hline
\game & деревяний \\ \hline

По русскому незачет. Должно быть "стеклянный, оловянный, деревянный".
Автор: Kostafey
Дата сообщения: 27.07.2008 17:29

Цитата:
Счетчик table будет работать, если у таблиц будут подписи, т.е. в окружении должен быть \caption{}. Если \caption не нужен, то проще сделать счетчик без подчинения table, и ставить \setcounter{rcounter}{0} перед каждой таблицей.


Точно! Спасибо!


Цитата:
По русскому незачет. Должно быть "стеклянный, оловянный, деревянный".


То шютка.
Бамбарбиа. Киргуду.
Автор: Cheery
Дата сообщения: 28.07.2008 04:05
Если кого интересует - довольно интересное решение позволяющее не начинать нумерацию ссылок со списка таблиц или картинок
\tableofcontents
\makeatletter
\@fileswfalse

\listoftables
\listoffigures
\@fileswtrue
\makeatother

отключает на время запись в файл.
Автор: KiRiK_de_Ch
Дата сообщения: 29.07.2008 02:16
Кто-нибудь знает как совместить \edef и команды изменения шрифта? Т.е., например, заставить работать такой код:


Код: \def\temp{}
\edef\temp{\temp 1{\bfseries 1}}
\temp
Автор: Griefin
Дата сообщения: 31.07.2008 16:57
\edef перед присвоением раскрывает все макросы, которые стоят в определении. Чтобы отложить раскрытие или не раскрывать какой-то определенный макрос, перед нужно указать \expandafter или \noexpand. А какую задачу вы пытаетесь таким образом решить? Мне не понятно, зачем вообще нужна такая комбинация команд.
Автор: KiRiK_de_Ch
Дата сообщения: 31.07.2008 21:12
Список строил. Все я уже разобрался. С тем же \edef, но при помощи \toks.
Автор: Cheery
Дата сообщения: 01.08.2008 00:26
Приведенное выше решение глючило с добавлением новых таблиц и картинок в список.. вот это работает как нельзя хорошо..

Цитата:
A simple solution to prevent numbering of the citations in the list of the tables or list of figures: while you are writing drafts of your document, put \listoffigures at the end of the tex file or just comment out that line. So, every time you use BibTeX to generate the bibliography (i.e. the bbl file), the references will be in the right order. Once you have finished to add or change references, run BibTeX for the last time. You get the definitive bbl file. Then you can move \listoffigures to its right place or uncomment it. All the subsequent compilations will yield the correct document.
Автор: KiRiK_de_Ch
Дата сообщения: 01.08.2008 09:52
Это не подойдет, т.к. мне нужно несколько однотипных списков.
Можно было аналогично этому способу для каждого списка создавать файл, но это привело бы к захламлению проекта, к тому же необходима была бы повторная компиляция.
Автор: thor0x00
Дата сообщения: 16.08.2008 19:44
мне нужно переопределить команду \section{аргумент}, чтобы она записывала свой аргумент в колонтитул и выводила "Текс аргумент еще текст".

Я пробовал переопределять через \@startsection, но меня смущало отсутствие этого аргумента в startsection. Путем недолгих извращений у меня получилась такая хрень:

\renewcommand{\section}[1]{\@startsection{section}{1}%
{2cm}{-3.5ex plus -1ex minus -.2ex}{0pt}%
{Текст #1 %
\markright{\underline{\hfil\small #1\ }}
}}

И это работает, правда с одним НО: если в документе после \section{что-нибудь} следует \par, то появляются ошибки. Приходится ставить после \section{} пробел. В общем, это не выход. Как переопределение сделать нормально, без извращений? Как получить в \@startsection этот аргумент из фигурных скобок \section{} ???
Автор: Difur
Дата сообщения: 16.08.2008 21:02
thor0x00. Колонтитулами удобно управлять через созданный еще в прошлом тысячелетии пакет fancyhdr. Он описан в большинстве учебников по Латеху.
Автор: thor0x00
Дата сообщения: 16.08.2008 22:37
Да, но я бы хотел одной командой \section{} и выводить название секции и ставить колонтитул.
Проблему я уже решил другим способом)) Переопределил \section без использования \@startsection, делая отступы \vspace и \hspace. Вот что получилось:

\renewcommand{\section}[1]{\newpage\begin{center}\Large{\bf Лекция\ \arabic{section}.}\\#1\end{center}\vspace{0cm}\markboth{\underline{\hfil \small Дифференциальные уравнения. Лекция \arabic{section}}}{\underline{\hfil\small #1\ }}\addtocounter{section}{1}}
Автор: Difur
Дата сообщения: 17.08.2008 00:03
thor0x00.
Цитата:
Да, но я бы хотел одной командой \section{} и выводить название секции и ставить колонтитул.
Пакет fancyhdr решает данную задачу стандартно и корректно. В Вашем варианте ждите кучу побочных эффектов. Правка основного класса доведет Вас до цугундера.


Автор: Sergey_Vergeles
Дата сообщения: 19.08.2008 21:47
Здравствуйте. Помогите, пожалуйста, разобраться.
Я пытаюсь использовать шрифты pscyr, но вместо букв в dvi-файле у меня возникают черные прямоугольники, соответствуюшие боксам букв.

Подозреваю, что дело может быть в неправильной установке пакетов
PSCyr-0.4c-patch2-tex.tar.gz
PSCyr-0.4c-patch2-type1.tar.gz

У меня OpenSuse10.3
После копирования этих пакетов в /etc/texmf я выполнил в каталоге /usr/share/texmf/bin/noarch команды
updmap
texhash
Эти действия приблизительно соответствуют инструкции http://tex.imm.uran.ru/texserver/fonts/pscyr/pscyr4c/pscyr4c.html
Автор: AY51
Дата сообщения: 27.08.2008 23:15
Тут такой вопрос к знатокам ЛаТеХа назрел. Есть "самопальная" программка для кое-какого инженерного расчета, которая выдает отчет ввиде тех-файла, который в свою очередь, после компиляции превращается в pdf.

Так вот, если возникает необходимость использовать программку на компьютере отличном от компьютера ее автора, то мы встаем перед вопросом как быть с ЛаТеХом. Понятно, что инсталлировать всю "махину" МикТеХа не выход, вместе с тем есть мнение, что это хозяйство можно существенно урезать в объеме и настроить на запуск без установки.

Собственно в этом и заключается вопрос: насколько реальна такая возможность, как это осуществить и насколько объемным может быть конечный результат?

Ну и наконец, можно ли будет все это установить на веб-сервер?

Используемые пакеты, если это имеет значение:

Код: \usepackage{mathtext}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
Автор: TeXpert
Дата сообщения: 28.08.2008 21:04
AY51
Конечно, можно. Если совсем малый объём интересует, ставь малый MiKTeX (можно ещё меньше, если возьмёшь emTeX, но кое-что там придётся обновить руками). Тебе не понадобятся в этом случае драйвера вывода на экран/печать, но экономия копеечная. Но моё мнение -- на шрифтах лучше не экономить. Ставить можно без инсталляции. Интерфейс взаимодействия Web-сервер <--> LaTeX продумай сам, ничего хитрого не вижу
Автор: AY51
Дата сообщения: 28.08.2008 22:33
TeXpert
Здесь надо отметить, что я весьма поверхностно знаком с ЛаТеХом -- на уровне оформления отчета на несколько страниц, но не на таком, что бы копаться в кишочках.

Поэтому я попрошу извинить меня за навязчивость, т.к. стану просить более детальное объяснение :)

Начну, наверное, с МикТеХа т.к. с ним уже имел дело. Таким образом: я скачиваю малый МиКТеХ и инсталлирую его (тут маленький вопрос: если у меня уже стоит более ранняя версия установится ли 2.7 независимо от старой?). Далее, видимо, необходимо будет сделать пробную компиляцию будущего отчета, что бы ЛаТеХ докачал недостающие пакеты, если такие имеются. После чего по моим соображениям приходит время заставить этот малый МиКТеХ работать автономно т.е. обеспечить возможность его переноса на другой компьютер или на диск или флешку.

И тут мои познания заканчиваются. Т.е. я конечно читал где-то что МиКТеХ может работать без инсталляции, и сам этот факт следует из того, что его распространяют в том числе и на CD/DVD, но разумеется моих навыков для этого мягко говоря не достаточно.

Поэтому прошу инструкиций...
Автор: TeXpert
Дата сообщения: 29.08.2008 06:43
AY51
Сейчас тороплюсь, отвечу, даст Бог, через пару дней, пока предлагаю прошерстить Internet, а может кто и ответит раньше меня
Автор: Griefin
Дата сообщения: 29.08.2008 22:00
AY51
Кроме MiKTeX есть еще один дистрибутив, который идет прямо с DVD -- TeXLive.
Автор: AY51
Дата сообщения: 30.08.2008 18:47
Насчет TeXLive -- это идея. Там ведь в отличии от МиКТеха можно образ скачать. Только подскажите которой из этих качать надо?
Код: [ ] texlive-live.iso.zip 15-Feb-2007 00:35 935M
[ ] texlive2007-live-20070212.iso.zip 15-Feb-2007 00:35 935M
[ ] texlive2007-live-20070212.iso.zip.md5 15-Feb-2007 00:42 1k
[ ] texlive2007-live-20070212.iso.zip.sha256 19-Feb-2007 23:04 1k
Автор: Griefin
Дата сообщения: 30.08.2008 20:29
AY51
Скачивать, разумеется, нужно texlive2007-live-20070212.iso.zip. Урезать его будет достаточно сложно, т.к. придется не только удалять лишние файлы, но и пересобирать базу имен файлов, редактировать конфиги, пересоздавать образ диска. Непонятно другое, зачем вообще урезать дистрибутив до 20-30 Мб? Во-первых, это очень мало, а во-вторых он же все равно будет записан на какой-то диск, который нужно будет носить с собой. Если требуется компактность, то действительно проще скачать базовый инсталлятор MiKTeX и собрать на его основе свой вариант. Чтобы проверить то, как MiKTeX будет работать со съемного носителя, можно использовать команду
subst z: c:\miktex-portable

Еще нужно будет написать bat-файл, который добавит к переменной среды PATH необходимый каталог.
Автор: AY51
Дата сообщения: 31.08.2008 00:19

Цитата:
Непонятно другое, зачем вообще урезать дистрибутив до 20-30 Мб?

Об этом я писал чуть выше, хочу использовать ЛаТеХ для компиляции в pdf отчета небольшой программки осуществляющий кое-какой инженерный расчет. Хотелось бы иметь по возможности компактное транспортабельное решение. При том что никаких тонкостей от ЛаТеХа не требуется, очень простенький отчетик на несколько страниц формул.


Цитата:
Чтобы проверить то, как MiKTeX будет работать со съемного носителя, можно использовать команду
subst z: c:\miktex-portable

А с этого места поподробней пожалуйста, что именно должна сделать или показать эта команда?
Автор: Griefin
Дата сообщения: 31.08.2008 14:01
Команда subst, появившаяся еще в DOS, создает виртуальный диск из каталога на другом диске. В данном примере -- это диск z:, содержимым которого будет являться каталог c:\miktex-portable. Очень удобно для изготовления и тестирования портабельных версий программ. Для изготовления качественных pdf понадобятся шрифты cm-super, которые даже в запакованном виде занимают более 60 МБ. Ради экономии места лучше воспользоваться их урезанной версией cmsm, которую сделал А. Шипунов: http://herba.msu.ru/shipunov/software/tex/tex-ru.htm
Автор: tautau
Дата сообщения: 02.09.2008 18:17
Вопрос по BibTeX и содержания книги после компиляции pdflatex.
Как добавить библиографию в спискок содержания книги?
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{unsrt}
\bibliography{myrefs}
Приводит к тому что сылка Bibliography ведет на одну страницу до библиографии.

Если же вписывать \addcontentsline{toc}{chapter}{Bibliography} внутри *.bbl файла то ссылка ведет на библиографию на при этом чуть ниже начала страницы(не очень красиво выглядит).

Вот тут это уже обсуждалось но у меня не работают решения или же они не устраивают(не достигается то что требуется).
http://www.dfki.de/~loeckelt/latexbib.html


АПД:

Нашел вот здесь решение проблемы:
http://www.texnik.de/cgi-bin/mainFAQ.cgi?file=bibtex/bibtex

\renewenvironment{thebibliography}[1]
{\chapter{\bibname% for article class: {\section{\refname%
% \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}
}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}

Действительно работает великолепно, но создает уже другую проблему. Над "Библиографией" появилась еще одна строчка "Глава 4", это режет глаза.
Автор: Griefin
Дата сообщения: 02.09.2008 23:26
Не надо переопределять все окружение thebibilography, достаточно только \bibsection. Я решаю эту проблему таким способом (подходит для любых классов):

\def\metaphantom#1{%
\ifDis@href
\Hy@GlobalStepCount\Hy@linkcounter
\xdef\@currentHref{#1*.\the\Hy@linkcounter}%
\Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
\fi
}

\newcommand\nchapter[1]{%
\chapter*{%
\metaphantom{chapter}\addcontentsline{toc}{chapter}{#1}%
#1%
\@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}
}
}

\renewcommand\bibsection{\nchapter{\bibname}}

Поскольку в \metaphantom используются команды из hyperref, то он должен быть подключен. При этом в toc создается соответствующая запись, а гиперссылки и закладки в PDF указывают точно на заголовок. Если интересует, то по аналогии с \nchapter можно определить \nsection, \nsubsection и т.д.
Автор: rpisarev
Дата сообщения: 07.09.2008 21:36
Доброе время суток!

Подскажите как заставить latex выдать выдать текст с подставленными (в том числе и влоденными) макрасами.
То, что я пишу, трудно назвать техом:

\Th{1}

у меня значит наприпер то же что

\begin{theorem}

1

\end{theorem}

Так вот - мне надо получить файл формата *.tex, но такой, чтобы в нем не было моих определений

8)

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Форматы|кодеки|снятие и обработка звука|lossless&lossy|codec


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.