O misterioso programa LyX. Parte 3

Copiado do meu blog para criar outra fonte de informações em russo sobre este tópico.

Este artigo é uma continuação dos seguintes artigos em um único ciclo:

artigo 1
artigo 2

LyX: Filial


O menu Inserir possui um submenu chamado Filial . O que é isso Então, cheguei a este submenu, que foi aberto. Lá, com o botão esquerdo do mouse, clique no item Adicionar nova ramificação (existem 2 pontos, clique no inferior). Na caixa de diálogo exibida, digite o nome da ramificação a ser criada, clique em OK . Pelo que entendi, não deve haver espaços no nome do ramo criado. Depois de clicar em OK na janela LyX, na qual tudo isso é feito, a seguinte área aparece:



Este ramo parece inativo . Isso significa que, se eu escrever algo na frente do ramo, escrevo algum texto no retângulo do ramo e continuo a narração após o ramo, no arquivo .pdf formado a partir desse arquivo .lyx , a parte do texto no retângulo vermelho será apenas esteja ausente. Para incluir esta parte em .pdf , passe o mouse sobre a palavra Vetka. Lá, mais ou menos ao lado dessa palavra, clique com o botão direito do mouse e selecione Ativar ramificação com o botão esquerdo do mouse. Dependendo do arquivo .mo usado, esse item pode ser chamado de maneira diferente, mas sempre é o primeiro no menu suspenso.

LyX: Visualização da Matemática


Em Ferramentas> Preferências> Exibir, o segundo da parte superior é uma lista suspensa . Dependendo do arquivo .mo usado na tradução russa dos nomes dos elementos da interface, ele possui nomes diferentes. Nessa cópia do programa LyX que eu usei antes, chamava-se, se não me engano, Preview preview . Na cópia atual do LyX, ele é chamado Visualização Instantânea . E sua essência é a seguinte. Se eu definir o valor dessa lista como , depois que o cursor sair do modo matemático (fórmula da linha) ou desativado, a fórmula na janela LyX ficará assim:



E com o valor dessa lista , a fórmula começa a ter a seguinte aparência:



Mas isso por si só é de pouco interesse. O uso dessa lista suspensa junto com o contador Tamanho da visualização parece muito mais interessante. Ou seja, defina o valor da lista suspensa como ativado e o valor do contador para um valor maior que 1, por exemplo, 3,8, clique no botão Salvar . Depois de reiniciar as fórmulas LyX, comece a exibir da seguinte maneira:



Mas isso é alguma coisa. Eu usei isso, por exemplo, quando pintei expoentes fracionários de várias histórias ao estudar a prova de um teorema da teoria dos grupos: era confuso à mão, mas no LyX era exatamente o mesmo usando essa loção.

Como usar o Asymtote no LyX?


Mas muito simples: abra o programa LyX. Vá para Documento> Configurações> Preâmbulo do LaTeX . Entramos lá

 \usepackage{asymptote} 

talvez com algumas opções de pacotes de assíntotas, clique em
Salve . É isso aí, começamos a escrever o texto que precisamos na janela principal do programa LyX. Assim que for inserir o código de assíntota, insira o ramo, ative-o (consulte a seção LyX: ramo deste artigo), insira o código Tex no ramo ( Ctrl + l ) e comece a escrever apenas neste bloco

 \begin{asy} ... \end{asy} 

onde, no local das reticências, escrevemos o código de .asy exatamente da mesma maneira que em algum arquivo .asy . Por exemplo, pode ser assim:



A foto foi tirada após a primeira exportação para PDF (pdflatex). Preste atenção no caminho para a pasta circulada na parte inferior da janela do programa LyX em vermelho. É quando eu processo um arquivo .tex comum em outro editor comum também  LaTeX, por exemplo, no TeXworks, todos os arquivos que ocorrem simultaneamente ao mesmo tempo, como .log , .aux , etc., são criados na mesma pasta com esse arquivo .tex . No caso de exportar para algum formato no programa LyX, na mesma pasta com o arquivo .lyx processado, apenas todos os outros arquivos resultantes disso são gerados .pdf (e primeiro exporte para .tex e, em seguida, algum .tex nesse uma implementação binária disponível em um computador  TeXconectado (embora opcional) ao programa LyX. Por exemplo, desta vez instalei o LyX após o programa MiKTeX. Portanto, a conexão do LyX ao MiKTeX foi expressa no fato de que, quando instalei o LyX, subi em Ferramentas> Configurações ...> Caminhos , na caixa de texto do prefixo PATH : entre outros, havia um caminho C:\Program Files\MiKTeX 2.9\miktex\bin - o caminho para a pasta de binários que mencionei acima instalada no meu computador  TeX. No entanto, a presença do caminho para esta pasta neste campo de texto não é obrigatória: instalei o LyX no sistema anterior, também Windows7, quando o MiKTeX ainda não estava instalado, portanto, apesar do fato de não haver caminho para essa pasta nesse campo de texto antes de instalar e configurar o MiKTeX, e após essas operações, o LyX funcionava normalmente. Portanto, quando um arquivo binário é .tex arquivo .tex , todos os arquivos que ocorrem simultaneamente ao mesmo tempo, como .log , .aux , etc., também são criados na mesma pasta com esse arquivo .tex .) .tex colocados na pasta, o caminho para que está contido na janela do programa LyX que aparece depois de clicar em Exibir> Visualizar Origem . Para demonstrar o formato do caminho para essa pasta, imaginei uma borda vermelha em torno desse caminho. Vamos para esta pasta, executamos a linha de comando desta pasta, executamos o comando nesta linha

asy *.asy

E fazemos mais uma exportação para PDF (pdflatex). Agora está tudo pronto: abra o .pdf criado e desfrute da qualidade dos gráficos, normalmente esperados onde o Asymptote é usado. E precisamos de uma ramificação em toda a história, porque, às vezes, sem gráficos, o gráfico .pdf não está no local onde o código que o gera no .lyx . No entanto, recentemente .lyx uma maneira de inserir código Asymptote em um arquivo .lyx sem usar ramificações, mas falarei sobre isso em uma página que está mais próxima deste tópico.

LyX: alterar nomes, dicas de ferramentas para elementos de interface


Agora, quando você usa o LyX em um idioma que não seja o inglês, os nomes exibidos de vários menus, itens de menu, barras de ferramentas etc. em uma palavra, os nomes exibidos de quase todos os elementos da interface, exceto a lista suspensa de ambientes e, possivelmente, outra coisa, traduções de várias mensagens são obtidas pelo LyX do arquivo .mo correspondente ao idioma usado. Portanto, não importa como eu coloque cópias diferentes do LyX, esses arquivos .mo , em qualquer caso, dentro da estrutura da cópia usada do LyX para diferentes idiomas têm o mesmo nome. Em uma cópia do programa que estou usando agora, esses arquivos são chamados LyX2.0.mo. Esses arquivos para idiomas diferentes diferem, além de seu conteúdo, por estarem localizados em subpastas diferentes da mesma pasta. Para o russo, o arquivo LyX2.0.mo correspondente está localizado em
C:\Program Files\LyX 2.0\Resources\locale\ru\LC_MESSAGES . No entanto, se, com o objetivo de tentar substituir o LyX na janela do programa, o nome exibido estiver lá, em qualquer barra de ferramentas de qualquer item de menu, altere o local correspondente no arquivo .mo (como encontrar este local é descrito abaixo), após salvar Alterações no arquivo .mo ao reiniciar o LyX, ao contrário das expectativas, levarão a não alterar o nome do elemento de interface correspondente, mas a exibir todos os nomes e dicas de ferramentas em inglês em geral: editar o arquivo .mo não faz sentido diretamente. E você precisa editar o arquivo .po , do qual, posteriormente, usando o programa gettext , após cada alteração (com o salvamento subsequente dessa alteração), você obtém o arquivo .mo novamente e move o arquivo .mo recém-recebido para a pasta nomeada acima com substituição. Vamos nos debruçar sobre esse processo. Primeiro, obtenha o gettext. Cliquei no link acima para baixar a estática de 32 bits, e não o ícone com um computador e disco, mas o ícone da pasta com um zíper. Baixe o arquivo, descompactado em qualquer lugar. Para não adicionar a pasta bin deste programa devido a essas insignificâncias, faremos o seguinte: clique aqui . A partir daqui, faça o download do arquivo lyx-2.3.2.tar.gz. Abra-o, copie o arquivo ru.po da pasta po para a pasta bin do programa gettext descompactado anteriormente, renomeie-o LyX2.0.po. Em seguida, abrimos esse arquivo .po em algum editor de texto. Então Por isso, desejamos alterar, por exemplo, o nome de exibição do item Favoritos da Navegação de Favoritos: exibição alterada. Sim, abra o menu Navegação, observe o nome dos itens neste menu ao lado de Favoritos . Esses itens, por exemplo, são os seguintes: Próxima nota , Próxima alteração, ... isso é necessário porque no arquivo .po pode haver traduções idênticas dos nomes exibidos de vários elementos da interface em vários locais diferentes, pelos quais o mesmo estará no arquivo resultante .mo , o que levará ao fato de que, na janela do LyX, vários elementos da interface em locais diferentes terão os mesmos nomes exibidos. Portanto, para alterar a conversão de algum elemento da interface no arquivo .po , para que os nomes exibidos exatamente daqueles elementos da interface cujos nomes de exibição precisem ser alterados no arquivo .mo , precisamos examinar os nomes exibidos dos elementos adjacentes a esses elementos da interface, nós vamos mudar os nomes exibidos. Se algum elemento tiver uma dica de ferramenta na janela do programa LyX, o texto dessa dica de ferramenta exibido no idioma correspondente no arquivo .po estará localizado não muito longe do nome exibido desse elemento de interface. Outro sinal do local do arquivo .po que precisa ser editado para que isso leve a uma alteração no nome de exibição do elemento de interface para o qual o nome de exibição é necessário. Então, vamos à janela do editor com o arquivo aberto LyX2.0.po , encontramos os Favoritos lá, observamos as seções vizinhas em russo. Aqui está um dos resultados da pesquisa junto com o seu ambiente:

 #: src/frontends/qt4/ui/PDFSupportUi.ui:249 msgid "Bibliographical backreferences" msgstr "  " #: src/frontends/qt4/ui/PDFSupportUi.ui:252 msgid "B&ackreferences:" msgstr "& :" #: src/frontends/qt4/ui/PDFSupportUi.ui:281 msgid "&Bookmarks" msgstr "&" #: src/frontends/qt4/ui/PDFSupportUi.ui:293 msgid "G&enerate bookmarks (toc)" msgstr "& " #: src/frontends/qt4/ui/PDFSupportUi.ui:314 msgid "&Numbered bookmarks" msgstr "& " 

A palavra encontrada no marcador está alinhada com o número 3144. A julgar pelas palavras vizinhas em russo, não é isso que você precisa. E aqui está outro resultado de pesquisa para a palavra Indicador, juntamente com alguns de seus arredores no arquivo LyX2.0.po :

  #: lib/ui/stdmenus.inc:559 msgid "Reject All Changes|e" msgstr "  " #: lib/ui/stdmenus.inc:560 msgid "Show Changes in Output|S" msgstr "   " #: lib/ui/stdmenus.inc:567 msgid "Bookmarks|B" msgstr "|" #: lib/ui/stdmenus.inc:568 msgid "Next Note|N" msgstr " |" #: lib/ui/stdmenus.inc:569 msgid "Next Change|C" msgstr " |" 

Essa entrada da palavra Marcador está localizada de acordo com o número 19619 e, a julgar pelas palavras do idioma russo, localizadas nas proximidades dessa entrada, é isso que você precisa. Substituímos essa ocorrência da palavra por essa frase, a frase que queremos servir como o nome de exibição do elemento de interface correspondente. Portanto, esse trecho de código, juntamente com alguns de seus arredores no arquivo LyX2.0.po, começa a se parecer com o seguinte:

 #: lib/ui/stdmenus.inc:559 msgid "Reject All Changes|e" msgstr "  " #: lib/ui/stdmenus.inc:560 msgid "Show Changes in Output|S" msgstr "   " #: lib/ui/stdmenus.inc:567 msgid "Bookmarks|B" msgstr ":  |" #: lib/ui/stdmenus.inc:568 msgid "Next Note|N" msgstr " |" #: lib/ui/stdmenus.inc:569 msgid "Next Change|C" msgstr " |" 

Salve as alterações no LyX2.0.po. Iniciamos a linha de comando na pasta bin em que estamos. Na janela desta linha, escreva o seguinte comando:

 msgfmt LyX2.0.po --o LyX2.0.mo 

, pressione a tecla Enter . Depois disso, como esperado, o arquivo LyX2.0.mo aparece na pasta bin. Pessoalmente, para não inserir o mesmo comando na linha de comando centenas de vezes, criei um arquivo em lotes do seguinte conteúdo na pasta bin do programa gettext:

 cd /d %0\.. msgfmt LyX2.0.po --o LyX2.0.mo 

E agora, quando eu o abro depois de salvar as alterações no arquivo LyX2.0.po , o mesmo arquivo LyX2.0.mo é criado na minha pasta bin, como se eu o obtivesse na linha de comando. Em seguida, mova, repita com a substituição o arquivo .mo resultante na pasta
C:\Program Files\LyX 2.0\Resources\locale\ru\LC_MESSAGES . Após reiniciar o LyX, obtemos o seguinte:



LyX: sobre o arquivo default.def


Nos C:\Program Files\LyX 2.0\Resources\commands há um arquivo default.def . Para que serve esse arquivo? Em 19 de agosto, descobri que as alterações feitas em 12 de junho de 19 nesse arquivo só entraram em vigor. Em junho, essas alterações neste arquivo não foram exibidas. Aparentemente, durante esse período, fiz algo relacionado ao programa LyX, mas não sei dizer exatamente o que. Mas eles entraram imediatamente e as alterações agora entram em vigor no arquivo com o mesmo nome, mas apenas localizadas em uma pasta diferente - na pasta C:\Users\\AppData\Roaming\LyX2.0\commands . Portanto, esse arquivo é necessário para nomear as combinações de comandos que geralmente usamos no buffer de comando desse arquivo, para que possamos chamar qualquer uma dessas combinações de comandos novamente através do buffer de comando usando o nome atribuído a essa combinação . Aqui estão exemplos para definir esses nomes para essas combinações neste arquivo:

  \define "corpi" "command-sequence math-mode; math-insert {\displaystyle \intop_{-\infty}^{\infty}e^{-x^{2}}dx=\dfrac{\sqrt{\pi}}{2}}; char-right; char-right;" \define "vstgr" "command-sequence vc-command U \"$$p\" \"vstavka-grafiki.bat\"" 

Uma chamada para um comando específico, por exemplo, vstgr , é executada no buffer de comando da seguinte maneira:

 call vstgr 

Usando esse comando, insiro gráficos na janela do programa LyX sem tirar as mãos do teclado. O arquivo vstavka-grafiki.bat entra em jogo . O que há dentro deste arquivo e como ele funciona, vou contar em outro artigo desta série de artigos: ele não tem quase nada a ver com o que estou falando aqui. Também observarei aqui que, como eu entendo, a equipe

 command-sequence 

é usado aqui quando, em uma certa combinação de comandos, existem vários comandos para combinar esses comandos em um único todo, mas, em geral, esse comando pode ser usado com a mesma finalidade diretamente para inserir um comando no buffer com as mãos quando é necessário executar vários comandos dele em uma entrada e quando As teclas de atalho são atribuídas a uma sequência de vários comandos.

LyX: adicionando botões a menus, barras de ferramentas


Primeiro, mostrarei como adicionar um botão a um menu. Por exemplo, mostrarei como adicionar um botão ao menu Editar . Quando você clica nele, o modo matemático é iniciado, a fórmula é inserida lá

 frac sqrt peu2

e depois o cursor se move duas vezes para a esquerda, para que, após a conclusão desse comando, o cursor comece a piscar à esquerda da fórmula inserida. Ao mesmo tempo, quero que esse botão fique entre os botões Recente e Inserir , uma faixa foi colocada em cima desse botão, como, você sabe, há faixas no menu que as dividem em blocos nos quais de alguma forma estão conectados entre si botões de amigo. E o nome para exibição deste botão deve ser o chislitelem do drob . Para realizar esta tarefa - um caso especial das tarefas indicadas no título deste tópico, precisaremos editar os arquivos localizados na pasta C:\Program Files\LyX 2.0\Resources\ui . Ou seja, para alterar um menu, precisamos editar o arquivo stdmenus.inc localizado nesta pasta. Abrimos em algum editor, faço tudo em um bloco de notas banal. Onde, intuitivamente, olhando o código e tendo em mente as teclas de atalho que usei no LyX, quando eu estava começando a estudar este programa e não havia dúvida sobre a criação de minhas próprias teclas de atalho, percebi que precisava editar o bloco código deste arquivo começando com

 # # EDIT MENU # Menu "edit" 

Ou seja: após a linha

 Item "Paste" "paste" 

adicione 2 linhas

 Separator Item "drob' s chislstelem" "command-sequence math-mode; math-insert \dfrac{\sqrt{\pi}}{2}; char-left; char-left;" 

A primeira das linhas adicionadas fornece apenas a faixa divisória descrita acima. Salve as alterações em stdmenus.inc , reinicie) LyX. O resultado é este:



Então, agora vamos adicionar os botões na barra de tarefas. Admito que, como adicionar botões na barra de tarefas, espiei aqui . E o procedimento para adicionar botões ao menu descrito acima já foi pensado por mim com base neste material reconhecido. E, é claro, não reivindico autoria. Bem, e agora ... Provavelmente, o leitor atento no segundo artigo desta série de artigos, sobre desenhos aerodinâmicos flutuantes, já percebeu a diferença de uma barra de ferramentas na janela do programa LyX, que eu uso (ele, esse painel diferente, está localizado exatamente na foto) no espaço de trabalho em que estou escrevendo) de uma barra de ferramentas semelhante no programa ainda inalterado do LyX. Ou seja, a diferença entre este painel é imediatamente identificada com um botão enorme, no qual existe apenas a inscrição Moyacom parcialmente inserida na foto [Ctrl + 0 1] . No entanto, não me limitei a esse botão, porque não estava claro como anexar as imagens desejadas aos botões criados pelo usuário. Então eu criei outro botão. Na próxima foto, os botões que criei nesta barra de ferramentas são indicados por setas vermelhas:



Para iniciantes, mostrarei como criar um botão coberto com a figura desejada ( a figura deve ter a extensão .png ), quando clicada, o comando definido em C:\Users\\AppData\Roaming\LyX2.0\commands\default.def . Então, inserimos o seguinte neste arquivo a partir de uma nova linha:

 \define "pina2" "command-sequence math-mode; math-insert \dfrac{\pi}{2}; char- right; char-right;" 

Fechamos o arquivo default.def, salvamos as alterações. Em seguida, na pasta C:\Users\\AppData\Roaming\LyX2.0\images\commands a foto (repito, a extensão .png é necessária ) sob a qual queremos que o botão que criamos apareça na janela do programa LyX, renomeie-o foto em pina2 . Vamos concordar que adicionamos o botão ao painel Avançado (a foto acima mostra a barra de ferramentas Avançada modificada). Mas o próprio programa LyX não conhece a barra de ferramentas com esse nome. No entendimento do LyX, esse painel é chamado Extra (descobri isso observando as mensagens da série de histórias mencionadas repetidamente em minhas histórias sobre o LyX progessando a área de sua janela Mensagens de progresso / depuração quando este painel foi ativado / desativado em Exibir> Barras de Ferramentas ).

Ótimo. Vamos para a pasta C:\Program Files\LyX 2.0\Resources\ui já mencionados acima. Abrimos o arquivo stdtoolbars.inc , procuramos algo que comece com a palavra extra (possivelmente com letra maiúscula) ou algo semelhante a um cabeçalho ou algo parecido que contenha essa palavra.Para não ir muito longe, adicionaremos nosso botão ao início deste comando. Ou seja, aqui está o trecho de código desse arquivo antes da minha intervenção:

 ................................................................... StickyPopupMenu "update-others" "Update other formats" End Toolbar "extra" "Extra" Item "Default" "layout" Item "Numbered list" "layout Enumerate" ................................................................... 

E aqui está como eu criei esse pedaço de código:

  ................................................................... StickyPopupMenu update-others Update other formats End Toolbar "extra" "Extra" Item "Privet moim chitatelyam" "call pina2" Item "Default" "layout" Item "Numbered list" "layout Enumerate" ................................................................... 

, em que as elipses são as linhas do arquivo stdtoolbars.inc antes e depois do código desse arquivo. Em princípio, tudo é encerrado com o salvamento do arquivo stdtoolbars.inc . Depois de reiniciar o LyX, quando o painel Avançado é ativado , um novo botão de funcionamento aparece nesse painel com a imagem que atribuímos e que executa a função que definimos. Como você pode ver na última foto, a dica de ferramenta é determinada pelo que escrevemos no primeiro par de citações relacionadas ao item correspondente. Concluindo, direi que o segundo botão adicionado foi definido sem a participação do arquivo default.def e, como eu disse acima, sem intenção de atribuir uma imagem a ela, na qual esse botão seria exibido na janela do programa LyX: Acabei de inserir uma linha vazia e inseri-la antes da última linha do bloco de código em que acabei de descrever as manipulações A linha é o seguinte código:

 item "Moyacom" "command-sequence math-mode; math-insert \dfrac{\sqrt{\pi}}{2}; char-left; char-left;" 

E [Ctrl + 0 1] no botão que criei na foto que trouxe é visível porque tenho o modo matemático da sequência de comandos; inserção matemática \ dfrac {\ sqrt {\ pi}} {2}; char-left; char-left; Ctrl + 0 + 1 (devo admitir que não esperava esse prompt neste local.

Para continuar ...

Source: https://habr.com/ru/post/pt484282/


All Articles