10:21 PM
@AbstractDissonance @AbstractDissonance I have answered that in each of your question, I'm not how else I can say it. Page breaking is undertaken by the output routine which happens asynchronously with building up the main vertical list. In this case tex does a least cost optimisation on a whole paragraph to break the paragraph into lines, so until line 74 almost the end of the document everything is being build as one horizontal list.
11:18 PM
@DavidCarlisle I did not know it did it asynchronously, You never mention that or I did not read it. Obviously that makes a big different ;) It sucks for me in that it means I cannot do what I want easily and maybe impossible without modifying the engine itself ;/ I do not know why such simple things are so hard. There is a correspondence between where the source code is located and what it generates in the pdf. I am not looking for perfection but a way to cache
To automate the caching, rather than litter the source with caching macros, one must have some way to partition the code up in to chunks to test for modifications(since if one chances any character in the doc the whole doc changes but that doesn't mean that the whole doc has to be changed). But this requires certain capabilities that either tex/lualatex does not contain or no one knows how to do it.
2 days ago, by egreg
@AbstractDissonance You're forgetting that TeX breaks pages asynchronously with paragraphs. A page break mostly happens when a paragraph has already entirely built in memory, so when the output routine is called,
\inputlineno
has already been set to the line number where the paragraph ended. Other programming languages don't typeset paragraphs and pages, so you're comparing apples and oranges.
@AbstractDissonance You really are mistaken about the correspondence, there is no reason why you can take part of the output of a program and associate it with a part of the input. Every page of the output potentially (and in the examples I posted with a single paragraph, actually) depends on the entire input document.
11:43 PM
@DavidCarlisle I'm not sure if that would work. One can't completely unregister the code or it won't pick up anything after the macro is done doing it's business, must re-register or renable processing at some point some how, not sure if that is easily doable or not since one doesn't know what the macro has done. — AbstractDissonance 19 mins ago
@DavidCarlisle We are going to just have to disagree. We are having a miscommunication on how we interpret things and we will never solve any problems as long as that is going on. My language has nothing/very little to do with TeX and you are using TeX to interpret how to understand the problem. I have proof that what I am doing works. The fact is that you really are not logically consistent. I also realize that you know more about TeX than me,
But I really think you are not allowing yourself to understand the problem as it is, which is a general problem and not dependent on tex(the solution may not be possible in side tex, but you do not present it like that... aka, your omlet example).
PROOF: I took your one paragraph example, the one you claim is a counter example to what I am saying... I compiled it, opened the pdf, double clicked on some random line and it takes me NOT to the first line but exactly to the line I clicked on. Hence if synctex can do it, it means that my logic is correct and you are not being logically consistent. So you need state things more accurate instead of making generalization that are provably wrong because that just makes things confusing
And we can never solve any problems as long as stuff like that happens. If you are claiming that TeX itself has no capabilities that allows it solve the problem I have describe, then that is one issue and I cannot necessarily argue with that because I am not a TeX expert, hence the reason I asked the question in the first place. BUT when you claim that the question itself is an impossibility then it tells me you do not know what you are talking about.
As a person that deals with TeX every day, you may be making assumptions that I am not making, but it is not my burden to find those assumptions and use them to be correct, it is yours, since you are the "expert". It is enough to say "TeX does not have any capabilities to do this because of it's design. Page generation is asynchronous to source line processing and TeX does not break blocks in to boundaries in any consistent way."
« first day (1 day earlier) next day → last day (15 days later) »
Transcript for
Feb8
Feb '1710
Feb11
Discussion on answer by David Carlisl…
Imported from a comment discussion on tex.stackexchange.com/qu...