Graphics, Figures & Tables[Help needed] Text exceeds langtable boundaries

Information and discussion about graphics, figures & tables in LaTeX documents.
Post Reply
busken
Posts: 2
Joined: Fri May 03, 2019 1:42 pm

[Help needed] Text exceeds langtable boundaries

Post by busken »

Hello,
As part of my education I've been in an internship in the last couple of months, where I had to write a paper which includes a diary. I want to put the diary in a table, and quickly found out that a longtable was needed, as the table is of multiple pages. My problem is that, as the title implies, that the text exceeds the boundaries of the longtable. I'm looking for a package or something in the likes to fix my problem. I've been looking for a while, but can't seem to figure out a solution on my own. I'll supply the code and a picture below

Picture of PDF:
https://ibb.co/dQhxmDV

Code:

Code: Select all

Code, edit and compile here:
\begin{longtable}{| p{.10\textwidth} | p{.90\textwidth} |}
%\centering
%\resizebox{\textwidth}{!}{%
%\begin{tabular}{ll}
\hline
\textbf{Dato} & \textbf{Bemærkning} \\ \hline
1/2-2019 & \begin{tabular}[c]{@{}l@{}}Første dag i praktik. Jeg er blevet introduceret til min praktikvejleder. Vi holdt\\ et møde, der omhandlede de opgaver, de forestillede sig at jeg skulle hjælpe med,\\ og hvordan situationen med produktet (level sensor) så ud lige nu. I første omgang\\ skal der bruges et nyt kommunikationsmodul til sensorapparatet. Der ønskes et\\ alternativ til det nuværende 3G, da 3G er på vej til at lukke i Norge, hvor man\\ gerne vil ind på markedet. Jeg har undersøgt alternative kommunikationsmoduler,\\ ud fra kravet om, at de skal være så strømbesparende som muligt.\end{tabular} \\ \hline
4/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat søgt efter kommunikationsmoduler. Der\\ er blevet bestilt hhv: en SARA-N2, en SARA-N4 og en LARA-R2. Disse skal\\ undersøges for, hvilken der virker bedst til det kommende produkt. Derudover\\ ønsker virksomheden af få erfaring med at bruge NB-IoT, hvilket der derfor også\\ skal eksperimenteres med. Efter bestilling af moduler har jeg samlet de kendte værdier\\ fra databladene, og lavet et Excel-ark. Dette skal bruges til at teste\\ forskellige Use Cases, når modulerne ankommer. \\ Derudover har jeg i dag læst op på forskellige modes,\\ som skal bruges for at modulet er så strømbesparende som muligt (LTE eDRX \&\\ LTE PSM).\end{tabular} \\ \hline
5/2-2019 & \begin{tabular}[c]{@{}l@{}}For at færdiggøre Use Case regnearket, har jeg brug for at\\ måle strømme på modulerne. Derfor kan jeg ikke komme længere, før disse\\ ankommer. Der er et ønske om at benytte Python til opsætning af\\ det kommende kommunikationsmodul. Derfor har jeg brugt dagen på at sætte mig\\ ind i Python og skrive små programmer for øvelses skyld\end{tabular} \\ \hline
6/2-2019 & \begin{tabular}[c]{@{}l@{}}Dagen er desværre mest gået med IT problemstillinger. Da der kom styr på disse har\\ jeg opsat Git, hentet koden til de tidligere modeller ned, og er kommet i gang\\ med at gennemgå denne. Dette er gjort med henblik på at være bedst muligt\\ forberedt, når de nye moduler kommer hjem. Der er rigeligt med kode der kan\\ gennemlæses, så det er min plan indtil modulet kommer hjem.\end{tabular} \\ \hline
7/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat lavet code review. Modulerne med tilhørende evalueringsboards\\ kom hjem lige omkring middag. Jeg har brugt dagen på at bokse med IT i\\ forbindelse med at skulle installerer hjælpeprogrammer til evalueringsboardet,\\ og på at prøve at kommunikere med modulet. \\ Det lykkedes sidst på dagen at kommunikere via UART med modulet. Næste\\ udfordring er at oprette et ”dial-up modem” på computeren, som virker med\\ modulet.\end{tabular} \\ \hline
8/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat kæmpet med dial-up modemmet. Det skulle egentlig blot bruges\\ til at bekræfte, at der kunne opnås internetforbindelse via SIM kortet på\\ modulet. Det viste sig at jeg ikke blot kunne oprette et modem fra min PC,\\ sandsynligvis grundet IT sikkerheden på stedet. Jeg blev bedt om at prøve at få\\ internetforbindelse via AT-kommandoer (igennem programmet m-center, der følger\\ med evaluering kittet). Dette lykkedes én gang, hvorefter forbindelsen hurtigt\\ blev tabt. Det lykkedes mig ikke at få den oprettet igen\end{tabular} \\ \hline
11/2-2019 & \begin{tabular}[c]{@{}l@{}}Formiddagen gik med fortsat at forsøge at oprette en forbindelse via AT-kommandoer.\\ Jeg tog kontakt til udbyderen af SIM kortet, der\\ forklarede mig følgende: Første gang der blev oprettet forbindelse til\\ netværket, blev enheden registreret herpå. Enheden bruger M1 båndet, hvilket\\ (åbenbart) er anderledes fra de frekvensbånd, der bruges i Danmark. Derfor blev\\ jeg smidt af netværket hurtigt efter forbindelsen blev oprettet, og kunne siden\\ ikke genetablere forbindelsen, fordi netværket husker enheden, og ikke giver\\ den lov. Det betyder at internet-modul-projektet igen er på stand-by,\\ indtil det andet kit kommer (der operere på ”danske” frekvenser).\\ Jeg er derfor gået i gang med at undersøge, hvilken ny MCU der kan benyttes til\\ ultralydssensoren, ud fra nogle krav fra min praktikvejleder.\end{tabular} \\ \hline
12/2-2019 & \begin{tabular}[c]{@{}l@{}}Formiddagen er gået med fortsat at undersøge mulige MCU’er. Der blev truffet en beslutning,\\ og et par forskellige er bestilt hjem med tilhørende evalueringsboards. I dag\\ modtog vi evalueringsboard til 4g modulet (LARA-R211), så jeg har siden middag\\ forsøgt at få den til at oprette forbindelse til FTP serveren.\end{tabular} \\ \hline
13/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat arbejdet på at oprette forbindelse til\\ FTP serveren. Efter lang tids makkeri lykkedes det endelig at få forbindelse\\ –Der var åbenbart noget obligatorisk opsætning, jeg ikke havde fået\\ konfigureret, hvilket ledte til at jeg ikke kunne oprette forbindelse.\\ Resten af dagen gik med at prøve at lave et Python\\ script, der kan sende de nødvendige AT kommandoer, for at oprette forbindelsen,\\ så det kan gøres uden brug af u-blox software (m-center 2.0). Det har været\\ noget bøvl, fordi jeg ikke kunne få easy install (PIP) til at virke ift\\ installation af Python moduler. Jeg endte med at installere det nødvendige\\ modul (serial) manuelt.\end{tabular} \\ \hline
14/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg brugt hele dagen på at skrive et Python script til at logge modulet på\\ FTP serveren. Langsom start, eftersom jeg lige skulle i gang med Python, men\\ jeg blev næsten færdig.\end{tabular} \\ \hline
15/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag er det lykkedes at logge på FTP server, downloade fil og skrive den ud til en\\ .txt fil på computeren. Nu mangler jeg blot at få den til at skrive 128 bytes\\ af gangen, for at kunne simulere hvordan det vil fungere i det færdige produkt.\end{tabular} \\ \hline
18/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg løst problemet med at skrive 128 bytes af\\ gangen. Der opstod et andet problem, nemlig at jeg ud over filen også fik\\ indlæst en URC når modulet læser en intern fil. Denne URC skal selvfølgelig\\ ikke skrives videre, hvorfor den er blevet sorteret ud af strengen, inden denne\\ skrives videre. Jeg er nu gået i gang med at undersøge hvordan modulet\\ autonomt kommunikere med serveren, og prøve at sætte en dummy client op, så der\\ kan testes strømforbrug under forskellige use cases.\end{tabular} \\ \hline
19/2-2019 & \begin{tabular}[c]{@{}l@{}}… Der var lige et skridt mere, inden autonom kommunikation kan opnås. Jeg har i dag\\ sammenflettet min egen kode med noget af Peters (praktikvejleder), der laver\\ den pakke (besked), der skal sendes til serveren fra modulet. Jeg har\\ succesfuldt kommunikeret med serveren via et Python scribt, men er nu i gang\\ med at udvikle scriptet, så kommunikationen går igennem modulet, og ikke\\ computeren. Jeg har fået oprettet en UDP socket via AT kommandoer, men får en\\ error, når jeg prøver at sende en besked til serveren.\end{tabular} \\ \hline
20/2-2019 & \begin{tabular}[c]{@{}l@{}}Så kom der styr på den error. Python programmet er som sådan færdigt nu. Nu er planen\\ at jeg skal kommunikere: PC \textgreater UART på PCBA \textgreater LARA-R211 (internetmodulet). Der skal altså ikke være\\ direkte forbindelse mellem modulet og pc’en. I den forbindelse har jeg kigget\\ på schematics af evalueringsboarded, for at finde ud af hvordan jeg kunne skabe\\ forbindelse til modulets UART (RX og TX). Efter en tur i dokumentationen fandt\\ jeg de korrekte pins at forbinde til. Derefter kiggede jeg schematics af PCBA’et,\\ for at finde ud af, hvor jeg skulle forbinde UART’en til. I morgen tidlig skal\\ der loddes et par ledninger, hvorefter der kan blive testet kommunikation\\ mellem modulet og PCBA’et (nærmere den MCU der styre PCBA’et)\end{tabular} \\ \hline
21/2-2019 & \begin{tabular}[c]{@{}l@{}}Jeg havde nok undervurderet, hvor småt det der skulle loddes\\ var. Det tog i hvert fald længere end forventet. Om ikke andet er der nu skabt UART forbindelse mellem\\ MCU og modem, og forbindelse mellem PC og MCU. Nu skal der så ”hackes” i\\ kredsløbet, og lade kommunikationen fra MCUen gå hen til det nye modul, i\\ stedet for det, der er monteret på testprintet (som jo altså er et 3G modul).\\ Det krævede en smule planlægning og studering af schematics.\end{tabular} \\ \hline
22/2-2019 & \begin{tabular}[c]{@{}l@{}}Nu er alt hardware sat op som det skulle. Dagen er gået med at kigge den (omfattende)\\ kode, jeg er blevet givet, igennem, samt opsætning af programmer til at\\ monitorere kommunikationen.\end{tabular} \\ \hline
25/2-2019 & \begin{tabular}[c]{@{}l@{}}I dag er jeg blevet inviteret ud for at se de forskellige produktionsafdelinger, som\\ Poul Tarp A/S har i omegnen. Det var ikke synderlig relevant for min tekniske\\ opgave, men interessant og med til at give en forståelse af, hvad virksomheden\\ har af forskellige afdelinger – Og hvor omfattende de er. Da jeg kom tilbage\\ brugte jeg resten af dagen på at omskrive kode så den passer til det nye 4G\\ modul. Sidst på dagen er der blevet bokset med build errors, i forbindelse med\\ at bygge projektet første gang fra min egen arbejdscomputer.\end{tabular} \\ \hline
26/2-2019 & \begin{tabular}[c]{@{}l@{}}Dagen er desværre fortsat gået med at prøve at fikse build errors. Det er et\\ omfattende program, så der er nok at gennemgå for fejl. Jeg kan ikke regne ud,\\ hvad der giver disse build errors, men jeg har en mistanke om, at jeg måske\\ mangler at installere et library. Peter er ude af huset, så han har ikke kunne\\ hjælpe mig. I går fortalte han, at der var nogle opsætningsindstillinger, der\\ skulle sættes. Jeg har selv forsøgt at finde noget, men forgæves. Til gengæld\\ har jeg brugt lidt af dagen på at forberede møde med salgschefen omkring\\ virksomhedens struktur. Mødet skal finde sted først i næste uge\end{tabular} \\ \hline
27/2-2019 & \begin{tabular}[c]{@{}l@{}}Dagen gik med debugging af program. Der skulle ekskluderes nogle filer i projektet,\\ for at fjerne en del compile errors. Problemet er nu, at programmet ”hænger”,\\ når der forsøges at compile. Det viste sig at antivirussen på netværket\\ bremsede kompilationen. IT medarbejderen, der står for antivirussen er desværre\\ ude af huset i dag, hvilket umuliggjorde løsning af mit problem. Jeg brugte\\ derfor eftermiddagen på at skrive lidt på min praktikrapport.\end{tabular} \\ \hline
28/2-2019 & \begin{tabular}[c]{@{}l@{}}Så fik jeg IT til at undtage de relevante programmer fra antivirussen. Nu kan der\\ compiles! Jeg har desværre i dag måtte erkende, at jeg ikke kan overskue koden,\\ og er derfor gået i gang med at læse op på C++, for at have en idé om, hvordan\\ jeg mest effektivt kan rette og supplere i koden.\end{tabular} \\ \hline
1/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag er gået med at læse på C++, mere konkret om klasser, objekter, metoder og\\ nedarvning.\end{tabular} \\ \hline
4/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg prøvet at få gang i kommunikationen mellem CCS (Code Composer Studio)\\ og internetmodulet. Det har selvfølgelig ikke været lige ud af landevejen. Jeg\\ har brugt det meste af dagen på at skrive nogle test funktioner, som kunne\\ hjælpe mig med at debugge ift hvorfor jeg ikke får et svar retur, når jeg\\ sender en kommando. Det viste sig, at ”hardware flow control” blev benyttet.\\ Jeg kunne slå dette fra med en AT kommando, og nu er der hul igennem! Herfra\\ vil jeg gennemgå funktioner og metoder, som indeholder AT kommandoer, og rette\\ disse, så de rigtige kommandoer benyttet til dette nye modul.\end{tabular} \\ \hline
5/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat arbejdet med programmet til produktet. Det er lykkes at sende\\ en besked til serveren! Nu arbejdes der på at kunne læse en indkommende besked.\end{tabular} \\ \hline
6/3-2019 & \begin{tabular}[c]{@{}l@{}}Jeg har programmeret hele dagen. Der kan nu læses fra serveren, men beskeden bliver\\ ikke gemt rigtigt.\end{tabular} \\ \hline
8/3-2019 & \begin{tabular}[c]{@{}l@{}}Både i går og i dag er desværre også gået med at finde ud af, hvorfor beskeder fra\\ serveren ikke gemmes rigtigt. Frustrationen kan efterhånden mærkes. Om ikke\\ andet er jeg blevet meget klogere hver dag jeg har arbejdet med det, så mon ikke\\ jeg får problemet løst først i næste uge\end{tabular} \\ \hline
11/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fortsat debugget. Derudover har jeg sammen med en anden praktikant\\ holdt møde med marketingschefen om virksomhedens struktur. Dette møde er blevet\\ holdt for bedre at kunne beskrive virksomheden i praktikrapporten, og for\\ personligt bedre at forstå virksomhedsopbygningen.\end{tabular} \\ \hline
12/3-2019 & Fortsat debugging. Jeg knokler med en stringparser, der driller mig. \\ \hline
13/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag var dagen, hvor jeg succesfuld sendte en besked til serveren, fik et svar\\ retur, og kunne håndtere svaret korrekt! Fantastisk. Nu skal koden optimeres,\\ før jeg går videre til at teste softwareupdatering. Der bliver brugt for-loops\\ til at shifte i arrays, men jeg har nu gennemskuet hvordan jeg kan bruge de\\ eksisterende metoder i stringparseren, for ikke at ”spilde” en masse clock\\ cycles på at shifte i registrene. Dette skal implementeres, da det i sidste\\ ende sparer strøm, hvilket er essentielt for produktet.\end{tabular} \\ \hline
14/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg omstruktureret koden, så der\\ bliver brugt mere strømbesparende metoder (metoder der bruger færrest muligt\\ clock cycles). Jeg har omskrevet sendData funktionen, og er nu i gang med\\ readData, som driller lidt, grundet beskedens header og tail, som der skal ses\\ bort fra.\end{tabular} \\ \hline
15/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag er der blevet debugget efter den omfattende omskrivning i går. Der opstår fejl\\ ved modtagelse af svar fra serveren, alt op til da virker nu med effektive\\ (læs: ikke storforbrugende af clock-cycles) metoder og funktioner\end{tabular} \\ \hline
18/3-2019 & \begin{tabular}[c]{@{}l@{}}Jeg har i dag prøvet at finde en metode til at håndtere de tre URC’s jeg får\\ praktisk talt samtidig. Det er desværre ikke lykkedes helt, men jeg har en god\\ idé til, hvad der skal ske, for at de bliver håndteret korrekt.\end{tabular} \\ \hline
22/3-2019 & \begin{tabular}[c]{@{}l@{}}De sidste dage har fortsat stået på omskrivning og debugging. Det virker nu, så der kan\\ sendes og modtages beskeder til serveren. I næste uge skal der arbejdes på at\\ kunne hente og installere softwareopdateringer ned på modulet fra FTP serveren.\end{tabular} \\ \hline
25/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg forsøgt at indstille modulet til at ignorere indkommende opkald.\\ Derudover har jeg klargjort mit oplæg til midtvejsseminaret, som jeg regner med\\ kommer til at ligge på torsdag (28/3).\end{tabular} \\ \hline
26/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg startet på opgaven med at downloade SW opdateringer fra FTP serveren.\\ Formiddagen gik med at git pushe min kode samt at blive sat ind i den kode der\\ relaterer sig til SW opdatering. Eftermiddagen er gået med at ændre i koden og\\ at bestemme, hvilken tilgang der er bedst (altså hvilke AT-kommandoer, der\\ bruges)\end{tabular} \\ \hline
27/3-2019 & \begin{tabular}[c]{@{}l@{}}I dag har jeg fundet ud af, hvor koden skal tilpasses for at oprette forbindelse til\\ FTP serveren. Det er lykkedes (i Python), at downloade den korrekte SW\\ updatering, men der sker en fejl når jeg forsøger at skrive den over til en fil\\ på PC’en. Derudover har jeg gjort klar til midtvejsseminaret i morgen.\end{tabular} \\ \hline
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Thanks in advance.

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org

NEW: TikZ book now 40% off at Amazon.com for a short time.

Ijon Tichy
Posts: 640
Joined: Mon Dec 24, 2018 10:12 am

[Help needed] Text exceeds langtable boundaries

Post by Ijon Tichy »

Unfortunately you have not posted a Infominimal working example, but only a code snippet. To it is hard to reproduce the result of the image. However, there are several issues with you example:
  • LaTeX adds a column separation of \tabcolsep before and after each column. (In the inner {tabular} environments you've removed this before and after the column using @{} in the column declaration, but you must not do the same for the outer {longtable} as you are using vertical lines that are placed at this space). So [cmd]tabcolsep[/cmd]+0.10[cmd]textwidth[/cmd]+2[cmd]tabcolsep[/cmd]+0.90[cmd]textwidth[/cmd]+[cmd]tabcolsep[/cmd] a greater than \textwidth. Because of this, the {longtable} is wider than the text area.
  • Each cell of the right column of the {longtable} uses a {tabular} with the column declaration @{}c@{}. There is no automatic line break in c-columns. So the inner {tabular} environments exceed the outer {longtable} cell.
To avoid the first issue, you should reduce the width of the columns, e.g. use \begin{longtable}{|p{\dimexpr .1\textwidth-2\tabcolsep\relax}|p{\dimexpr .9\textwidth-2\tabcolsep\relax}|}. However I would recommend to use xltabular, make the left column a l-column and the right column a X-column.

To avoid the second issue, you could use [cmd]begin[/cmd][env]tabular[/env][c]{@{}p{\hsize}@{}} for the inner {tabular} environments. However I would recommend to remove the inner {tabular} environments and replace the column type of the X-columns by m.

Code: Select all

Code, edit and compile here:
\documentclass{article}
\usepackage[danish]{babel}
\usepackage{xltabular}% combination of longtable and tabularx
\usepackage{showframe}% To see the size of several elements like the text area.
\renewcommand*{\tabularxcolumn}[1]{m{#1}}% use vertical centered columns for X-columns
\begin{document}
\begin{xltabular}{\textwidth}{|l|X|}
\caption{Table caption}
\label{tab:my-table}\\
\hline
\textbf{Dato} & \textbf{Bemærkning} \\ \hline
\endfirsthead
\hline
\textbf{Dato} & \textbf{Bemærkning} \\ \hline
\endhead
\hline
\endfoot
1/2-2019 & Første dag i praktik. Jeg er blevet introduceret til min praktikvejleder. Vi holdt et møde, der omhandlede de opgaver, de forestillede sig at jeg skulle hjælpe med, og hvordan situationen med produktet (level sensor) så ud lige nu. I første omgang skal der bruges et nyt kommunikationsmodul til sensorapparatet. Der ønskes et alternativ til det nuværende 3G, da 3G er på vej til at lukke i Norge, hvor man gerne vil ind på markedet. Jeg har undersøgt alternative kommunikationsmoduler, ud fra kravet om, at de skal være så strømbesparende som muligt. \\ \hline
4/2-2019 & I dag har jeg fortsat søgt efter kommunikationsmoduler. Der er blevet bestilt hhv: en SARA-N2, en SARA-N4 og en LARA-R2. Disse skal undersøges for, hvilken der virker bedst til det kommende produkt. Derudover ønsker virksomheden af få erfaring med at bruge NB-IoT, hvilket der derfor også skal eksperimenteres med. Efter bestilling af moduler har jeg samlet de kendte værdier fra databladene, og lavet et Excel-ark. Dette skal bruges til at teste forskellige Use Cases, når modulerne ankommer. Derudover har jeg i dag læst op på forskellige modes, som skal bruges for at modulet er så strømbesparende som muligt (LTE eDRX \& LTE PSM). \\ \hline
5/2-2019 & For at færdiggøre Use Case regnearket, har jeg brug for at måle strømme på modulerne. Derfor kan jeg ikke komme længere, før disse ankommer. Der er et ønske om at benytte Python til opsætning af det kommende kommunikationsmodul. Derfor har jeg brugt dagen på at sætte mig ind i Python og skrive små programmer for øvelses skyld \\ \hline
6/2-2019 & Dagen er desværre mest gået med IT problemstillinger. Da der kom styr på disse har jeg opsat Git, hentet koden til de tidligere modeller ned, og er kommet i gang med at gennemgå denne. Dette er gjort med henblik på at være bedst muligt forberedt, når de nye moduler kommer hjem. Der er rigeligt med kode der kan gennemlæses, så det er min plan indtil modulet kommer hjem. \\ \hline
7/2-2019 & I dag har jeg fortsat lavet code review. Modulerne med tilhørende evalueringsboards kom hjem lige omkring middag. Jeg har brugt dagen på at bokse med IT i forbindelse med at skulle installerer hjælpeprogrammer til evalueringsboardet, og på at prøve at kommunikere med modulet. Det lykkedes sidst på dagen at kommunikere via UART med modulet. Næste udfordring er at oprette et ”dial-up modem” på computeren, som virker med modulet. \\ \hline
8/2-2019 & I dag har jeg fortsat kæmpet med dial-up modemmet. Det skulle egentlig blot bruges til at bekræfte, at der kunne opnås internetforbindelse via SIM kortet på modulet. Det viste sig at jeg ikke blot kunne oprette et modem fra min PC, sandsynligvis grundet IT sikkerheden på stedet. Jeg blev bedt om at prøve at få internetforbindelse via AT-kommandoer (igennem programmet m-center, der følger med evaluering kittet). Dette lykkedes én gang, hvorefter forbindelsen hurtigt blev tabt. Det lykkedes mig ikke at få den oprettet igen \\ \hline
11/2-2019 & Formiddagen gik med fortsat at forsøge at oprette en forbindelse via AT-kommandoer. Jeg tog kontakt til udbyderen af SIM kortet, der forklarede mig følgende: Første gang der blev oprettet forbindelse til netværket, blev enheden registreret herpå. Enheden bruger M1 båndet, hvilket (åbenbart) er anderledes fra de frekvensbånd, der bruges i Danmark. Derfor blev jeg smidt af netværket hurtigt efter forbindelsen blev oprettet, og kunne siden ikke genetablere forbindelsen, fordi netværket husker enheden, og ikke giver den lov. Det betyder at internet-modul-projektet igen er på stand-by, indtil det andet kit kommer (der operere på ”danske” frekvenser). Jeg er derfor gået i gang med at undersøge, hvilken ny MCU der kan benyttes til ultralydssensoren, ud fra nogle krav fra min praktikvejleder. \\ \hline
12/2-2019 & Formiddagen er gået med fortsat at undersøge mulige MCU’er. Der blev truffet en beslutning, og et par forskellige er bestilt hjem med tilhørende evalueringsboards. I dag modtog vi evalueringsboard til 4g modulet (LARA-R211), så jeg har siden middag forsøgt at få den til at oprette forbindelse til FTP serveren. \\ \hline
13/2-2019 & I dag har jeg fortsat arbejdet på at oprette forbindelse til FTP serveren. Efter lang tids makkeri lykkedes det endelig at få forbindelse –Der var åbenbart noget obligatorisk opsætning, jeg ikke havde fået konfigureret, hvilket ledte til at jeg ikke kunne oprette forbindelse. Resten af dagen gik med at prøve at lave et Python script, der kan sende de nødvendige AT kommandoer, for at oprette forbindelsen, så det kan gøres uden brug af u-blox software (m-center 2.0). Det har været noget bøvl, fordi jeg ikke kunne få easy install (PIP) til at virke ift installation af Python moduler. Jeg endte med at installere det nødvendige modul (serial) manuelt. \\ \hline
14/2-2019 & I dag har jeg brugt hele dagen på at skrive et Python script til at logge modulet på FTP serveren. Langsom start, eftersom jeg lige skulle i gang med Python, men jeg blev næsten færdig. \\ \hline
15/2-2019 & I dag er det lykkedes at logge på FTP server, downloade fil og skrive den ud til en .txt fil på computeren. Nu mangler jeg blot at få den til at skrive 128 bytes af gangen, for at kunne simulere hvordan det vil fungere i det færdige produkt. \\ \hline
18/2-2019 & I dag har jeg løst problemet med at skrive 128 bytes af gangen. Der opstod et andet problem, nemlig at jeg ud over filen også fik indlæst en URC når modulet læser en intern fil. Denne URC skal selvfølgelig ikke skrives videre, hvorfor den er blevet sorteret ud af strengen, inden denne skrives videre. Jeg er nu gået i gang med at undersøge hvordan modulet autonomt kommunikere med serveren, og prøve at sætte en dummy client op, så der kan testes strømforbrug under forskellige use cases. \\ \hline
19/2-2019 & … Der var lige et skridt mere, inden autonom kommunikation kan opnås. Jeg har i dag sammenflettet min egen kode med noget af Peters (praktikvejleder), der laver den pakke (besked), der skal sendes til serveren fra modulet. Jeg har succesfuldt kommunikeret med serveren via et Python scribt, men er nu i gang med at udvikle scriptet, så kommunikationen går igennem modulet, og ikke computeren. Jeg har fået oprettet en UDP socket via AT kommandoer, men får en error, når jeg prøver at sende en besked til serveren. \\ \hline
20/2-2019 & Så kom der styr på den error. Python programmet er som sådan færdigt nu. Nu er planen at jeg skal kommunikere: PC \textgreater UART på PCBA \textgreater LARA-R211 (internetmodulet). Der skal altså ikke være direkte forbindelse mellem modulet og pc’en. I den forbindelse har jeg kigget på schematics af evalueringsboarded, for at finde ud af hvordan jeg kunne skabe forbindelse til modulets UART (RX og TX). Efter en tur i dokumentationen fandt jeg de korrekte pins at forbinde til. Derefter kiggede jeg schematics af PCBA’et, for at finde ud af, hvor jeg skulle forbinde UART’en til. I morgen tidlig skal der loddes et par ledninger, hvorefter der kan blive testet kommunikation mellem modulet og PCBA’et (nærmere den MCU der styre PCBA’et) \\ \hline
21/2-2019 & Jeg havde nok undervurderet, hvor småt det der skulle loddes var. Det tog i hvert fald længere end forventet. Om ikke andet er der nu skabt UART forbindelse mellem MCU og modem, og forbindelse mellem PC og MCU. Nu skal der så ”hackes” i kredsløbet, og lade kommunikationen fra MCUen gå hen til det nye modul, i stedet for det, der er monteret på testprintet (som jo altså er et 3G modul). Det krævede en smule planlægning og studering af schematics. \\ \hline
22/2-2019 & Nu er alt hardware sat op som det skulle. Dagen er gået med at kigge den (omfattende) kode, jeg er blevet givet, igennem, samt opsætning af programmer til at monitorere kommunikationen. \\ \hline
25/2-2019 & I dag er jeg blevet inviteret ud for at se de forskellige produktionsafdelinger, som Poul Tarp A/S har i omegnen. Det var ikke synderlig relevant for min tekniske opgave, men interessant og med til at give en forståelse af, hvad virksomheden har af forskellige afdelinger – Og hvor omfattende de er. Da jeg kom tilbage brugte jeg resten af dagen på at omskrive kode så den passer til det nye 4G modul. Sidst på dagen er der blevet bokset med build errors, i forbindelse med at bygge projektet første gang fra min egen arbejdscomputer. \\ \hline
26/2-2019 & Dagen er desværre fortsat gået med at prøve at fikse build errors. Det er et omfattende program, så der er nok at gennemgå for fejl. Jeg kan ikke regne ud, hvad der giver disse build errors, men jeg har en mistanke om, at jeg måske mangler at installere et library. Peter er ude af huset, så han har ikke kunne hjælpe mig. I går fortalte han, at der var nogle opsætningsindstillinger, der skulle sættes. Jeg har selv forsøgt at finde noget, men forgæves. Til gengæld har jeg brugt lidt af dagen på at forberede møde med salgschefen omkring virksomhedens struktur. Mødet skal finde sted først i næste uge \\ \hline
27/2-2019 & Dagen gik med debugging af program. Der skulle ekskluderes nogle filer i projektet, for at fjerne en del compile errors. Problemet er nu, at programmet ”hænger”, når der forsøges at compile. Det viste sig at antivirussen på netværket bremsede kompilationen. IT medarbejderen, der står for antivirussen er desværre ude af huset i dag, hvilket umuliggjorde løsning af mit problem. Jeg brugte derfor eftermiddagen på at skrive lidt på min praktikrapport. \\ \hline
28/2-2019 & Så fik jeg IT til at undtage de relevante programmer fra antivirussen. Nu kan der compiles! Jeg har desværre i dag måtte erkende, at jeg ikke kan overskue koden, og er derfor gået i gang med at læse op på C++, for at have en idé om, hvordan jeg mest effektivt kan rette og supplere i koden. \\ \hline
1/3-2019 & I dag er gået med at læse på C++, mere konkret om klasser, objekter, metoder og nedarvning. \\ \hline
4/3-2019 & I dag har jeg prøvet at få gang i kommunikationen mellem CCS (Code Composer Studio) og internetmodulet. Det har selvfølgelig ikke været lige ud af landevejen. Jeg har brugt det meste af dagen på at skrive nogle test funktioner, som kunne hjælpe mig med at debugge ift hvorfor jeg ikke får et svar retur, når jeg sender en kommando. Det viste sig, at ”hardware flow control” blev benyttet. Jeg kunne slå dette fra med en AT kommando, og nu er der hul igennem! Herfra vil jeg gennemgå funktioner og metoder, som indeholder AT kommandoer, og rette disse, så de rigtige kommandoer benyttet til dette nye modul. \\ \hline
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
And please, next time try to make a real Infominimal working example.
Sorry, but I can no longer participate here as the administrator is trampling on my wishes on one of his other platforms. :cry:
busken
Posts: 2
Joined: Fri May 03, 2019 1:42 pm

[Help needed] Text exceeds langtable boundaries

Post by busken »

Ijon Tichy wrote:Unfortunately you have not posted a Infominimal working example, but only a code snippet. To it is hard to reproduce the result of the image. However, there are several issues with you example:
  • LaTeX adds a column separation of \tabcolsep before and after each column. (In the inner {tabular} environments you've removed this before and after the column using @{} in the column declaration, but you must not do the same for the outer {longtable} as you are using vertical lines that are placed at this space). So [cmd]tabcolsep[/cmd]+0.10[cmd]textwidth[/cmd]+2[cmd]tabcolsep[/cmd]+0.90[cmd]textwidth[/cmd]+[cmd]tabcolsep[/cmd] a greater than \textwidth. Because of this, the {longtable} is wider than the text area.
  • Each cell of the right column of the {longtable} uses a {tabular} with the column declaration @{}c@{}. There is no automatic line break in c-columns. So the inner {tabular} environments exceed the outer {longtable} cell.
To avoid the first issue, you should reduce the width of the columns, e.g. use \begin{longtable}{|p{\dimexpr .1\textwidth-2\tabcolsep\relax}|p{\dimexpr .9\textwidth-2\tabcolsep\relax}|}. However I would recommend to use xltabular, make the left column a l-column and the right column a X-column.

To avoid the second issue, you could use [cmd]begin[/cmd][env]tabular[/env][c]{@{}p{\hsize}@{}} for the inner {tabular} environments. However I would recommend to remove the inner {tabular} environments and replace the column type of the X-columns by m.

Code: Select all

Code, edit and compile here:
\documentclass{article}
\usepackage[danish]{babel}
\usepackage{xltabular}% combination of longtable and tabularx
\usepackage{showframe}% To see the size of several elements like the text area.
\renewcommand*{\tabularxcolumn}[1]{m{#1}}% use vertical centered columns for X-columns
\begin{document}
\begin{xltabular}{\textwidth}{|l|X|}
\caption{Table caption}
\label{tab:my-table}\\
\hline
\textbf{Dato} & \textbf{Bemærkning} \\ \hline
\endfirsthead
\hline
\textbf{Dato} & \textbf{Bemærkning} \\ \hline
\endhead
\hline
\endfoot
1/2-2019 & Første dag i praktik. Jeg er blevet introduceret til min praktikvejleder. Vi holdt et møde, der omhandlede de opgaver, de forestillede sig at jeg skulle hjælpe med, og hvordan situationen med produktet (level sensor) så ud lige nu. I første omgang skal der bruges et nyt kommunikationsmodul til sensorapparatet. Der ønskes et alternativ til det nuværende 3G, da 3G er på vej til at lukke i Norge, hvor man gerne vil ind på markedet. Jeg har undersøgt alternative kommunikationsmoduler, ud fra kravet om, at de skal være så strømbesparende som muligt. \\ \hline
4/2-2019 & I dag har jeg fortsat søgt efter kommunikationsmoduler. Der er blevet bestilt hhv: en SARA-N2, en SARA-N4 og en LARA-R2. Disse skal undersøges for, hvilken der virker bedst til det kommende produkt. Derudover ønsker virksomheden af få erfaring med at bruge NB-IoT, hvilket der derfor også skal eksperimenteres med. Efter bestilling af moduler har jeg samlet de kendte værdier fra databladene, og lavet et Excel-ark. Dette skal bruges til at teste forskellige Use Cases, når modulerne ankommer. Derudover har jeg i dag læst op på forskellige modes, som skal bruges for at modulet er så strømbesparende som muligt (LTE eDRX \& LTE PSM). \\ \hline
5/2-2019 & For at færdiggøre Use Case regnearket, har jeg brug for at måle strømme på modulerne. Derfor kan jeg ikke komme længere, før disse ankommer. Der er et ønske om at benytte Python til opsætning af det kommende kommunikationsmodul. Derfor har jeg brugt dagen på at sætte mig ind i Python og skrive små programmer for øvelses skyld \\ \hline
6/2-2019 & Dagen er desværre mest gået med IT problemstillinger. Da der kom styr på disse har jeg opsat Git, hentet koden til de tidligere modeller ned, og er kommet i gang med at gennemgå denne. Dette er gjort med henblik på at være bedst muligt forberedt, når de nye moduler kommer hjem. Der er rigeligt med kode der kan gennemlæses, så det er min plan indtil modulet kommer hjem. \\ \hline
7/2-2019 & I dag har jeg fortsat lavet code review. Modulerne med tilhørende evalueringsboards kom hjem lige omkring middag. Jeg har brugt dagen på at bokse med IT i forbindelse med at skulle installerer hjælpeprogrammer til evalueringsboardet, og på at prøve at kommunikere med modulet. Det lykkedes sidst på dagen at kommunikere via UART med modulet. Næste udfordring er at oprette et ”dial-up modem” på computeren, som virker med modulet. \\ \hline
8/2-2019 & I dag har jeg fortsat kæmpet med dial-up modemmet. Det skulle egentlig blot bruges til at bekræfte, at der kunne opnås internetforbindelse via SIM kortet på modulet. Det viste sig at jeg ikke blot kunne oprette et modem fra min PC, sandsynligvis grundet IT sikkerheden på stedet. Jeg blev bedt om at prøve at få internetforbindelse via AT-kommandoer (igennem programmet m-center, der følger med evaluering kittet). Dette lykkedes én gang, hvorefter forbindelsen hurtigt blev tabt. Det lykkedes mig ikke at få den oprettet igen \\ \hline
11/2-2019 & Formiddagen gik med fortsat at forsøge at oprette en forbindelse via AT-kommandoer. Jeg tog kontakt til udbyderen af SIM kortet, der forklarede mig følgende: Første gang der blev oprettet forbindelse til netværket, blev enheden registreret herpå. Enheden bruger M1 båndet, hvilket (åbenbart) er anderledes fra de frekvensbånd, der bruges i Danmark. Derfor blev jeg smidt af netværket hurtigt efter forbindelsen blev oprettet, og kunne siden ikke genetablere forbindelsen, fordi netværket husker enheden, og ikke giver den lov. Det betyder at internet-modul-projektet igen er på stand-by, indtil det andet kit kommer (der operere på ”danske” frekvenser). Jeg er derfor gået i gang med at undersøge, hvilken ny MCU der kan benyttes til ultralydssensoren, ud fra nogle krav fra min praktikvejleder. \\ \hline
12/2-2019 & Formiddagen er gået med fortsat at undersøge mulige MCU’er. Der blev truffet en beslutning, og et par forskellige er bestilt hjem med tilhørende evalueringsboards. I dag modtog vi evalueringsboard til 4g modulet (LARA-R211), så jeg har siden middag forsøgt at få den til at oprette forbindelse til FTP serveren. \\ \hline
13/2-2019 & I dag har jeg fortsat arbejdet på at oprette forbindelse til FTP serveren. Efter lang tids makkeri lykkedes det endelig at få forbindelse –Der var åbenbart noget obligatorisk opsætning, jeg ikke havde fået konfigureret, hvilket ledte til at jeg ikke kunne oprette forbindelse. Resten af dagen gik med at prøve at lave et Python script, der kan sende de nødvendige AT kommandoer, for at oprette forbindelsen, så det kan gøres uden brug af u-blox software (m-center 2.0). Det har været noget bøvl, fordi jeg ikke kunne få easy install (PIP) til at virke ift installation af Python moduler. Jeg endte med at installere det nødvendige modul (serial) manuelt. \\ \hline
14/2-2019 & I dag har jeg brugt hele dagen på at skrive et Python script til at logge modulet på FTP serveren. Langsom start, eftersom jeg lige skulle i gang med Python, men jeg blev næsten færdig. \\ \hline
15/2-2019 & I dag er det lykkedes at logge på FTP server, downloade fil og skrive den ud til en .txt fil på computeren. Nu mangler jeg blot at få den til at skrive 128 bytes af gangen, for at kunne simulere hvordan det vil fungere i det færdige produkt. \\ \hline
18/2-2019 & I dag har jeg løst problemet med at skrive 128 bytes af gangen. Der opstod et andet problem, nemlig at jeg ud over filen også fik indlæst en URC når modulet læser en intern fil. Denne URC skal selvfølgelig ikke skrives videre, hvorfor den er blevet sorteret ud af strengen, inden denne skrives videre. Jeg er nu gået i gang med at undersøge hvordan modulet autonomt kommunikere med serveren, og prøve at sætte en dummy client op, så der kan testes strømforbrug under forskellige use cases. \\ \hline
19/2-2019 & … Der var lige et skridt mere, inden autonom kommunikation kan opnås. Jeg har i dag sammenflettet min egen kode med noget af Peters (praktikvejleder), der laver den pakke (besked), der skal sendes til serveren fra modulet. Jeg har succesfuldt kommunikeret med serveren via et Python scribt, men er nu i gang med at udvikle scriptet, så kommunikationen går igennem modulet, og ikke computeren. Jeg har fået oprettet en UDP socket via AT kommandoer, men får en error, når jeg prøver at sende en besked til serveren. \\ \hline
20/2-2019 & Så kom der styr på den error. Python programmet er som sådan færdigt nu. Nu er planen at jeg skal kommunikere: PC \textgreater UART på PCBA \textgreater LARA-R211 (internetmodulet). Der skal altså ikke være direkte forbindelse mellem modulet og pc’en. I den forbindelse har jeg kigget på schematics af evalueringsboarded, for at finde ud af hvordan jeg kunne skabe forbindelse til modulets UART (RX og TX). Efter en tur i dokumentationen fandt jeg de korrekte pins at forbinde til. Derefter kiggede jeg schematics af PCBA’et, for at finde ud af, hvor jeg skulle forbinde UART’en til. I morgen tidlig skal der loddes et par ledninger, hvorefter der kan blive testet kommunikation mellem modulet og PCBA’et (nærmere den MCU der styre PCBA’et) \\ \hline
21/2-2019 & Jeg havde nok undervurderet, hvor småt det der skulle loddes var. Det tog i hvert fald længere end forventet. Om ikke andet er der nu skabt UART forbindelse mellem MCU og modem, og forbindelse mellem PC og MCU. Nu skal der så ”hackes” i kredsløbet, og lade kommunikationen fra MCUen gå hen til det nye modul, i stedet for det, der er monteret på testprintet (som jo altså er et 3G modul). Det krævede en smule planlægning og studering af schematics. \\ \hline
22/2-2019 & Nu er alt hardware sat op som det skulle. Dagen er gået med at kigge den (omfattende) kode, jeg er blevet givet, igennem, samt opsætning af programmer til at monitorere kommunikationen. \\ \hline
25/2-2019 & I dag er jeg blevet inviteret ud for at se de forskellige produktionsafdelinger, som Poul Tarp A/S har i omegnen. Det var ikke synderlig relevant for min tekniske opgave, men interessant og med til at give en forståelse af, hvad virksomheden har af forskellige afdelinger – Og hvor omfattende de er. Da jeg kom tilbage brugte jeg resten af dagen på at omskrive kode så den passer til det nye 4G modul. Sidst på dagen er der blevet bokset med build errors, i forbindelse med at bygge projektet første gang fra min egen arbejdscomputer. \\ \hline
26/2-2019 & Dagen er desværre fortsat gået med at prøve at fikse build errors. Det er et omfattende program, så der er nok at gennemgå for fejl. Jeg kan ikke regne ud, hvad der giver disse build errors, men jeg har en mistanke om, at jeg måske mangler at installere et library. Peter er ude af huset, så han har ikke kunne hjælpe mig. I går fortalte han, at der var nogle opsætningsindstillinger, der skulle sættes. Jeg har selv forsøgt at finde noget, men forgæves. Til gengæld har jeg brugt lidt af dagen på at forberede møde med salgschefen omkring virksomhedens struktur. Mødet skal finde sted først i næste uge \\ \hline
27/2-2019 & Dagen gik med debugging af program. Der skulle ekskluderes nogle filer i projektet, for at fjerne en del compile errors. Problemet er nu, at programmet ”hænger”, når der forsøges at compile. Det viste sig at antivirussen på netværket bremsede kompilationen. IT medarbejderen, der står for antivirussen er desværre ude af huset i dag, hvilket umuliggjorde løsning af mit problem. Jeg brugte derfor eftermiddagen på at skrive lidt på min praktikrapport. \\ \hline
28/2-2019 & Så fik jeg IT til at undtage de relevante programmer fra antivirussen. Nu kan der compiles! Jeg har desværre i dag måtte erkende, at jeg ikke kan overskue koden, og er derfor gået i gang med at læse op på C++, for at have en idé om, hvordan jeg mest effektivt kan rette og supplere i koden. \\ \hline
1/3-2019 & I dag er gået med at læse på C++, mere konkret om klasser, objekter, metoder og nedarvning. \\ \hline
4/3-2019 & I dag har jeg prøvet at få gang i kommunikationen mellem CCS (Code Composer Studio) og internetmodulet. Det har selvfølgelig ikke været lige ud af landevejen. Jeg har brugt det meste af dagen på at skrive nogle test funktioner, som kunne hjælpe mig med at debugge ift hvorfor jeg ikke får et svar retur, når jeg sender en kommando. Det viste sig, at ”hardware flow control” blev benyttet. Jeg kunne slå dette fra med en AT kommando, og nu er der hul igennem! Herfra vil jeg gennemgå funktioner og metoder, som indeholder AT kommandoer, og rette disse, så de rigtige kommandoer benyttet til dette nye modul. \\ \hline
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
And please, next time try to make a real Infominimal working example.
Thanks a lot! This really helped me. And yes, sorry. I will try to make a working example next time.
Post Reply