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

» TeX, LaTeX и т.д.

Автор: TeXpert
Дата сообщения: 24.06.2007 13:14
Varravann
Цитата:
Может, есть какая-то команда, принуждающая ТеХ сначала раскрыть \refname, а только потом применять \uppercase?
Цитирую себя самого
Цитата:
Вообще читай The TeXbook
хотя ты меня обвиняешь в неконструктивности
Цитата:
Твоя конструктивность, как всегда, просто зашкаливает...
Неужели так и не заглянул в главную библию по теме? Там найдёшь, в частности, команду \expandafter
All
По-моему, всё же проще и быстрее вручную ставить пакеты, а не быть заложниками форматов. То есть, поставил минимальный набор, остальное докрутил, причём, поскольку большинство нужных пакетов уже не изменяется давно, их зафиксировать -- заново качать и устанавливать их нет никакой необходимости. Просто указал пути. Экономится и время, и силы -- ведь лишь в этом топике уже было столько жалоб при переходе на новые версии. TDS ведь никто не отменял, и эта вещь реально облегчает жизнь.
Автор: Varravann
Дата сообщения: 24.06.2007 17:27
TeXpert

Цитата:
Цитирую себя самого
Вообще читай The TeXbook
Неужели так и не заглянул в главную библию по теме?

А я тоже еще раз процитирую себя: книга большая и читать ее ВСЮ, заранее не зная, где приблизительно находится ответ - это тяжко и бессмысленно. Поэтому-то твои абстрактные ответы "в Кнуте/Львовском/описании пакета/etc это есть" не имеют практической пользы.


Цитата:
Там найдёшь, в частности, команду \expandafter

А вот это уже наполовину конструктивный ответ. Я хоть знаю, что искать и могу посмотреть в указателе, какой раздел мне надо вкурить.
Автор: TeXpert
Дата сообщения: 24.06.2007 18:24
Varravann
Цитата:
А я тоже еще раз процитирую себя: книга большая и читать ее ВСЮ, заранее не зная, где приблизительно находится ответ - это тяжко и бессмысленно.
Ёлы-палы, ты математик, или нет? Или, умение рассуждать тебе чуждо? Искать как попало будет человек, я не знаю, с каким мышлением, и, естественно, такой будет искать долго. По-моему, умение находить нужную информацию за краткое время -- это уже часть профессии. Без обид, а то обидно даже, берёшься за такое дело, а тебе всё разжуй. И разве я тебе сказал читать книгу ВСЮ (хотя она достойна этого)? Ты меня вынуждаешь ещё раз цитировать самого себя
Цитата:
Неужели так и не заглянул в главную библию по теме?
Вчитывайся в то, что тебе пишут, ведь всё-таки пытаемся помочь тебе.
Цитата:
Поэтому-то твои абстрактные ответы "в Кнуте/Львовском/описании пакета/etc это есть" не имеют практической пользы.
Мда, сказал, как отрубил). Для профи одного намёка хватает. Яннис Хараламбус как-то выразился в том духе, что каждый TeX'ник -- уже немного хакер. Вон RuBorTex не поленился ведь воспользоваться (более того, он сам туда полез и нашёл нужное) моим "абстрактным" советом
Цитата:
Совершенно верно. Только что сунулся к Кнуту и пришёл к тому же выводу.
Просто, я придерживаюсь древней китайской, кажется, пословицы -- "Голодающему дай не рыбу, а совет, как поймать эту рыбу". Так больше пользы, да и, признаюсь честно, мне очень бывает в лом проделывать то, что мне кажется элементарным, и, главное, то что проделать сможет просящий сам. Спасибо за понимание.
Автор: RuBorTex
Дата сообщения: 25.06.2007 02:40
Varravann
Мой ответ тоже будет не слишком конструктивным, поскольку TeX я знаю плохо, а вопрос с \uppercase меня заинтересовал скорее в исследовательском плане.

Как пишет Кнут, \uppercase и не должна раскрывать макроопределения в своём аргументе, она только делает преобразование для букв. Для обхода этого сконструирована макрокоманда \MakeUppercase, которая обращается к той же \uppercase, но после раскрытия всех макросов в аргументе. Проблема заключается в том, что после раскрытия всех макросов русские буквы уже не являются буквами (как я понимаю, это один из минусов русификации с помощью Babel) и \uppercase снова на них не действует.

Как остановить раскрытие макрокоманды \refname на первом уровне я пока не знаю.

Единственное что могу посоветовать - посмотреть лог-файл компиляции такого кода


Код:
\tracingmacros=1
\def\myname{Дональд Кнут}
\def\next#1\endname{\uppercase{\def\MYNAME{#1}}}
\expandafter\next\myname\endname

\MYNAME

\edef\next{\def\noexpand\MYNAME{\myname}}
\uppercase\expandafter{\next}

\MYNAME
\tracingmacros=0
Автор: Difur
Дата сообщения: 25.06.2007 07:51
Для того, чтобы MikTeX обновлялся файлами с расширением LZMA, надо во время первого обновления такими файлами снять галочки у всех файлов, кроме того, имя которого начинается с miktex-bin. Установить только этот файл, а затем как обычно устанавливать все остальное.
Автор: vova84
Дата сообщения: 25.06.2007 08:32
Difur

Цитата:
Для того, чтобы MikTeX обновлялся файлами с расширением LZMA, надо во время первого обновления такими файлами снять галочки у всех файлов, кроме того, имя которого начинается с miktex-bin. Установить только этот файл, а затем как обычно устанавливать все остальное

У меня он и так обновился, только потребовался нет инстайлер версии 2.6.2718
Автор: Difur
Дата сообщения: 25.06.2007 08:51
vova84
У меня МикТеХ-2.5, который проблем типа

Цитата:
У меня он и так обновился, только потребовался нет инстайлер версии 2.6.2718

не создал.

Если хочется автономно открывать lzma-файлы, то можно воспользоваться набором http://dfn.dl.sourceforge.net/sourceforge/sevenzip/lzma443.tar.bz2
Там среди прочего находится lzma.exe для Windows.
Автор: RuBorTex
Дата сообщения: 25.06.2007 13:07
Difur
vova84
Вообще-то MiKTeX-овский Update Wizard сам при необходимости расставляет галочки для апдейта в два этапа (сначала бинарники, потом новые пакеты). Ни на 2.5, ни на 2.6 проблем не возникло - пакеты в формате lzma подцепились автоматом и совершенно прозрачно для пользователя (как в своё время произошёл переход с cab на tar.bz2).
Автор: vova84
Дата сообщения: 25.06.2007 13:32
RuBorTex

Цитата:
пакеты в формате lzma подцепились автоматом и совершенно прозрачно для пользователя (как в своё время произошёл переход с cab на tar.bz2).

Я и имел это в виду, а насчет этого
Цитата:
только потребовался нет инстайлер версии 2.6.2718
просто предыдущая версия2.6.2693 не хотела скачивать обновления с фтпешников, а следовательно и обновлять.
Автор: Difur
Дата сообщения: 26.06.2007 08:25
Предпочитаю обновлять МикТеХ в два этапа. Сначала скачиваю со CTANа новые поступления при помощи ftp-менеджера, а затем уже со своего компьютера провожу непосредственное обновление. Это дает возможность легко устанавливать систему на новой машине или переустанавливать на старой. И, как правило, на втором этапе птички обновлялка ставит правильно. Но в случае с появлением lzma-файлов почему-то в этом отношении призошел (у меня и, как видно, не у меня одного) сбой. Этим объясняется моя рекомендация по снятию некоторых птичек-галочек.
Автор: TeXpert
Дата сообщения: 26.06.2007 09:36
Difur
Цитата:
Сначала скачиваю со CTANа новые поступления...
А интересно, как часты эти обновления? И все ли они такие нужные? Я никогда так не делаю, поэтому и интересуюсь. Или, вы следите только за изменениями базовых пакетов? Или только бинарников?
Автор: vova84
Дата сообщения: 26.06.2007 10:08
TeXpert

Цитата:
А интересно, как часты эти обновления?

Иногда дней 20 проходит, а иногда - каждый день ляпают. А так в среднем - раз в нелделю. Базовые пакеты редко, но обновляют. Особенно пополняются новые версии (например 2.6). Их размер увеличивается на десятки метров )))
Автор: TeXpert
Дата сообщения: 26.06.2007 14:34
vova84
Цитата:
Иногда дней 20 проходит, а иногда - каждый день ляпают
Кошмар какой-то. А ведь, повторюсь, TeX законсервирован с сконца 80-х, ну, некоторые вещи в LaTeX модифицируются. А так, всё остальное, на мой взгляд -- от лукавого. Дурное влияние современной софтверной индустрии -- видимо, уже просто пользователь не находит себе места, если за неделю чего-то не обновит. Развратил Microsoft и иже с ними сознание с серви-паками.

P. S. Как уже выше писал -- у меня давно, раз и навсегда закатанный на CD (а теперь и на DVD) MiKTeX 2.3, и проблем не вижу, если что нужно мигом можно дополнить. Ведь большинство пакеотв/шрифтов давно стабильны, а вручную всегда знаешь, что делаешь.
Автор: RuBorTex
Дата сообщения: 26.06.2007 18:19
Я тоже держу неполную локальную копию репозитария (в основном с целью новых установок и компиляции чужих текстов, когда могут потребоваться самые неожиданные пакеты) и апдейт делаю с неё. Хотя, как я понимаю, механизм апдейта с интернетовского зеркала практически такой же, как с локального.

Вручную да, знаешь что делаешь. Но, к счастью, инсталляция пакетов TeX довольно прозрачна и в автоматическом режиме, при желании можно посмотреть что и где изменилось... Так что лишний ручной труд ни к чему.

Что касается консерватизма и обновлений. К сожалению, не всё так радужно. Да, TeX законсервирован, как система. Но его реализации на конкретных аппаратных платформах под конкретными ОС вынуждены идти вперёд. Что работало под старой версией ОС в новой может начать глючить. И слава богу, что сам TeX не меняется, а то проблем было бы куда больше.

Другая проблема - проблема языков и национальных полиграфических стандартов. К сожалению, и они более-менее прояснились лишь в последние годы, но окончательно не решены. Т.е. опять же пакеты, требующие обновления. UNICODE шагает по планете - тоже проблемы.

PDF не стоит на месте и развивается. Вынужденно развиваются и соответствующие пакеты (в частности hyperref и oberdiek из тех, что обновились совсем недавно)...

Такие вот дела.



Автор: TeXpert
Дата сообщения: 27.06.2007 18:47
RuBorTex
Цитата:
Что работало под старой версией ОС в новой может начать глючить
Примеры можно? Интересно всё же.
Цитата:
...в частности hyperref
Ну, с отдельными важными пакетами проще и полезнее вручную справляться).
Автор: RuBorTex
Дата сообщения: 28.06.2007 03:34
TeXpert

Цитата:
RuBorTex

Цитата: Что работало под старой версией ОС в новой может начать глючить

Примеры можно? Интересно всё же.
Автор: TeXpert
Дата сообщения: 28.06.2007 10:20
RuBorTex
Цитата:
Например вспомним, с чего начиналась эта тема...
Так это не ошибки программы, и не совместимость, а следствие элементарного неуважения к процессу чтения документации. Всё прекрасно настраивается и работает.
Цитата:
Или вот это (http://miktex.org/2.5/Issues.aspx):
А не проще в режиме совместимости? Ведь установка не требуется! Просто пара действии после копирования каталогов.
Цитата:
Или вот один товарищ из Караганды писал
Этот товарищ, конечно, я). Я нынче вообще не пользуюсь инсталляторами -- просто копирую дерева texmf и MYLOCALTEXMF на жёсткий диск (если на чужой машине, то прямо с CD/DVD запускаю), создаю каталог localtexmf на жёстком диске, запускаю reg-файл настройки (это можно и через mo сделать), и всё, больше ничего не надо.
Автор: RuBorTex
Дата сообщения: 28.06.2007 13:31
TeXpert

Цитата:
Так это не ошибки программы, и не совместимость, а следствие элементарного неуважения к процессу чтения документации. Всё прекрасно настраивается и работает.

Оно конечно. Но в ответ почему-то хором предложили перейти на MiKTeX...
Автор: xvadima
Дата сообщения: 29.06.2007 01:13
Привет всем.
Что-то не могу сменить слово "Табл" на "Таблиця" (по-украински) в заголовке таблицы. Изменил стиль заголовка таблицы так, чтоб слово "Табл" с номером прижималось к правому краю, а сам заголовок - по центру следующим образом:

\makeatletter
\newcommand{\@maketabcaption}[2]{%
\hfill\textbf{#1}.\\%
\hbox to \hsize {\hfill \textbf{#2} \hfill}%
}
\renewcommand{\table}{
\let\@makecaption\@maketabcaption\@float{table}
}
\makeatother

Этот фрагмент записан в моем файле xbabook.sty. В преамбуле документа делаю так:
\documentclass[12pt, a4paper]{book}
\usepackage{xbabook}
... подключение других пакетов
\renewcommand*{\tablename}{Таблиця}

Работаю с teTex 3.0 в Fedora 7.
\begin{document}
Но все равно в заголовке таблицы пишется "Табл". Что я еще не сделал?
Автор: TeXpert
Дата сообщения: 29.06.2007 20:24
xvadima
Удостоверься, что имя таблицы для данного класса документов определяется именно
Цитата:
\tablename
А бабель есть?
Автор: xvadima
Дата сообщения: 30.06.2007 21:58

Цитата:
Удостоверься, что имя таблицы для данного класса документов определяется именно

А как? Просмотреть файл класса? Тем более ведь использую стандартный класс. Везде пишется, что надо \tablename переопределять.


Цитата:
А бабель есть?

Да:
\usepackage[english,ukrainian]{babel}
Я его всегда включаю.
Автор: TeXpert
Дата сообщения: 30.06.2007 22:15
xvadima
Цитата:
А как? Просмотреть файл класса?
В книгах, хотя бы.
Цитата:
Тем более ведь использую стандартный класс
В стандартных классах, например, для названия списка литературы используются и \refname, и \bibname. Просто в разных классах. Зачем такой разнобой, мне непонятно.
Автор: RuBorTex
Дата сообщения: 01.07.2007 03:00
xvadima
Попробуйте \renewcommand*{\tablename}{Таблиця} указать не в преамбуле, а в теле документа после \begin{document}.

Если не поможет, то можно попробовать окружить команду \caption{} для какой-нибудь таблицы командами \tracingmacros=1 и \tracingmacros=0, а потом в лог-файле поискать

\CYRT \cyra \cyrb \cyrl . или Табл.

и таким образом выяснить, откуда всплывает такое значение.

У меня с русским бабелем в логе появляются следующие строчки:

\fnum@table ->\tablename ~\thetable
\tablename ->{\cyr \CYRT \cyra \cyrb \cyrl \cyri \cyrc \cyra }
Автор: xvadima
Дата сообщения: 03.07.2007 18:53

Цитата:
Попробуйте \renewcommand*{\tablename}{Таблиця} указать не в преамбуле, а в теле документа после \begin{document}.  

Заработало. Спасибо.
Только не понятно, почему эта команда не срабатывала, когда была в преамбуле.
Автор: TeXpert
Дата сообщения: 03.07.2007 19:48
xvadima А можешь свой файл прямо здесь выложить, с полной шапкой и одной таблицей? Там и поглядим, почему.
Автор: missile
Дата сообщения: 04.07.2007 09:02
Ничего выкладывать не надо. Все просто. Есть такая команда:
\AtBeginDocument{%
%\mathcode`\+="8000
%\mathcode`\-="8000
%\mathcode`\=="8000
%\mathcode`\<="8000
%\mathcode`\>="8000
}

которая запускается при вызове команды \begin{document}

в таком окружении и определены переименования заголовков, таблиц, рисунков и т.д. поэтому, чтобы вы ни делали в классе, все определения будут перегружены как только произойдет вызов команды \begin{document}

именно поэтому определения, осуществленные в тексте, прокатывают.
Автор: RuBorTex
Дата сообщения: 04.07.2007 13:34
угу
У меня, например, в тестовом файле при вызове \renewcommand {\tablename} в преамбуле вообще выдаёт ошибку, что \tablename не определена.
Автор: xvadima
Дата сообщения: 04.07.2007 17:09

Цитата:
именно поэтому определения, осуществленные в тексте, прокатывают.

Теперь буду знать.
Автор: Varravann
Дата сообщения: 05.07.2007 13:21
И снова у меня несколько вопросов:

1) Проблема с странными отступами после выключенных формул с наворотами.

Я набираю сложные системы уравнений так:

Код: {\allowdisplaybreak
\begin{align}
blah&=blah
blah&=blah
\end{align}}
Автор: estimated
Дата сообщения: 05.07.2007 15:05
Varravann

Цитата:
\allowdisplaybreak

Может там где-то пробел затесался или нетерминированная строка
(помните, недавно здесь кто-то нашел такую ошибку в украинском бабеле - ukraineb.ldf ? Кстати, может, кто-нибудь добавит в шапку информацию об этой ошибке и кто нашел.)

Т.е. попробовать поставить % после \allowdisplaybreak, а если не помогает - то проверить, вставляет ли пробел пустая {\allowdisplaybreak} и тогда искать внутри нее.


Цитата:
2) Проблема с склейкой строк.

может, minipage подойдет?
( вот даже ru-board отображает код и цитаты в "minipage" )

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

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


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