Gå til innhold

Den middels store LaTeX-tråden


Anbefalte innlegg

Hei dere,

 

 

Hvordan kan jeg definere masse variabler til tallverdier, og da definere nye variabler som adderer og multipliserer "grunnvariablene"? Litt som man gjør det i MS Excel. Her er hvorfor jeg trenger dette:

 

Jeg driver å forbereder meg til Warhammer slag! Jeg spiller High Elves, så nå lager jeg en såkalt "armylist" i latex. Det er en liste over hvor mange poeng hele din hær er verd tilsammen. Det er endel tropper og utstyr å regne sammen, så jeg bruker mellomregninger underveis.

 

Først skrev jeg bare inn alle poengverdiene etter navnene på hver enkelt tropp inn i en tabularx, men jeg ombestemmer meg ofte, og da endrer poengsummene seg også. Dette fører til at mellomregningene og sluttberegningen blir feil.

 

Det jeg vil er omtrent noe sånt som dette:

 

\usepackage{calc}

archmage = 400
 archers = 220
 chariot = 150

sum = archmage + swormasters + 2*chariot

\begin{document}

Archmage        \archmage pts
Archers   		\archers pts
Chariot            \chariot pts
Chariot            \chariot pts


\LARGE{Total poengsum: \sum}

\end{document}

 

Jeg har allerede sett litt på pakken calc, om dette er aktuell for å gjøre noe slikt vet jeg ikke. Dokumentasjonen virket litt vanskelig.

Lenke til kommentar
Videoannonse
Annonse

Eg har ikkje so veldig god oversikt over kva som finst av pakkar for den slags, so det kan godt vere det finst betre løysingar enn følgjande:

 

 

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{table}[ht]
\centering
\caption{My army!}
\begin{tikzpicture}[every node/.style={minimum height=16pt},tittel/.style={text width=2cm},tal/.style={text width=1.65cm}]
 \def\archmage{400}
 \def\archers{220}
 \def\chariot{150}
 \pgfmathparse{\archmage + \archers + 2*\chariot}
 \matrix (tabell) [column sep=1em]{
   \node [tittel] {Archmage};      & \node [tal] {\archmage{} pts};  \\
   \node [tittel] {Archers};       & \node [tal] {\archers{} pts};   \\
   \node [tittel] {Chariot};       & \node [tal] {\chariot{} pts};   \\
   \node [tittel] {Chariot};       & \node [tal] {\chariot{} pts};   \\
   \node (sum-tekst) [tittel] {\textbf{Sum}};  & \node (sum-tal) [tal] {\textbf{\pgfmathresult} pts}; \\
                                  };
 \draw [thick] (sum-tekst.north west) -- (sum-tal.north east);
 \draw [very thick] (tabell.south west) -- (tabell.south east);
 \draw [very thick] (tabell.north west) -- (tabell.north east);
\end{tikzpicture}
\end{table}
\end{document}

 

Ein smule tungvint er det iallfall ... Kan forklare nærare kva som vert gjort her i morgon, om du vil.

 

 

Gløym det over, mykje enklare og betre måte:

 

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[norsk]{babel}
\usepackage{pgfmath}
\usepackage{booktabs}

\def\archmage{400}
\def\archers{220}
\def\chariot{150}
\pgfmathparse{\archmage + \archers + 2*\chariot}

\begin{document}
\begin{table}[ht]
\centering
\caption{Noko enklare}
 \begin{tabular}{lc}
   \toprule
   Archmage      & \archmage{} pts  \\
   Archers       & \archers{} pts   \\
   Chariot       & \chariot{} pts   \\
   Chariot       & \chariot{} pts   \\ \midrule
   \textbf{Sum}  & \textbf{\pgfmathresult{} pts} \\ \bottomrule
 \end{tabular}
\end{table}
\end{document}

 

Framleis eit problem at det er ein desimal med i svaret, veit ikkje korleis den kan fjernast.

Endret av Torbjørn T.
Lenke til kommentar

Liten oppfølging til førre innlegg:

I utviklingsversjonen (CVS-versjon) av PGF/Tikz er det lagt til ein int-kommando, som gjev svaret som eit heiltal (integer). I koden over, byt ut

\pgfmathparse{\archmage + \archers + 2*\chariot}

med

\pgfmathparse{int(\archmage + \archers + 2*\chariot)}

 

 

CVS-builds, og bruksanvisning for desse, kan lastast ned frå Texample:

http://www.texample.net/tikz/builds/

Lenke til kommentar

Jo, takk for svar. De to var hjelpsomme og hjalp meg en god del videre.

 

Er det mulig å lage flere slike regnesvar med ulike navn man kan referere videre til underveis i latex-koden? Det jeg mener er noe sånt som dette:

 

lance = 8
greatEagle = 50
bannerOfHoeth = 30
mageLevel4 = 30
spearmenFullCommand = 16 + 8 + 8

archmage = 135 + mageLevel4
noble = 85 + lance + greatEagle + bannerOfHoeth
spearmen = (9*30) + spearmenFullCommand

total = archmage + noble + spearmen

Lenke til kommentar

Oppdaga no pgfmathtruncatemacro i pgfmanual, og fann slik ei løysing på desimalproblemet, som ikkje involverer oppgradering av PGF:

 

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[norsk]{babel}
\usepackage{pgfmath}
\usepackage{booktabs}

\def\lance{8}
\def\greatEagle{50}
\def\bannerOfHoeth{30}
\def\mageLevel4{30}
\def\spearmenFullCommand{(16 + 8 + 8)}

\pgfmathtruncatemacro{\archmage}{135 + \mageLevel4}
\pgfmathtruncatemacro{\noble}{85 + \lance + \greatEagle + \bannerOfHoeth}
\pgfmathtruncatemacro{\spearmen}{(9*30) + \spearmenFullCommand}

\pgfmathtruncatemacro{\TotalSum}{\archmage + \noble + \spearmen}


\begin{document}
\begin{table}[ht]
\centering
\caption{Nytt døme}
 \begin{tabular}{lc}
   \toprule
   Archmage      & \archmage{} pts  \\
   Noble       & \noble{} pts   \\
   Spearmen       & \spearmen{} pts   \\ \midrule
   \textbf{Sum}  & \textbf{\TotalSum{} pts} \\
   \bottomrule
 \end{tabular}
\end{table}
\end{document}

 

Merk parentesane rundt tala i definisjonen av spearmenFullCommand. Det har ikkje noko å seie for akkurat dette dømet, men om du vil multiplisere den verdien med eit tal, må du ha parentesane, elles vert berre det fyrste talet i spearmenFullCommand ganga med talet.

 

Det vil seie at utan parentesane vil 10*\spearmenFullCommand verte 10*16 + 8 + 8 = 176, men med parentesane vert det 10*(16 + 8 + 8) = 320.

Lenke til kommentar

Oppdaga no pgfmathtruncatemacro i pgfmanual, og fann slik ei løysing på desimalproblemet, som ikkje involverer oppgradering av PGF:

 

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[norsk]{babel}
\usepackage{pgfmath}
\usepackage{booktabs}

\def\lance{8}
\def\greatEagle{50}
\def\bannerOfHoeth{30}
\def\mageLevel4{30}
\def\spearmenFullCommand{(16 + 8 + 8)}

\pgfmathtruncatemacro{\archmage}{135 + \mageLevel4}
\pgfmathtruncatemacro{\noble}{85 + \lance + \greatEagle + \bannerOfHoeth}
\pgfmathtruncatemacro{\spearmen}{(9*30) + \spearmenFullCommand}

\pgfmathtruncatemacro{\TotalSum}{\archmage + \noble + \spearmen}


\begin{document}
\begin{table}[ht]
\centering
\caption{Nytt døme}
 \begin{tabular}{lc}
   \toprule
   Archmage      & \archmage{} pts  \\
   Noble       & \noble{} pts   \\
   Spearmen       & \spearmen{} pts   \\ \midrule
   \textbf{Sum}  & \textbf{\TotalSum{} pts} \\
   \bottomrule
 \end{tabular}
\end{table}
\end{document}

 

Merk parentesane rundt tala i definisjonen av spearmenFullCommand. Det har ikkje noko å seie for akkurat dette dømet, men om du vil multiplisere den verdien med eit tal, må du ha parentesane, elles vert berre det fyrste talet i spearmenFullCommand ganga med talet.

 

Det vil seie at utan parentesane vil 10*\spearmenFullCommand verte 10*16 + 8 + 8 = 176, men med parentesane vert det 10*(16 + 8 + 8) = 320.

 

Takker og bukker.

 

TikZ/PGF-manualen er virkelig . Det tok noe tid å søke etter pgfmathtruncatemacro (jeg bruker Evince Document Viewer som er basert på xPdf).

Lenke til kommentar

Ja, det er ein ganske stor sak, og manualen for CVS-versjonen er nesten 200 sider lengre. Men om du veit kva du ser etter, går det ganske raskt å finne i anten innhaldsliste eller register. Flott med grundig dokumentasjon.

 

Selv om TikZ/PGF manualen er stor, og likeså PGFplots manualen, så er de begge blant de bedre (etter mitt syn) - finner stort sett alltid det man ser etter relativt fort. :)

Lenke til kommentar
  • 2 uker senere...

Sikkert gamalt nytt for dei fleste som les denne tråden, men skader ikkje å nemne:

 

TUG 2010-konferansen gjekk av stabelen for eit par veker sidan, og videoar av alle foredraga vert lagt ut på River Valley TV. So langt er berre fem av dei ute, men resten kjem etter kvart.

 

Blant dei som er lagt ut, er «An Earthshaking Announcement» av Donald Knuth, i anledning TeX sitt 25-årsjubileum.

Lenke til kommentar
  • 4 uker senere...

Jeg liker å se på dokumentet underveis i en skriveprosess. Finnes det enkle programmer som lar meg se produktet uten at man må kompilere manuelt hele tiden? «Live» splitscreen er å foretrekke med editor og oppdatert produkt side om side. Har ikke noe problem med å skrive kommandoene i editoren (vil altså ikke ha et tradisjonelt WYSIWYG-program).

Lenge sidan dette vart skrive, men tenkte eg kunne nemne ein relativt ny editor som heiter Gummi. Den er tidleg i utviklinga, og har ikkje mykje å slå i bordet med, men ein ting den kan skryte av er kontinuerleg oppdatering av førehandsvisinga, utan å måtte kompilere. Kun tilgjengeleg for ulike Linux-distribusjonar so langt, veit ikkje om det vil endre seg:

http://gummi.midnightcoding.org/

 

 

I samband med editorar kan dette blogginnlegget nemnast, som er ein kort gjennomgang av ei rekkje LaTeX-editorar.

http://www.charlietanksley.net/philtex/editors/

 

Dei som driv med kjemi kan kanskje vere interessert i denne:

http://www.ctan.org/tex-archive/help/Catalogue/entries/chemfig.html

 

Det er ein ny pakke for å teikne strukturformlar (berre i 2D). Manualen er berre på fransk foreløpig, men det bør gå an å kome i gang vha av dei mange døma i den.

Til opplysing vert manualen omsett til engelsk, og den skal kome i løpet av august, om ting går etter planen.

 

 

Omsetjing av TeXworks til norsk

Eg fann nyleg ut at eg skulle gjere eit forsøk på å omsetje TeXworks til norsk, og kunne i den samanheng tenkje meg litt tilbakemelding. Vedlagt er ei zipfil som inneheld to språkfiler, ei for nynorsk og ei for bokmål. Legg desse i /home/.TeXworks/translations (Kubuntu, og sikkert andre Linux-distribusjonar) eller c:/users/<brukarnamn>/texworks/translations (eller tilsvarande) i Windows1, og so kan de velje norsk språk i TeXworks under Edit --> Preferences --> General.

 

Gjekk litt fort og gale føre seg, so det er heilt ein del tvilsame (les: forferdelege) omsetjingar. Set pris på all respons, anten her i tråden eller via PM. (Eg må sjå gjennom og tenkje litt meir, og eg er litt usikker på internettilgangen min dei næraste dagane, so eg sender dei ikkje inn med det aller fyrste – ingen bråhast, med andre ord.)

 

 

1 Trur det var der den låg, orker ikkje boote Windows for å sjekke det no.

TeXworks_no.qm.zip

Endret av Torbjørn T.
Lenke til kommentar

Jeg oppdaget nylig pakken psfrag, som løste et problem jeg har irritert meg over tidligere. Ofte er det ønskelig å tegne en graf i f.eks. Matlab, og bruke denne i en rapport. Problemet er at titler og tall på aksene gjerne kommer i en eller annen horribel skrifttype som ikke harmonerer med den som brukes i resten av rapporten, men psfrag fikser altså dette.

 

Det pakken gjør, er å identifisere enkeltord eller «tags» i en bildefil (eps-format), og erstatte disse med valgfri LaTeX-struktur. For eksempel kan det hende at du har plottet en eller annen verdi mot variabelen theta, og da kan f.eks. ordet "theta" i grafen erstattes med en gresk theta i din vanlige skrifttype. Mer om dette i dette blogginnlegget, som viser syntaksen i pakken. Fiffige greier, syns nå iallfall jeg :)

Lenke til kommentar

Jeg oppdaget nylig pakken psfrag, som løste et problem jeg har irritert meg over tidligere. Ofte er det ønskelig å tegne en graf i f.eks. Matlab, og bruke denne i en rapport. Problemet er at titler og tall på aksene gjerne kommer i en eller annen horribel skrifttype som ikke harmonerer med den som brukes i resten av rapporten, men psfrag fikser altså dette.

 

Det pakken gjør, er å identifisere enkeltord eller «tags» i en bildefil (eps-format), og erstatte disse med valgfri LaTeX-struktur. For eksempel kan det hende at du har plottet en eller annen verdi mot variabelen theta, og da kan f.eks. ordet "theta" i grafen erstattes med en gresk theta i din vanlige skrifttype. Mer om dette i dette blogginnlegget, som viser syntaksen i pakken. Fiffige greier, syns nå iallfall jeg :)

 

Hvis du skal bruke plot fra MATLAB kan du bruke matlab2tikz (ligger på Mathworks FEX). Støtter de fleste typer plot med unntak av noen enkelte ting. Bruker PGFPlots pakken og dermed er det store muligheter for å endre på figuren osv i ettertid hvis det skulle være ønskelig.

 

Og hvis man bruker octave til å simulere og generere plot så er det bare å lagre plot og data i en gnuplot-fil og eksportere plot fra gnuplot til TikZ (ble mulig etter de la til et Lua-script for nettopp dette i en av de siste versjonene av gnuplot).

Endret av villalobos
Lenke til kommentar

Her finnes det mange muligheter ja, ser jeg. :)

 

Det er Octave jeg har brukt selv så langt, så da kan jeg prøve ut metoden du beskriver neste gang behovet melder seg. Nå har jeg akkurat fullført en rapport på en sommerjobb her, men jeg sitter vel og skriver en eller annen rapport igjen før jeg vet ordet av det. Takker iallfall for innspillet.

Lenke til kommentar

Har endelig for alvor begynt å skrive på masteroppgaven min, og i den forbindelse fant jeg ut at jeg skulle begynne å snuse på memoir. Og jeg er mektig imponert. Memoir er definitivt verdt å ta en titt på om man har behov for å formatere større mengder tekst uten å sitte og skrive LaTeX-macroer og tweake parametre i uker i strekk :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...