Gå til innhold

Den middels store LaTeX-tråden


Anbefalte innlegg

Videoannonse
Annonse

Hei, 

 

prøver å lage såkalte 'flashcards' i Latex. Vanlige flashcard program takler dårlig matematikk og kjemi... prøver meg derfor her. 

 

Målet er å dobbeltsidig print med svaret på baksiden. 

 

Har så funnet følgende kode:

\documentclass[frame,avery5388]{flashcards}

\usepackage[utf8]{inputenc}


\begin{document}
	
	
	\begin{flashcard}{Spørsmål}
		Svar
	\end{flashcard}


\end{document} 

Jeg ønsker å utnytte arket best mulig, og med denne koden får jeg maksimalt tre spørsmål på hver side. Forslag til hvordan jeg kan til eksempel få 2-3 spørsmål i bredden og 4-5 loddrett? 

 

Takk

Lenke til kommentar

Det er dette som er skildra i avsnitt 4 av bruksanvisninga til flashcards-klassen. Der finn du eit døme:
 

\newcommand{\cardpaper}{a4paper}
\newcommand{\cardpapermode}{portrait}
\newcommand{\cardrows}{5}
\newcommand{\cardcolumns}{2}
\setlength{\cardheight}{2.0in}
\setlength{\cardwidth}{3.5in}
\setlength{\topoffset}{0.50in}
\setlength{\oddoffset}{0.75in}
\setlength{\evenoffset}{0.75in}
 

Lagre dette i ei fil med filendinga .cfg, t.d. flashy.cfg. So bruker du
 

\documentclass[frame,flashy]{flashcards}

Som du sikkert forstår vil du få to kolonner og fem rader per side.

 

Elles kan kanskje Anki vere av interesse:
https://apps.ankiweb.net

Endret av Torbjørn T.
Lenke til kommentar
  • 3 måneder senere...
  • 5 uker senere...

En til :p siden dere ikke er overarbeidet. Om man f.eks. skriver en lang linje i mathmode vil teksten først bli smalnet inn for å passe formatet, før den eser ut i høyre og venstre marg. Er det mulig å disable dette? Tanken er at jeg heller skal få en badbox e.l. som forteller meg at linjen er for lang. Slik det er nå er det kun når jeg virkelig har gått over streken jeg får melding om det, så jeg må uansett lete etter steder i dokumentet hvor det ser ut som programmet har begynt å spise av tomrom mellom bokstavene o.l.

Lenke til kommentar

En til :p siden dere ikke er overarbeidet. Om man f.eks. skriver en lang linje i mathmode vil teksten først bli smalnet inn for å passe formatet, før den eser ut i høyre og venstre marg. Er det mulig å disable dette? Tanken er at jeg heller skal få en badbox e.l. som forteller meg at linjen er for lang. Slik det er nå er det kun når jeg virkelig har gått over streken jeg får melding om det, så jeg må uansett lete etter steder i dokumentet hvor det ser ut som programmet har begynt å spise av tomrom mellom bokstavene o.l.

(Venstre marg går den vel aldri ut i ...)

 

Ikkje akkurat eit område eg kan mykje om, so det er heilt sikkert ting her som burde kommenterast, men som eg ikkje kjenner til. Når det er sagt:

 

Jamfør https://tex.stackexchange.com/questions/23921/how-to-shorten-shrink-spaces-between-words er det mogeleg å bestemme kor mykje mellomrommet mellom ord kan (potensielt) krympast med. Med andre ord kan du setje den til null (eller ein annan verdi som høver for deg) med \fontdimen4\font=0pt. Mellomromma kan framleis strekkast, men då ikkje krympast (om eg forstår dette rett).

 

 

Kjapt døme:

 

\documentclass{article}
\usepackage{showframe}
\newcommand\foo{Lorem ipsum dolor sit ameti consecteturiii foo bar baz b $1234567uo123456789$}
\begin{document}
\foo
Standard: \the\fontdimen4\font{}  ---
\fontdimen4\font=0pt
Ny verdi: \the\fontdimen4\font
\foo
\end{document}
Lenke til kommentar

Den gjør ikke noe her, jeg tipper det er fordi den gjelder i text mode. Det er math mode jeg sliter med. Tipper jeg har løst det tilsvarende problemet i text mode fordi jeg kjører /raggedright, så den vil uansett ikke endre noe space for at ordene skal fylle linjen.

Dette er det jeg ønsker å gjøre noe med:

post-101601-0-33130400-1506077190_thumb.png

Ideelt sett skulle den øverste linjen startet med samme innrykk som den nederste, mens krympingen mellom punktene (synlig rundt gangetegnet) skulle vært fjernet. Det gjør det LANGT enklere for meg å se når jeg må inn og endre til align-environment, e.l. Per nå må jeg omtrent inn med en linjal for å se om enkelte linjer er krympet eller starter to punker til venstre. Merk: jeg får ingen \hbox-error i dette tilfellet, den er ikke graverende nok til at programmet sier fra.

Endret av knopflerbruce
Lenke til kommentar

Den gjør ikke noe her, jeg tipper det er fordi den gjelder i text mode. Det er math mode jeg sliter med. Tipper jeg har løst det tilsvarende problemet i text mode fordi jeg kjører /raggedright, så den vil uansett ikke endre noe space for at ordene skal fylle linjen.

Ok, eg misforstod deg tydelegvis. Trur https://tex.stackexchange.com/questions/55512/how-to-change-default-for-spacing-around-binary-relations er ein liknande link for matematikk.

 

Dette er det jeg ønsker å gjøre noe med:

 

attachicon.gifno_hbox.PNG

 

Ideelt sett skulle den øverste linjen startet med samme innrykk som den nederste, mens krympingen mellom punktene (synlig rundt gangetegnet) skulle vært fjernet. Det gjør det LANGT enklere for meg å se når jeg må inn og endre til align-environment, e.l. Per nå må jeg omtrent inn med en linjal for å se om enkelte linjer er krympet eller starter to punker til venstre. Merk: jeg får ingen \hbox-error i dette tilfellet, den er ikke graverende nok til at programmet sier fra.

Det er for meg noko uklart kva du faktisk har gjort, kan du vise LaTeX-koden i staden? (Helst som eit komplett døme, liknnande det eg posta over.)

 

Sidan du snakker om innrykk, får eg inntrykk av at den andre linja og er $ ... $, men at det er eit avsnittsskilje før den. Med andre ord, at du har noko tilsvarande

 

bla bla $u = 2000 ...$

$v = ..$
Med ein slik konstruksjon, og gitt at avsnitt er vist med innrykk, er det jo klart at den andre linja har innrykk. Men som sagt, det er ikkje akkurat openbart akkurat kva du har gjort, so dette er berre spekulasjonar. (Med eit skikkeleg kode-døme ville ikkje spekulasjonar vore nødvendig.)

 

Overfulle \hbox-advarslar (det er ikkje feilmeldingar), får du berre om det ikkje er mogeleg å justere innhaldet på linja slik at den held seg innanfor margane, heile poenget med å ha fleksible mellomrom er vel å gje slingringsmonn, slik at justeringar kan gjerast utan å havne i margen for det minste problem.

 

Når det er sagt, so ville eg truleg ikkje tenkt meir på akkurat det dømet der, men brukt align*/alignat* uansett.

Endret av Torbjørn T.
Lenke til kommentar

Det er de justeringene jeg gjerne vil ha bort, da jeg heller slenger inn et environment og bruker en ekstra linje fremfor at spacingen rundt gangetegn o.l. varierer i løpet av teksten for at LaTeX skal spare plass.

 

Det funket til en viss grad å sette alle muskip'ene til 5mu, korrigere, og så slette disse muskip-kommandoene igjen - men jeg sitter med en følelse av at jeg nok har slengt inn et og annet environment der det egentlig ikke var nødvendig (da jeg jo har utvidet mellomrommet rundt endel tegn).

Mulig jeg tar feil, men slik jeg forstår dette så er det noen defaults for hvilke muskip-varianter som skal rundt hvilke tegn i mathmode. Om det er plassproblemer justeres disse, slik at der det f.eks. er en thickmuskip i utgangspunktet, kan bli en medmuskip istedet, om det er plassproblemer (og til sist thinmuskip, eventuelt at den gir hbox-melding om selv ikke det er nok og resultatet da er at den havnet ute i margen). Det er da dette jeg vil ha bort, jeg vil tvinge alt av math mode ut i margen så jeg får hbox-melding, og kan gå opp og redigere fremfor at latex endrer spacingen. Defaultene er i seg selv helt OK.

Når det gjelder det eksempelet jeg postet kan du lage tilsvarende selv: bare skriv \[1+2+3+4+5+6+7+\] ogsåvidere inntil du havner ute i margen, og \[1+2+3+4+5\] på linjen under (så er du godt innenfor grensene). Da ser du også at LaTeX har spart plass på akkurat en linje. Det eksempelet jeg postet har jeg alt redigert, så om du MÅ ha programkode får du få en ekvivalent :p

Endret av knopflerbruce
Lenke til kommentar

Mulig jeg tar feil, men slik jeg forstår dette så er det noen defaults for hvilke muskip-varianter som skal rundt hvilke tegn i mathmode. Om det er plassproblemer justeres disse, slik at der det f.eks. er en thickmuskip i utgangspunktet, kan bli en medmuskip istedet, om det er plassproblemer (og til sist thinmuskip, eventuelt at den gir hbox-melding om selv ikke det er nok og resultatet da er at den havnet ute i margen). Det er da dette jeg vil ha bort, jeg vil tvinge alt av math mode ut i margen så jeg får hbox-melding, og kan gå opp og redigere fremfor at latex endrer spacingen. Defaultene er i seg selv helt OK.

Du tek til dels feil. Prøv t.d. \the\medmuskip og du ser at standarddefinisjonen er 4mu plus 2mu minus 4mu. "plus"-delen seier kor mykje mellomrommet kan strekkast med, "minus"-delen kor mykje det kan krympast med. Med andre ord vil eit \medmuskip vere mellom 0mu og 6mu, og LaTeX vil strekke eller krympe for å gjere resultet betre (slik TeX måler det).

 

Når det gjelder det eksempelet jeg postet kan du lage tilsvarende selv: bare skriv \[1+2+3+4+5+6+7+\] ogsåvidere inntil du havner ute i margen, og \[1+2+3+4+5\] på linjen under (så er du godt innenfor grensene). Da ser du også at LaTeX har spart plass på akkurat en linje. Det eksempelet jeg postet har jeg alt redigert, så om du MÅ ha programkode får du få en ekvivalent :p

Var det du hadde gjort ja.

 

For det fyrste: I staden for to \[ .. \], bruk \begin{gather*} ... \\ ... \end{gather*}. For det andre: Midtstilling er jo standard, so sjølvsagt vil ei kortare linje ha lengre innrykk. Vil du at all display-matematikk starter heilt i venstre marg, legg til fleqn (flush left equations) i det alternative argumentet til dokumentklassen, og legg til \setlength{\mathindent}{0pt}.

Lenke til kommentar

Glemte å nevne at jeg kjører fleqn som standard fra før, altså må alt over sees med hensyn på dette. Skjønner du NÅ tanken? ;)

Eg skjønner at om du hadde posta eit skikkeleg eksempel som viste akkurat kva du har gjort, so hadde ikkje eg misforstått deg tre gonger på rad. (Orsak om eg høyrest ut som ein gretten gubbe, men det er faktisk eit poeng med å vise kode, og ikkje berre eit skjermskot.)

 

Men las du det eg skreiv om \mathindent? Standardverdien av den (i article-klassen iallfall) er 25pt minus 25pt, juster den som nemnt over.

Lenke til kommentar

 

Glemte å nevne at jeg kjører fleqn som standard fra før, altså må alt over sees med hensyn på dette. Skjønner du NÅ tanken? ;)

Eg skjønner at om du hadde posta eit skikkeleg eksempel som viste akkurat kva du har gjort, so hadde ikkje eg misforstått deg tre gonger på rad. (Orsak om eg høyrest ut som ein gretten gubbe, men det er faktisk eit poeng med å vise kode, og ikkje berre eit skjermskot.)

 

Men las du det eg skreiv om \mathindent? Standardverdien av den (i article-klassen iallfall) er 25pt minus 25pt, juster den som nemnt over.

 

 

Jeg satt satte mathindent til 20pt, og da virket det. Takk!

 

Jeg kunne postet koden, men jeg hadde 100% sikkert glemt å ta med preamble - derfor jeg følte det var unødvendig. Selve koden var egentlig banalt basic, og kunne vært hva som helst.

 

Edit: helt annen sak: jeg bruker polynompakken, og innimellom polynomdividerer jeg med brøker som en del av uttrykket. Disse havner da i textmode. Hvordan får jeg alt dette til å bli \displaystyle? Å bare bruke kommandoen rundt \polynom-kommandoen synes ikke å ha noen effekt.

Endret av knopflerbruce
Lenke til kommentar

Jeg kunne postet koden, men jeg hadde 100% sikkert glemt å ta med preamble - derfor jeg følte det var unødvendig. Selve koden var egentlig banalt basic, og kunne vært hva som helst.

Det kan jo hende eg er noko treig, og at alle andre forstod deg med ein gong, men det at det var so mange misforståingar peiker vel på at eit kodedøme ville vore ein god ting. Det er og ein god ting å venne seg til lage små, komplette døme for  å vise problem, anten det er ei feilmelding ein ikkje finn ut av, eller det er noko ein vil endre i resultatet. Eg reknar med at noko som dette er tilstrekkeleg i ditt tilfelle:

\documentclass[fleqn,twocolumn,12pt]{article}
\usepackage{amsmath}
\begin{document}
\[
u = 2000(1-0.2p)  \Longrightarrow u' = 2000\cdot (-0.2) = -400
\]
\[
v = e^{-0.2p}     \Longrightarrow v' = -0.2e^{-0.2p} 
\]
\end{document} 

Edit: helt annen sak: jeg bruker polynompakken, og innimellom polynomdividerer jeg med brøker som en del av uttrykket. Disse havner da i textmode. Hvordan får jeg alt dette til å bli \displaystyle? Å bare bruke kommandoen rundt \polynom-kommandoen synes ikke å ha noen effekt.

Det fungerer ikkje fordi \displaystyle er meint å brukast som $\displaystyle \frac{1}{2}\int f(x)\,dx$, altso ein må ha den inni mattemodusen. polynom har kvart element i $ .. $ trur eg. Resultet ser forøvrig temmeleg j#&lig ut, men:

 

 

\documentclass{article}
\usepackage{polynom}
\makeatletter
\def\pld@PrintLongDiv{%
    \ensuremath{\hbox{\vtop{\begingroup
          \offinterlineskip \tabskip=\z@
  \edef\pld@fakeline{\expandafter\pld@ConvertFake\pld@fakeline&\relax&}%
          \halign{\strut\pld@firsttrue\hfil$\displaystyle ##$%
                       &\pld@firsttrue\hfil$\displaystyle ##$%
                       &&\hfil$\displaystyle ##$\cr
                  \pld@fakeline\cr \noalign{\vskip-\normalbaselineskip}%
                  \pld@allines}%
          \endgroup}}}}
\makeatother
\begin{document}
\polylongdiv{x^4-\frac{1}{2}x^2}{x-1}
\end{document}
  • Liker 1
Lenke til kommentar
  • 1 måned senere...

Hei, 

 

hvordan går man egentlig frem for å starte et nytt paragraf? 

 

Eks. Koden til venstre og resultatet til høyre. 

 

G6kjPyx.jpg

 

Jeg har (tydeligvis) hatt en vonde vane til å skrive "\\" etter paragrafen for å starte ny linje, men da får jeg følgende beskjed i loggen:

bad box | Underfull \hbox (badness 10000) in paragraph 

Denne meldingen sees ikke som feil når jeg kompilerer, men sees i loggen. Etter litt googling ser jeg flere skriver at man skal unngå å avslutte paragrafer ved hjelp av \\, newline etc. Hva blir så riktig fremgangsmåte? 

 

Takk 

 

Edit. 

 

Satt inn følgende:

\setlength\parskip{\baselineskip}

og nå ordnet det seg. Lærer stadig noe nytt! :-) 

Endret av Woods
Lenke til kommentar

Hei, 

 

hvordan går man egentlig frem for å starte et nytt paragraf? 

 

Ser du er på sporet, men likevel: Ei tom linje i koden starter eit nytt avsnitt, det vil seie:

Dette er fyrste avsnitt.

Dette er andre avsnitt.

Dobbel backslash avslutter linja, men starter ikkje nytt avsnitt. Som du har innsett skal ein aldri bruke \\ til slutt i avsnittet, resultatet er advarslar som den du nemner. 

 

Men du må skilje mellom korleis du angir eit avsnitt i koden, og korleis det vert vist i PDFen. Standard her er å starte ei ny linje med innrykk for fyrste linje i det nye avsnittet. Vil ein i staden for innrykk ha ekstra tomrom mellom linjene, er den vanlege metoden (i standard-dokumentklassane) å leggje til

\usepackage{parskip}

Dette er betre enn å manuelt setje \parskip, då denne pakken tek omsyn til nokre tilfelle der du ikkje vil auke \parskip (i samband med lister og innhaldslister).

 

Merk at KOMA-klassane (scrartcl, scrreprt, scrbook) og memoir har sine eigne innebygde metodar for å endre parskip, so om du bruker ein av dei er ikkje parskip-pakken fyrstevalg.

  • Liker 1
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...