# Menu door de gebruiker in te stellen

## Configuratie

&kile; ondersteunt een menu, dat door de gebruiker is in te stellen en wat als onderdeel van het menu van &kile; zal verschijnen. Dit menu kan ingesteld worden met de instingendialoog van &kile; met Instellingen Kile instellen Gebruikersmenu.

Het gebruikersmenu instellen
Het gebruikersmenu instellen

U hebt twee opties waar dit menu te plaatsen:

- ofwel verschijnt het menu Gebruikersmenu in de hoofdmenubalk tussen de menu's LaTeX en Assistent en de instellingenassistent Gebruikersmenu bewerken in het menu Assistent

  Gebruikersmenu is in het hoofdmenu geplaatst
  Gebruikersmenu is in het hoofdmenu geplaatst

- of beide items zullen aan de onderkant van het menu LaTeX verschijnen.

  Gebruikersmenu is een onderdeel van het menu LaTeX
  Gebruikersmenu is een onderdeel van het menu LaTeX

Al bestaande gebruikergedefinieerde tags uit oudere versies van &kile; worden automatisch getransformeerd naar het nieuwe gebruikergedefinieerde menu. De tags worden opgeslagen in een bestand genaamd `usertags.xml` en zoals alle definitiebestanden van menu's, zijn ze te vinden in de map voor lokale gebruikersmenu's van &kile;: `KILE_APP_DIR/usermenu/`, &eg; `/home/user/.kde/share/apps/kile/usermenu/`.

U kunt verschillende definitiebestanden voor menu's gebruiken voor verschillende taken. Roep de assistent voor gebruikersmenu's op: Assistent Gebruikersmenu bewerken of LaTeX Gebruikersmenu bewerken om een definitiebestand van een menu te installeren of te bewerken.

## Assistent

U kunt nieuwe menu's aanmaken of bestaande wijzigen met een comfortabele assistent voor het instellen van een gebruikersmenu, die te vinden is via Assistent Gebruikersmenu bewerken.

Assistent voor Gebruikersmenu
Assistent voor Gebruikersmenu

Links ziet u een bestaande boomstructuur van een menu. Zoals in een standaard menu, zijn er drie verschillende soorten menu-items beschikbaar:

- standaard menu-items, die aan een actie zijn toegekend

- submenu's, die meer menu-items bevatten

- scheidingen, om een visuele structuur van alle items te krijgen.

Om dit menu te wijzigen gebruikt u de zes knoppen aan de linker kant. Meer mogelijke acties zijn beschikbaar in het contextmenu van al bestaande menu-items.

Gebruikergedefinieerde menuboom
Gebruikergedefinieerde menuboom

Elk standaard menu-item is toegekend aan één van drie typen acties, waar elk van hen verschillende attributen heeft, die ingesteld kunnen worden:

- Tekst: &kile; geeft u de mogelijkheid om uw eigen tags te maken. Een tag is te vergelijken met een sneltoets die een commando start of frequent gebruikte teksten schrijft, &eg; Joe Sixpack gebruikt vaak de zin `Hi, ik ben ingevoegd ...`. Deze tag zal ingevoegd worden op de huidige cursorpositie, wanneer deze actie wordt aangeroepen (zie boven). Meta-tekens zijn ook beschikbaar (zie ).

- Inhoud van bestand invoegen: Voegt de gehele inhoud van een gegeven bestand in.

  Bestandsinhoud invoegen
  Bestandsinhoud invoegen

- Voer een extern programma uit: De uitvoer van dit programma kan ingevoegd worden in het geopende document. Meta-teken `%M` is ook mogelijk in de opdrachtregel van dit programma, omdat de geselecteerde tekst opgeslagen zal worden in een tijdelijk bestand. Gebruik `%M` voor de bestandsnaam van dit tijdelijke bestand.

  Een extern programma uitvoeren
  Een extern programma uitvoeren

Als nog enige belangrijke informatie voor een actie ontbreekt, zullen menu-items rood worden gekleurd. Dit kan een niet bestaand bestand zijn

Niet bestaand bestand
Niet bestaand bestand

of een ontbrekende titel voor het menu-item zijn, die getoond zal worden met vraagtekens zoals `???`.

Ontbrekende titel van een menu-item
Ontbrekende titel van een menu-item

Als u het contextmenu van zo'n rood gekleurd menu-item opent, dan krijgt u een extra optie voor meer informatie over deze fout.

Aanvullende informatie
Aanvullende informatie

Meer informatie kan ook beschikbaar zijn door de functie Wat is dit van de meeste widgets te gebruiken.

## Plaatshouders

### Tekst invoegen

Er zijn enige plaatshouders die u kunt gebruiken in uw gebruikergedefinieerde tags: `%C`, `%B`, `%M`, `%E`, `%R` en `%T`.

- `%C`: dit is waar de cursor geplaatst zal worden na gebruik van een gebruikergedefinieerde tag.

  Cursorpositie (%C)
  Cursorpositie (%C)

- `%B`: zal vervangen worden door een opsommingsteken (zie ).

  Opsommingsteken (%B)
  Opsommingsteken (%B)

- `%M`: zal vervangen worden door de geselecteerde tekst.

  Geselecteerde tekst (%M)
  Geselecteerde tekst (%M)

- `%E`: duidt de inspringdiepte van de tekst in een omgeving aan.

  Inspringen van omgevingstekst (%E)
  Inspringen van omgevingstekst (%E)

- `%R`: zal een dialoog starten voor een referentie om een al gedefinieerd label te kiezen. Dit kan gebruikt worden om te verwijzen naar een voorgedefinieerd label, die u kunt kiezen uit een afrollijst (zie ook LaTeX Verwijzingenref of LaTeX Verwijzingenpageref).

  Referenties (%R)
  Referenties (%R)

- `%T`: zal een dialoog voor citaten aanroepen om een al gedefinieerd citaat te kiezen. Zoals bij LaTeX Verwijzingencitaat die een lijst met alle citaatsleutels laat verschijnen.

  Citaatsleutels (%T)
  Citaatsleutels (%T)

Laten we naar een ander voorbeeld kijken met de volgende macro `\frac{%M}{%C}`. Eerst selecteren we een getal in onze tekst, neem `42`. Daarna roepen we deze macro aan en krijgen `\frac{42}{}` met de cursor gelokaliseerd tussen het tweede paar accolades.

### Bestandsinhoud invoegen

Als u de inhoud van een tekstbestand wilt invoegen, dan kunt u dezelfde plaatshouders gebruiken.

### Een programma uitvoeren

Als u een extern programma uit wilt voeren, wordt alleen de `%M` voor geselecteerde tekst herkend in de opdrachtregel. De selectie zal opgeslagen worden in een tijdelijk bestand en de plaatshouder `%M` wordt vervangen door deze bestandsnaam.

Een extern programma uitvoeren (%M)
Een extern programma uitvoeren (%M)

Een andere plaatshouder is `%S`, die vervangen wordt door de complete basisnaam van het huidige document zonder het pad. Deze basisnaam bestaat uit alle tekens in het bestand tot (maar niet inclusief) het laatste '.'-teken.

## Parameter

De meeste menu-items kunnen additionele zelfverklarende parameters hebben, die gecontroleerd kunnen worden. Als sommige van deze parameters niet beschikbaar zijn voor enkele soorten acties, dan worden ze uitgeschakeld.

Parameter in gebruikersmenu
Parameter in gebruikersmenu

Hier is een voorbeeld voor het uitvoeren van een extern programma:

Voorbeeld van parameter
Voorbeeld van parameter

U ziet dat er een `perl`-script wordt aangeroepen, die zou moeten werken met de huidige selectie. De parameter Heeft geselecteerde tekst nodig wordt gecontroleerd om zeker te zijn van een selectie. De uitvoer van dit script zal ingevoegd worden (Voeg de uitvoer van het gekozen programma in) en vervang de huidige selectie (Vervang geselecteerde tekst), maar niet het zelf geselecteerde.

Natuurlijk kunt u ook uw eigen programma's of scripts aanroepen. U kunt bijvoorbeeld een lijst met getallen, gescheiden door spaties selecteren en een script of Perl programma aanroepen, die deze selectie omzet in &latex; code voor een matrix. Wat ook uw ideeën kunnen zijn, u kunt ze realiseren met het volgende item in het gebruikersmenu.

Voorbeeld van parameter 2
Voorbeeld van parameter 2

## Bestanden met menudefinitie

U kunt verschillende menu's bij uitvoeren installeren voor verschillende taken. Wanneer u de assitent voor het gebruikersmenu wijzigt, zal het huidige bestand met de menudefinitie worden geladen. Als u het wijzigt en de dialoog sluit met de knop OK, zullen uw wijzigen opgeslagen worden en geïnstalleerd als het nieuwe gebruikersmenu. De dialoog met Annuleren sluiten zal alle wijzigingen verwerpen.

Bestanden met menudefinitie
Bestanden met menudefinitie

U bent ook vrij om het gewijzigde bestand in de map van gebruikersmenu's op te slaan of om een ander menu-definitiebestand te laden en het te installeren. Alle bestanden met gebruikersmenu-definities moeten opgeslagen worden in de lokale map voor gebruikersmenu's van &kile;: `KILE_APP_DIR/usermenu/`.

Kijk in het voorbeeld van een bestand met een menudefinitie `example.xml` om meer menu-items met hun parameters te bekijken.