Footnotes in multi-column sections
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 542 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/61565 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 2023191 / 542
2
5
10
14
15
16
22
24
27
29
31
36
43
48
56
63
74
78
83
87
89
95
96
99
104
106
107
117
119
121
122
125
126
128
130
132
134
135
136
141
143
146
148
152
155
157
159
161
165
166
168
170
173
176
180
181
185
191
194
196
197
198
199
206
207
209
210
211
212
216
219
220
227
228
229
231
232
233
236
250
252
256
258
260
263
264
267
271
273
275
276
278
282
286
292
293
298
299
300
302
312
316
321
322
324
339
341
342
343
344
351
352
354
355
356
357
359
369
370
372
373
376
378
379
380
382
383
387
390
394
395
401
405
406
410
411
413
415
416
421
426
430
437
438
440
441
443
444
445
446
448
449
450
451
458
464
468
472
475
476
479
481
493
494
498
499
502
509
513
516
517
520
522
524
525
531
534
535
537
538
541
00:00
MultiplicationPhysical systemSheaf (mathematics)Line (geometry)Continuous functionWeb pageCalculationFrame problemGraphical user interfaceMoment (mathematics)Video GenieRandom numberWage labourCodeWordFunctional (mathematics)Electronic mailing listElectronic visual displaySoftware testingSheaf (mathematics)Frame problemCASE <Informatik>Condition numberWeb pageCalculationWordNumberSoftware engineeringControl flowAnalytic continuationLine (geometry)Software bugDiagramComputer animationLecture/Conference
08:56
Program flowchart
Transcript: English(auto-generated)
00:12
Hello, I am Mattil Asic. I am a software engineer at Kolobora. I just recently joined them.
00:22
This is my first conference and I am not very good in English, so forgive me if I say something wrong. I will speak about the footnotes in multi-column sections. I worked on this in last year, a year ago. I thought it can be an interesting problem.
00:50
Oh, I have to go back. Ok, so I got a bug ticket to fix and it was a very simple ticket at first sight.
01:03
It was only just one line text and the writer displayed it as two pages and while the word was displayed as just one page. Besides the one line text, there was a footnote and its section has two columns and there was a continuous section break.
01:24
First I thought it's just a problem about the section break, some might change to a page break or something like that. But that was an instinct. It was a strange thing why the footnote and the column was needed.
01:44
If I deleted any of them, then the writer changed to one page and it was ok, but it was changed why it is needed. So I started to debug to find where it's become to page and I found the problem in the layouting calculation.
02:08
And there was even a comment about it stating that the footnote container causes to maximize size.
02:21
In this case, this function to maximize function will calculate if we have to maximize the column frame, the whole section frame, to the whole page.
02:41
And it has several conditions, like is footnote at end and is end note at end. There are checkboxes on the GUI named collect at end of text and collect at end of section for end notes.
03:04
They were false in this case. Oh, the hasfollow isn't matter now, it was false in this case too. But there was another function that contains footnote container. I check this function and this function just blindly check if the section have a column frame tried that has a footnote container frame tried.
03:36
And if it has one, then it returned the first one it found. So now it seems the function was directly write it like this way.
03:48
So the question was why do we want to break a page in this case. I even checked the git who changed it or something like that.
04:03
But it was in the very first commit I could reach in the initial import at 2000 year. And nobody changed it. And I was even wonder why this many condition is needed.
04:21
Not just the first one I found, but the not collect at end is still needed for it. For this I had to analyze the frames how they work. So I listed the frames related to footnote in some case.
04:44
The footnote frame is for one footnote entity. It can contain a text frame. And this can be in a footnote container frame. And that frame contains a list of footnotes.
05:06
It's important it's not a two dimensional list. It's just a simple list that it can display. And this footnote container frame can be in a page frame or a column frame.
05:25
So what is important in it that the footnote container frame does not really support columns. It's just I could say just one column of footnotes and that's all. But we can put this container frame in any of the column frame we want.
05:46
So if we put this container frames in every column frame. Then it will seems like if we support... Oh, sorry. It's like we support multi-columns.
06:06
So in one case, we want footnotes like multi-columns as like it in the word. In the other case, we want... If we don't check the collected text, we want the footnote to be at the page end.
06:23
In the other case, we want the footnote to be in the columns end. In physical, as we say in the display. And it can be true only if the column end is equal to the page end. So that's why they maximize the size of the column to the page size.
06:42
In our case, it's not a good idea because in my test case, there was only one footnote and it doesn't need to be multi-columned. But if we wouldn't do this, what I showed in the previous slide,
07:11
there could be a contradiction. Like I made a test document. There is two sections. I checked the collected end of text, which means I want the footnote to be after the section end.
07:29
There is two columns at the first section and three columns at the second section. It's very good in this way. But if we would change the collected end of text, we would uncheck this.
07:44
I mean, we want all of these footnotes at the end of the page. Then how many columns do we want? How many columns do we want? It's a contradiction. We can't say that two or three because any of them could be wrong.
08:07
So what we should need, we should be able to have column children for the container frame because it's not should be, it must be, it just should be like words able to have
08:30
indifferent number of columns at page as many as in the text. So we should have the ability for the users to choose how many columns we want in the footnotes.
08:47
But we should keep the ability to... That's all? Okay. Sorry. It's almost end.