LaTeX — различия между версиями

Материал из K.Wiki
Перейти к: навигация, поиск
(Bamer)
 
(не показано 8 промежуточных версии этого же участника)
Строка 7: Строка 7:
 
<li>
 
<li>
 
Скачать и распаковать файлы шрифта:
 
Скачать и распаковать файлы шрифта:
<pre>$ wget http://tex.imm.uran.ru/texserver/fonts/pscyr/PSCyr-0.4c-patch2-tex.tar.gz
+
<pre>mkdir pscyr
$ tar -xvzf PSCyr-0.4c-patch2-tex.tar.gz
+
cd ./pscyr
$ wget http://tex.imm.uran.ru/texserver/fonts/pscyr/PSCyr-0.4c-patch2-type1.tar.gz
+
wget http://tex.imm.uran.ru/texserver/fonts/pscyr/PSCyr-0.4c-patch2-tex.tar.gz
$ tar -xvzf PSCyr-0.4c-patch2-type1.tar.gz</pre>
+
tar -xvzf ./PSCyr-0.4c-patch2-tex.tar.gz
 +
wget http://tex.imm.uran.ru/texserver/fonts/pscyr/PSCyr-0.4c-patch2-type1.tar.gz
 +
tar -xvzf ./PSCyr-0.4c-patch2-type1.tar.gz</pre>
 
Скачанные файлы можно удалить:
 
Скачанные файлы можно удалить:
<pre>$ rm PSCyr-0.4c-patch2-tex.tar.gz
+
<pre>rm ./PSCyr-0.4c-patch2-tex.tar.gz
$ rm PSCyr-0.4c-patch2-type1.tar.gz</pre>
+
rm ./PSCyr-0.4c-patch2-type1.tar.gz</pre>
 
</li>
 
</li>
 
<li>
 
<li>
 
Скопировать нужные описания шрифта:
 
Скопировать нужные описания шрифта:
<pre>$ mkdir ./fonts/map
+
<pre>mkdir ./fonts/map
$ cp ./dvips/config/*.map ./fonts/map/
+
cp ./dvips/config/*.map ./fonts/map/
$ echo "fadr6t  AdvertisementPSCyr \"T2AEncoding ReEncodeFont\" <t2a.enc <adver4.pfb" >> ./fonts/map/pscyr.map
+
echo "fadr6t  AdvertisementPSCyr \"T2AEncoding ReEncodeFont\" <t2a.enc <adver4.pfb" >> ./fonts/map/pscyr.map
$ mkdir ./fonts/enc
+
mkdir ./fonts/enc
$ cp ./dvips/base/*.enc ./fonts/enc/</pre>
+
cp ./dvips/base/*.enc ./fonts/enc/</pre>
 
</li>
 
</li>
 
<li>
 
<li>
 
Узнать путь к локальному дереву texmf:
 
Узнать путь к локальному дереву texmf:
<pre>$ kpsewhich -expand-var='$TEXMFLOCAL'</pre>
+
<pre>kpsewhich -expand-var='$TEXMFLOCAL'</pre>
 
</li>
 
</li>
 
<li>
 
<li>
 
Скопировать файлы пакета в локальное дерево texmf:
 
Скопировать файлы пакета в локальное дерево texmf:
<pre>$ sudo cp -R ./* {путь к локальному дереву texmf}</pre>
+
<pre>sudo cp -R ./* {путь к локальному дереву texmf}</pre>
 
</li>
 
</li>
 
<li>
 
<li>
 
Обновить настройки:
 
Обновить настройки:
<pre>$ sudo texhash
+
<pre>sudo texhash
$ updmap --enable Map=pscyr.map
+
updmap --enable Map=pscyr.map
$ sudo mktexlsr</pre>
+
sudo mktexlsr</pre>
 
</li>
 
</li>
 
</ol>
 
</ol>
Строка 42: Строка 44:
 
* [http://welinux.ru/post/3200/ LaTeX — Установка pscyr в TeXlive]
 
* [http://welinux.ru/post/3200/ LaTeX — Установка pscyr в TeXlive]
  
== Верстка ==
+
== Вёрстка ==
 
=== Как заставить макрос не поглощать пробел после себя? ===
 
=== Как заставить макрос не поглощать пробел после себя? ===
 
Есть два варианта:
 
Есть два варианта:
 
* при создании макроса в конец описания добавить команду <code>\xspace</code> (требуется пакет <code>xspace</code>);
 
* при создании макроса в конец описания добавить команду <code>\xspace</code> (требуется пакет <code>xspace</code>);
 
* при вставке макроса в текст после него добавить <code>{}</code> или <code>\ </code>.
 
* при вставке макроса в текст после него добавить <code>{}</code> или <code>\ </code>.
 +
 +
=== Как заставить макрос поглотить все пробелы после себя? ===
 +
Вставить в конец макроса команду <code>\ignorespaces</code>.
 +
 +
=== Как избежать принудительного изменения размера шрифтов? ===
 +
Подключить пакет <code>anyfontsize</code>.
 +
 +
== Магия ==
 +
=== Как получить ширину фрагмента текста ===
 +
Командой <code>\widthof{текст}</code>, если подключить пакет <code>calc</code>.
 +
 +
=== Как создать новый стиль страниц? ===
 +
<code>\def\ps@<имя стиля>{<команды стиля>}</code>
 +
 +
=== Как проверить, что аргумент команды пуст? ===
 +
\ifx&#1&% если аргумент пуст
 +
    ...
 +
\else% если аргумент не пуст
 +
    ...
 +
\fi%
 +
 +
== Bamer ==
 +
=== Как переопределить команду для оверлеев? ===
 +
\renewcommand<>{\команда}[1]{\only#2{\beameroriginal{\команда}{#1}}}
 +
 +
=== Как проверить, что код внутри слайда? ===
 +
\ifbeamer@inframe% если внутри слайда
 +
    ...
 +
\else% если вне слайда
 +
    ...
 +
\fi%

Текущая версия на 13:33, 25 августа 2017

Пакеты[править]

PSCYR[править]

Как установить для TeX Live в Ubuntu[править]

Проверено в Ubuntu 14.04 c TeX Live 2013.20140215-1 и pscyr4c.

  1. Скачать и распаковать файлы шрифта:
    mkdir pscyr
    cd ./pscyr
    wget http://tex.imm.uran.ru/texserver/fonts/pscyr/PSCyr-0.4c-patch2-tex.tar.gz
    tar -xvzf ./PSCyr-0.4c-patch2-tex.tar.gz
    wget http://tex.imm.uran.ru/texserver/fonts/pscyr/PSCyr-0.4c-patch2-type1.tar.gz
    tar -xvzf ./PSCyr-0.4c-patch2-type1.tar.gz

    Скачанные файлы можно удалить:

    rm ./PSCyr-0.4c-patch2-tex.tar.gz
    rm ./PSCyr-0.4c-patch2-type1.tar.gz
  2. Скопировать нужные описания шрифта:
    mkdir ./fonts/map
    cp ./dvips/config/*.map ./fonts/map/
    echo "fadr6t   AdvertisementPSCyr \"T2AEncoding ReEncodeFont\" <t2a.enc <adver4.pfb" >> ./fonts/map/pscyr.map
    mkdir ./fonts/enc
    cp ./dvips/base/*.enc ./fonts/enc/
  3. Узнать путь к локальному дереву texmf:
    kpsewhich -expand-var='$TEXMFLOCAL'
  4. Скопировать файлы пакета в локальное дерево texmf:
    sudo cp -R ./* {путь к локальному дереву texmf}
  5. Обновить настройки:
    sudo texhash
    updmap --enable Map=pscyr.map
    sudo mktexlsr

Ссылки[править]

Вёрстка[править]

Как заставить макрос не поглощать пробел после себя?[править]

Есть два варианта:

  • при создании макроса в конец описания добавить команду \xspace (требуется пакет xspace);
  • при вставке макроса в текст после него добавить {} или \ .

Как заставить макрос поглотить все пробелы после себя?[править]

Вставить в конец макроса команду \ignorespaces.

Как избежать принудительного изменения размера шрифтов?[править]

Подключить пакет anyfontsize.

Магия[править]

Как получить ширину фрагмента текста[править]

Командой \widthof{текст}, если подключить пакет calc.

Как создать новый стиль страниц?[править]

\def\ps@<имя стиля>{<команды стиля>}

Как проверить, что аргумент команды пуст?[править]

\ifx&#1&% если аргумент пуст
    ...
\else% если аргумент не пуст
    ...
\fi%

Bamer[править]

Как переопределить команду для оверлеев?[править]

\renewcommand<>{\команда}[1]{\only#2{\beameroriginal{\команда}{#1}}}

Как проверить, что код внутри слайда?[править]

\ifbeamer@inframe% если внутри слайда
    ...
\else% если вне слайда
    ...
\fi%